12022-06-10 9:40 Christos Zoulas <christos@zoulas.com> 2 3 * release 5.42 4 52022-05-31 14:50 Christos Zoulas <christos@zoulas.com> 6 7 * PR/348: add missing cases to prevent file from aborting on 8 random magic files. 9 102022-05-27 21:05 Christos Zoulas <christos@zoulas.com> 11 12 * PR/351: octalify filenames when not raw before printing. 13 142022-04-18 17:51 Christos Zoulas <christos@zoulas.com> 15 16 * fix regex cacheing bug (Dirk Mueller) 17 * merge file_regcomp and file_regerror() to simplify the code 18 and reduce memory requirements for storing regexes (Dirk Mueller) 19 202022-03-19 12:56 Christos Zoulas <christos@zoulas.com> 21 22 * cache regex (Dirk Mueller) 23 * detect filesystem full by flushing output (Dirk Mueller) 24 252021-11-19 12:36 Christos Zoulas <christos@zoulas.com> 26 27 * implement running decompressor programs using 28 posix_spawnp(2) instead of vfork(2) 29 302021-10-24 11:51 Christos Zoulas <christos@zoulas.com> 31 32 * Add support for msdos dates and times 33 342021-10-20 9:55 Christos Zoulas <christos@zoulas.com> 35 36 * use the system byte swapping functions if available (Werner Fink) 37 382021-10-18 11:57 Christos Zoulas <christos@zoulas.com> 39 40 * release 5.41 41 422021-09-23 03:51 Christos Zoulas <christos@zoulas.com> 43 44 * Avinash Sonawane: Fix tzname detection 45 462021-09-03 09:17 Christos Zoulas <christos@zoulas.com> 47 48 * Fix relationship tests with "search" magic, don't short circuit 49 logic 50 512021-07-13 01:06 Christos Zoulas <christos@zoulas.com> 52 53 * Fix memory leak in compile mode 54 552021-07-01 03:51 Christos Zoulas <christos@zoulas.com> 56 57 * PR/272: kiefermat: Only set returnval = 1 when we printed something 58 (in all cases print or !print). This simplifies the logic and fixes 59 the issue in the PR with -k and --mime-type there was no continuation 60 printed before the default case. 61 622021-06-30 13:07 Christos Zoulas <christos@zoulas.com> 63 64 * PR/270: Don't translate unprintable characters in %s magic formats 65 when -r 66 * PR/269: Avoid undefined behavior with clang (adding offset to NULL) 67 682021-05-09 18:38 Christos Zoulas <christos@zoulas.com> 69 70 * Add a new flag (f) that requires that the match is a full word, 71 not a partial word match. 72 * Add varint types (unused) 73 742021-04-19 17:17 Christos Zoulas <christos@zoulas.com> 75 76 * PR/256: mutableVoid: If the file is less than 3 bytes, use the file 77 length to determine type 78 * PR/259: aleksandr.v.novichkov: mime printing through indirect magic 79 is not taken into account, use match directly so that it does. 80 812021-04-04 17:02 Christos Zoulas <christos@zoulas.com> 82 83 * count the total bytes found not the total byte positions 84 in order to determine encoding (Anatol Belski) 85 862021-03-30 20:21 Christos Zoulas <christos@zoulas.com> 87 88 * release 5.40 89 902021-02-05 16:31 Christos Zoulas <christos@zoulas.com> 91 92 * PR/234: Add limit to the number of bytes to scan for encoding 93 * PR/230: Fix /T (trim flag) for regex 94 952021-02-01 12:31 Christos Zoulas <christos@zoulas.com> 96 * PR/77: Trim trailing separator. 97 982020-12-17 15:44 Christos Zoulas <christos@zoulas.com> 99 100 * PR/211: Convert system read errors from corrupt ELF 101 files into human readable error messages 102 1032020-12-08 16:24 Christos Zoulas <christos@zoulas.com> 104 105 * fix multithreaded decompression file descriptor issue 106 by using close-on-exec (Denys Vlasenko) 107 1082020-06-27 11:58 Christos Zoulas <christos@zoulas.com> 109 110 * Exclude surrogate pairs from utf-8 detection (Michael Liu) 111 1122020-06-25 12:53 Christos Zoulas <christos@zoulas.com> 113 114 * Include # to the list of ignored format chars (Werner Fink) 115 1162020-06-14 20:02 Christos Zoulas <christos@zoulas.com> 117 118 * release 5.39 119 1202020-06-07 20:00 Christos Zoulas <christos@zoulas.com> 121 122 * Remove unused subtype_mime (Steve Grubb) 123 * Remove unused check in okstat (Steve Grubb) 124 * Fix mime-type in elf binaries by making sure $x is set 125 * Fix indirect negative offsets broken by OFFNEGATIVE 126 * Fix GUID equality check 127 * PR/165: Handle empty array and strings in JSON 128 * PR/162: Add --exclude-quiet 129 1302020-06-06 15:33 Christos Zoulas <christos@zoulas.com> 131 132 * Fix memory leak in ascmagic (Steve Grubb) 133 1342020-06-04 00:21 Christos Zoulas <christos@zoulas.com> 135 136 * Fix string comparison length with ignore whitespace 137 1382020-05-31 00:11 Christos Zoulas <christos@zoulas.com> 139 140 * Fix mingwin 64 compilation 141 1422020-05-30 23:56 Christos Zoulas <christos@zoulas.com> 143 144 * PR/159: whitelist getpid needed for file_pipe2file() 145 1462020-05-09 18:57 Christos Zoulas <christos@zoulas.com> 147 148 * Indicate negative offsets with a flag OFFNEGATIVE 149 so that -0 works. 150 * Introduce "offset" magic type that can be used to 151 detect the file size, and bail on short files. 152 * document DER better in the magic man page. 153 1542020-03-11 21:53 Christos Zoulas <christos@zoulas.com> 155 156 * fix memory leaks (SonarQube) 157 1582020-03-08 21:33 Christos Zoulas <christos@zoulas.com> 159 160 * fix memory leaks (SonarQube) 161 * rewrite confusing loops (SonarQube) 162 * fix bogus test (SonarQube) 163 * pass a sized buffer to file_fmttime() (SonarQube) 164 165 * fix memory leaks (SonarQube) 166 1672020-02-20 15:50 Christos Zoulas <christos@zoulas.com> 168 169 * Don't allow * in printf formats, or the code itself (Christoph Biedl) 170 * Introduce a printf output size checker to avoid DoS attacks 171 1722020-02-17 17:22 Christos Zoulas <christos@zoulas.com> 173 174 * Avoid memory leak on error (oss-fuzz) 175 * Check length of string on DER before derefercing and add new types 176 * Add missing DER string (oss-fuzz) 177 1782020-02-16 20:45 Christos Zoulas <christos@zoulas.com> 179 180 * Add missing DER types, and debugging 181 1822020-02-13 13:10 Christos Zoulas <christos@zoulas.com> 183 184 * PR/140: Avoid abort with hand-crafted magic file (gockelhahn) 185 * PR/139 Avoid DoS in printf with hand-crafted magic file (gockelhahn) 186 * PR/138: Avoid crash with hand-crafted magic file (gockelhahn) 187 1882020-02-12 17:30 Christos Zoulas <christos@zoulas.com> 189 190 * PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine) 191 1922019-12-24 14:16 Christos Zoulas <christos@zoulas.com> 193 194 * add guid support 195 1962019-12-16 21:11 Christos Zoulas <christos@zoulas.com> 197 198 * release 5.38 199 2002019-12-15 22:13 Christos Zoulas <christos@zoulas.com> 201 Document changes since the previous release: 202 - Always accept -S (no sandbox) even if we don't support sandboxing 203 - More syscalls elided for sandboxiing 204 - For ELF dynamic means having an interpreter not just PT_DYNAMIC 205 - Check for large ELF session header offset 206 - When saving and restoring a locale, keep the locale name in our 207 own storage. 208 - Add a flag to disable CSV file detection. 209 - Don't pass NULL/0 to memset to appease sanitizers. 210 - Avoid spurious prints when looks for extensions or apple strings 211 in fsmagic. 212 - Add builtin decompressors for xz and and bzip. 213 - Add a limit for the number of CDF elements. 214 - More checks for overflow in CDF. 215 2162019-05-14 22:26 Christos Zoulas <christos@zoulas.com> 217 218 * release 5.37 219 2202019-05-09 22:27 Christos Zoulas <christos@zoulas.com> 221 222 * Make sure that continuation separators are printed 223 with -k within softmagic 224 2252019-05-06 22:27 Christos Zoulas <christos@zoulas.com> 226 227 * Change SIGPIPE saving and restoring during compression to use 228 sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko) 229 * Cache stat(2) calls more to reduce number of calls (Denys Vlasenko) 230 2312019-05-06 17:25 Christos Zoulas <christos@zoulas.com> 232 233 * PR/77: Handle --mime-type and -k correctly. 234 2352019-05-03 15:26 Christos Zoulas <christos@zoulas.com> 236 237 * Switch decompression code to use vfork() because 238 tools like rpmdiff and rpmbuild call libmagic 239 with large process footprints (Denys Vlasenko) 240 2412019-04-07 14:05 Christos Zoulas <christos@zoulas.com> 242 243 * PR/75: --enable-zlib, did not work. 244 2452019-02-27 11:54 Christos Zoulas <christos@zoulas.com> 246 247 * Improve regex efficiency (Michael Schroeder) by: 248 1. Prefixing regex searches with regular search 249 for keywords where possible 250 2. Using memmem(3) where available 251 2522019-02-20 10:16 Christos Zoulas <christos@zoulas.com> 253 254 * release 5.36 255 2562019-02-19 15:30 Christos Zoulas <christos@zoulas.com> 257 258 * Fix cast to use cast macros 259 * Add UCS-32 builtin detection (PR/61) reported by tmc 260 2612019-02-18 18:24 Christos Zoulas <christos@zoulas.com> 262 263 * Fix stack read (PR/62) and write (PR/64) stack overflows 264 reported by spinpx 265 2662018-10-18 19:32 Christos Zoulas <christos@zoulas.com> 267 268 * release 5.35 269 2702018-09-10 20:38 Christos Zoulas <christos@zoulas.com> 271 272 * Add FreeBSD ELF core file support (John Baldwin) 273 2742018-08-20 18:40 Christos Zoulas <christos@zoulas.com> 275 276 * PR/30: Allow all parameter values to be set (don't treat 0 specially) 277 * handle default annotations on the softmagic match instead at the 278 end. 279 2802018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 281 282 * PR/23: Recognize JSON files 283 2842018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 285 286 * PR/18: file --mime-encoding should not print mime-type 287 2882018-07-25 8:50 Christos Zoulas <christos@zoulas.com> 289 290 * release 5.34 291 2922018-06-22 16:38 Christos Zoulas <christos@zoulas.com> 293 294 * Add Quad indirect offsets 295 2962018-05-24 14:10 Christos Zoulas <christos@zoulas.com> 297 298 * Enable parsing of ELF dynamic sections to handle PIE better 299 3002018-04-15 14:52 Christos Zoulas <christos@zoulas.com> 301 302 * release 5.33 303 3042018-02-24 14:50 Christos Zoulas <christos@zoulas.com> 305 306 * extend the support for ${x?:} expansions for magic descriptions 307 3082018-02-21 16:25 Christos Zoulas <christos@zoulas.com> 309 310 * add support for ${x?:} in mime types to handle 311 pie binaries. 312 3132017-11-03 9:23 Christos Zoulas <christos@zoulas.com> 314 315 * add support for negative offsets (offsets from the end of file) 316 3172017-09-26 8:22 Christos Zoulas <christos@zoulas.com> 318 319 * close the file on error when writing magic (Steve Grubb) 320 3212017-09-24 12:02 Christos Zoulas <christos@zoulas.com> 322 323 * seccomp support (Paul Moore) 324 3252017-09-02 11:53 Christos Zoulas <christos@zoulas.com> 326 327 * release 5.32 328 3292017-08-28 16:37 Christos Zoulas <christos@zoulas.com> 330 331 * Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski) 332 3332017-08-27 03:55 Christos Zoulas <christos@zoulas.com> 334 335 * Fix always true condition (Thomas Jarosch) 336 3372017-05-24 17:30 Christos Zoulas <christos@zoulas.com> 338 339 * pickier parsing of numeric values in magic files. 340 3412017-05-23 17:55 Christos Zoulas <christos@zoulas.com> 342 343 * PR/615 add magic_getflags() 344 3452017-05-23 13:55 Christos Zoulas <christos@zoulas.com> 346 347 * release 5.31 348 3492017-03-17 20:32 Christos Zoulas <christos@zoulas.com> 350 351 * remove trailing spaces from magic files 352 * refactor is_tar 353 * better bounds checks for cdf 354 3552017-02-10 12:24 Christos Zoulas <christos@zoulas.com> 356 357 * release 5.30 358 3592017-02-07 23:27 Christos Zoulas <christos@zoulas.com> 360 361 * If we exceeded the offset in a search return no match 362 (Christoph Biedl) 363 * Be more lenient on corrupt CDF files (Christoph Biedl) 364 3652017-02-04 16:46 Christos Zoulas <christos@zoulas.com> 366 367 * pacify ubsan sign extension (oss-fuzz/524) 368 3692017-02-01 12:42 Christos Zoulas <christos@zoulas.com> 370 371 * off by one in cdf parsing (PR/593) 372 * report debugging sections in elf (PR/591) 373 3742016-11-06 10:52 Christos Zoulas <christos@zoulas.com> 375 376 * Allow @@@ in extensions 377 * Add missing overflow check in der magic (Jonas Wagner) 378 3792016-10-25 10:40 Christos Zoulas <christos@zoulas.com> 380 381 * release 5.29 382 3832016-10-24 11:20 Christos Zoulas <christos@zoulas.com> 384 385 * der getlength overflow (Jonas Wagner) 386 * multiple magic file load failure (Christoph Biedl) 387 3882016-10-17 11:26 Christos Zoulas <christos@zoulas.com> 389 390 * CDF parsing improvements (Guy Helmer) 391 3922016-07-20 7:26 Christos Zoulas <christos@zoulas.com> 393 394 * Add support for signed indirect offsets 395 3962016-07-18 7:41 Christos Zoulas <christos@zoulas.com> 397 398 * cat /dev/null | file - should print empty (Christoph Biedl) 399 4002016-07-05 15:20 Christos Zoulas <christos@zoulas.com> 401 402 * Bump string size from 64 to 96. 403 4042016-06-13 20:20 Christos Zoulas <christos@zoulas.com> 405 406 * PR/556: Fix separators on annotations. 407 4082016-06-13 19:40 Christos Zoulas <christos@zoulas.com> 409 410 * release 5.28 411 * fix leak on allocation failure 412 4132016-06-01 1:20 Christos Zoulas <christos@zoulas.com> 414 415 * PR/555: Avoid overflow for offset > nbytes 416 * PR/550: Segv on DER parsing: 417 - use the correct variable for length 418 - set offset to 0 on failure. 419 4202016-05-13 12:00 Christos Zoulas <christos@zoulas.com> 421 422 * release 5.27 423 4242016-04-18 9:35 Christos Zoulas <christos@zoulas.com> 425 426 * Errors comparing DER entries or computing offsets 427 are just indications of malformed non-DER files. 428 Don't print them. 429 * Offset comparison was off-by-one. 430 * Fix compression code (Werner Fink) 431 * Put new bytes constant in the right file (not the generated one) 432 4332016-04-16 18:34 Christos Zoulas <christos@zoulas.com> 434 435 * release 5.26 436 4372016-03-31 13:50 Christos Zoulas <christos@zoulas.com> 438 439 * make the number of bytes read from files configurable. 440 4412016-03-21 13:40 Christos Zoulas <christos@zoulas.com> 442 443 * Add bounds checks for DER code (discovered by Thomas Jarosch) 444 * Change indirect recursion limit to indirect use count and 445 bump from 15 to 50 to prevent abuse. 446 4472016-03-13 20:39 Christos Zoulas <christos@zoulas.com> 448 449 * Add -00 which prints filename\0description\0 450 4512016-03-01 13:28 Christos Zoulas <christos@zoulas.com> 452 453 * Fix ID3 indirect parsing 454 4552016-01-19 10:18 Christos Zoulas <christos@zoulas.com> 456 457 * add DER parsing capability 458 4592015-11-13 10:35 Christos Zoulas <christos@zoulas.com> 460 461 * provide dprintf(3) for the OS's that don't have it. 462 4632015-11-11 16:25 Christos Zoulas <christos@zoulas.com> 464 465 * redo the compression code report decompression errors 466 4672015-11-10 23:25 Christos Zoulas <christos@zoulas.com> 468 469 * REG_STARTEND code is not working as expected, delete it. 470 4712015-11-09 16:05 Christos Zoulas <christos@zoulas.com> 472 473 * Add zlib support if we have it. 474 4752015-11-05 11:22 Christos Zoulas <christos@zoulas.com> 476 477 * PR/492: compression forking was broken with magic_buffer. 478 4792015-09-16 9:50 Christos Zoulas <christos@zoulas.com> 480 481 * release 5.25 482 4832015-09-11 13:25 Christos Zoulas <christos@zoulas.com> 484 485 * add a limit to the length of regex searches 486 4872015-09-08 9:50 Christos Zoulas <christos@zoulas.com> 488 489 * fix problems with --parameter (Christoph Biedl) 490 4912015-07-11 10:35 Christos Zoulas <christos@zoulas.com> 492 493 * Windows fixes PR/466 (Jason Hood) 494 4952015-07-09 10:35 Christos Zoulas <christos@zoulas.com> 496 497 * release 5.24 498 4992015-06-11 8:52 Christos Zoulas <christos@zoulas.com> 500 501 * redo long option encoding to fix off-by-one in 5.23 502 5032015-06-10 13:50 Christos Zoulas <christos@zoulas.com> 504 505 * release 5.23 506 5072015-06-09 16:10 Christos Zoulas <christos@zoulas.com> 508 509 * Fix issue with regex range for magic with offset 510 * Always return true from mget with USE (success to mget not match 511 indication). Fixes mime evaluation after USE magic 512 * PR/459: Don't insert magic entries to the list if there are parsing 513 errors for them. 514 5152015-06-03 16:00 Christos Zoulas <christos@zoulas.com> 516 517 * PR/455: Add utf-7 encoding 518 5192015-06-03 14:30 Christos Zoulas <christos@zoulas.com> 520 521 * PR/455: Implement -Z, look inside, but don't report on compression 522 * PR/454: Fix allocation error on bad magic. 523 5242015-05-29 10:30 Christos Zoulas <christos@zoulas.com> 525 526 * handle MAGIC_CONTINUE everywhere, not just in softmagic 527 5282015-05-21 14:30 Christos Zoulas <christos@zoulas.com> 529 530 * don't print descriptions for NAME types when mime. 531 5322015-04-09 15:59 Christos Zoulas <christos@zoulas.com> 533 534 * Add --extension to list the known extensions for this file type 535 Idea by Andrew J Roazen 536 5372015-02-14 12:23 Christos Zoulas <christos@zoulas.com> 538 539 * Bump file search buffer size to 1M. 540 5412015-01-09 14:35 Christos Zoulas <christos@zoulas.com> 542 543 * Fix multiple issues with date formats reported by Christoph Biedl: 544 - T_LOCAL meaning was reversed 545 - Arithmetic did not work 546 Also stop adjusting daylight savings for gmt printing. 547 5482015-01-05 13:00 Christos Zoulas <christos@zoulas.com> 549 550 * PR/411: Fix memory corruption from corrupt cdf file. 551 5522015-01-02 15:15 Christos Zoulas <christos@zoulas.com> 553 554 * release 5.22 555 5562015-01-01 12:01 Christos Zoulas <christos@zoulas.com> 557 558 * add indirect relative for TIFF/Exif 559 5602014-12-16 18:10 Christos Zoulas <christos@zoulas.com> 561 562 * restructure elf note printing to avoid repeated messages 563 * add note limit, suggested by Alexander Cherepanov 564 5652014-12-16 16:53 Christos Zoulas <christos@zoulas.com> 566 567 * Bail out on partial pread()'s (Alexander Cherepanov) 568 * Fix incorrect bounds check in file_printable (Alexander Cherepanov) 569 5702014-12-11 20:01 Christos Zoulas <christos@zoulas.com> 571 572 * PR/405: ignore SIGPIPE from uncompress programs 573 * change printable -> file_printable and use it in 574 more places for safety 575 * in ELF, instead of "(uses dynamic libraries)" when PT_INTERP 576 is present print the interpreter name. 577 5782014-12-10 20:01 Christos Zoulas <christos@zoulas.com> 579 580 * release 5.21 581 5822014-11-27 18:40 Christos Zoulas <christos@zoulas.com> 583 584 * Allow setting more parameters from the command line. 585 * Split name/use and indirect magic recursion limits. 586 5872014-11-27 11:12 Christos Zoulas <christos@zoulas.com> 588 589 * Adjust ELF parameters and the default recursion 590 level. 591 * Allow setting the recursion level dynamically. 592 5932014-11-24 8:55 Christos Zoulas <christos@zoulas.com> 594 595 * The following fixes resulted from Thomas Jarosch's fuzzing 596 tests that revealed severe performance issues on pathological 597 input: 598 - limit number of elf program and sections processing 599 - abort elf note processing quickly 600 - reduce the number of recursion levels from 20 to 10 601 - preserve error messages in indirect magic handling 602 603 This is tracked as CVE-2014-8116 and CVE-2014-8117 604 6052014-11-12 10:30 Christos Zoulas <christos@zoulas.com> 606 607 * fix bogus free in the user buffer case. 608 6092014-11-11 12:35 Christos Zoulas <christos@zoulas.com> 610 611 * fix out of bounds read for pascal strings 612 * fix memory leak (not freeing the head of each mlist) 613 6142014-11-07 10:25 Christos Zoulas <christos@zoulas.com> 615 616 * When printing strings from a file, convert them to printable 617 on a byte by byte basis, so that we don't get issues with 618 locale's trying to interpret random byte streams as UTF-8 and 619 having printf error out with EILSEQ. 620 6212014-10-17 11:48 Christos Zoulas <christos@zoulas.com> 622 623 * fix bounds in note reading (Francisco Alonso / Red Hat) 624 6252014-10-11 15:02 Christos Zoulas <christos@zoulas.com> 626 627 * fix autoconf glue for setlocale and locale_t; some OS's 628 have locale_t in xlocale.h 629 6302014-10-10 15:01 Christos Zoulas <christos@zoulas.com> 631 632 * release 5.20 633 6342014-08-17 10:01 Christos Zoulas <christos@zoulas.com> 635 636 * recognize encrypted CDF documents 637 6382014-08-04 9:18 Christos Zoulas <christos@zoulas.com> 639 640 * add magic_load_buffers from Brooks Davis 641 6422014-07-24 16:40 Christos Zoulas <christos@zoulas.com> 643 644 * add thumbs.db support 645 6462014-06-12 12:28 Christos Zoulas <christos@zoulas.com> 647 648 * release 5.19 649 6502014-06-09 9:04 Christos Zoulas <christos@zoulas.com> 651 652 * Misc buffer overruns and missing buffer size tests in cdf parsing 653 (Francisco Alonso, Jan Kaluza) 654 6552014-06-02 14:50 Christos Zoulas <christos@zoulas.com> 656 657 * Enforce limit of 8K on regex searches that have no limits 658 * Allow the l modifier for regex to mean line count. Default 659 to byte count. If line count is specified, assume a max 660 of 80 characters per line to limit the byte count. 661 * Don't allow conversions to be used for dates, allowing 662 the mask field to be used as an offset. 663 6642014-05-30 12:51 Christos Zoulas <christos@zoulas.com> 665 666 * Make the range operator limit the length of the 667 regex search. 668 6692014-05-14 19:23 Christos Zoulas <christos@zoulas.com> 670 671 * PR/347: Windows fixes 672 * PR/352: Hangul word processor recognition 673 * PR/354: Encoding irregularities in text files 674 6752014-05-06 6:12 Christos Zoulas <christos@zoulas.com> 676 677 * Fix uninitialized title in CDF files (Jan Kaluza) 678 6792014-05-04 14:55 Christos Zoulas <christos@zoulas.com> 680 681 * PR/351: Fix compilation of empty files 682 6832014-04-30 17:39 Christos Zoulas <christos@zoulas.com> 684 685 * Fix integer formats: We don't specify 'l' or 686 'h' and 'hh' specifiers anymore, only 'll' for 687 quads and nothing for the rest. This is so that 688 magic writing is simpler. 689 6902014-04-01 15:25 Christos Zoulas <christos@zoulas.com> 691 692 * PR/341: Jan Kaluza, fix memory leak 693 * PR/342: Jan Kaluza, fix out of bounds read 694 6952014-03-28 15:25 Christos Zoulas <christos@zoulas.com> 696 697 * Fix issue with long formats not matching fmtcheck 698 6992014-03-26 11:25 Christos Zoulas <christos@zoulas.com> 700 701 * release 5.18 702 7032014-03-15 17:45 Christos Zoulas <christos@zoulas.com> 704 705 * add fmtcheck(3) for those who don't have it 706 7072014-03-14 15:12 Christos Zoulas <christos@zoulas.com> 708 709 * prevent mime entries from being attached to magic 710 entries with no descriptions 711 712 * adjust magic strength for regex type 713 714 * remove superfluous ascmagic with encoding test 715 7162014-03-06 12:01 Christos Zoulas <christos@zoulas.com> 717 718 * fix regression fix echo -ne "\012\013\014" | file -i - 719 which printed "binary" instead of "application/octet-stream" 720 721 * add size_t overflow check for magic file size 722 7232014-02-27 16:01 Christos Zoulas <christos@zoulas.com> 724 725 * experimental support for matching with CFD CLSID 726 7272014-02-18 13:04 Kimmo Suominen (kimmo@suominen.com) 728 729 * Cache old LC_CTYPE locale before setting it to "C", so 730 we can use it to restore LC_CTYPE instead of asking 731 setlocale() to scan the environment variables. 732 7332014-02-12 18:21 Christos Zoulas <christos@zoulas.com> 734 735 * Count recursion levels through indirect magic 736 7372014-02-11 10:40 Christos Zoulas <christos@zoulas.com> 738 739 * Prevent infinite recursion on files with indirect offsets of 0 740 7412014-01-30 21:00 Christos Zoulas <christos@zoulas.com> 742 743 * Add -E flag that makes file print filesystem errors to stderr 744 and exit. 745 7462014-01-08 17:20 Christos Zoulas <christos@zoulas.com> 747 748 * mime printing could print results from multiple magic entries 749 if there were multiple matches. 750 * in some cases overflow was not detected when computing offsets 751 in softmagic. 752 7532013-12-05 12:00 Christos Zoulas <christos@zoulas.com> 754 755 * use strcasestr() to for cdf strings 756 * reset to the "C" locale while doing regex operations, or case 757 insensitive comparisons; this is provisional 758 7592013-11-19 20:10 Christos Zoulas <christos@zoulas.com> 760 761 * always leave magic file loaded, don't unload for magic_check, etc. 762 * fix default encoding to binary instead of unknown which broke recently 763 * handle empty and one byte files, less specially so that 764 --mime-encoding does not break completely. 765 ` 7662013-11-06 14:40 Christos Zoulas <christos@zoulas.com> 767 768 * fix erroneous non-zero exit code from non-existent file and message 769 7702013-10-29 14:25 Christos Zoulas <christos@zoulas.com> 771 772 * add CDF MSI file detection (Guy Helmer) 773 7742013-09-03 11:56 Christos Zoulas <christos@zoulas.com> 775 776 * Don't mix errors and regular output if there was an error 777 * in magic_descriptor() don't close the file and try to restore 778 its position 779 7802013-05-30 17:25 Christos Zoulas <christos@zoulas.com> 781 782 * Don't treat magic as an error if offset was past EOF (Christoph Biedl) 783 7842013-05-28 17:25 Christos Zoulas <christos@zoulas.com> 785 786 * Fix spacing issues in softmagic and elf (Jan Kaluza) 787 7882013-05-02 18:00 Christos Zoulas <christos@zoulas.com> 789 790 * Fix segmentation fault with multiple magic_load commands. 791 7922013-04-22 11:20 Christos Zoulas <christos@zoulas.com> 793 794 * The way "default" was implemented was not very useful 795 because the "if something was printed at that level" 796 was not easily controlled by the user, and the format 797 was bound to a string which is too restrictive. Add 798 a "clear" for that level keyword and make "default" 799 void. This way one can do: 800 801 >>13 clear x 802 >>13 lelong 1 foo 803 >>13 lelong 2 bar 804 >>13 default x 805 >>>13 lelong x unknown %x 806 8072013-03-25 13:20 Christos Zoulas <christos@zoulas.com> 808 809 * disallow strength setting in "name" entries 810 8112013-03-06 21:24 Christos Zoulas <christos@zoulas.com> 812 813 * fix recursive magic separator printing 814 8152013-02-26 19:28 Christos Zoulas <christos@zoulas.com> 816 817 * limit recursion level for mget 818 * fix pread() related breakage in cdf 819 * handle offsets properly in recursive "use" 820 8212013-02-18 10:39 Christos Zoulas <christos@zoulas.com> 822 823 * add elf reading of debug info to determine if file is stripped 824 (Jan Kaluza) 825 * use pread() 826 8272013-01-25 18:05 Christos Zoulas <christos@zoulas.com> 828 829 * change mime description size from 64 to 80 to accommodate OOXML. 830 8312013-01-11 14:50 Christos Zoulas <christos@zoulas.com> 832 833 * Warn about inconsistent continuation levels. 834 * Change fsmagic to add a space after it prints. 835 8362013-01-10 21:00 Christos Zoulas <christos@zoulas.com> 837 838 * Make getline public so that file can link against it. 839 Perhaps it is better to rename it, or hide it differently. 840 Fixes builds on platforms that do not provide it. 841 8422013-01-07 16:30 Christos Zoulas <christos@zoulas.com> 843 844 * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document 845 what long, int, short, etc is (Guy Harris) 846 8472013-01-06 11:20 Christos Zoulas <christos@zoulas.com> 848 849 * add magic_version function and constant 850 * Redo memory allocation and de-allocation. 851 (prevents double frees on non mmap platforms) 852 * Fix bug with name/use having to do with passing 853 found state from the parent to the child and back. 854 8552012-12-19 8:47 Christos Zoulas <christos@zoulas.com> 856 857 * Only print elf capabilities for archs we know (Jan Kaluza) 858 8592012-10-30 19:14 Christos Zoulas <christos@zoulas.com> 860 861 * Add "name" and "use" file types in order to look 862 inside mach-o files. 863 8642012-09-06 10:40 Christos Zoulas <christos@zoulas.com> 865 866 * make --version exit 0 (Matthew Schultz) 867 * add string/T (Jan Kaluza) 868 8692012-08-09 2:15 Christos Zoulas <christos@zoulas.com> 870 871 * add z and t modifiers for our own vasprintf 872 * search for $HOME/.magic.mgc if it is there first 873 * fix reads from a pipe, and preserve errno 874 8752012-05-15 13:12 Christos Zoulas <christos@zoulas.com> 876 877 * use ctime_r, asctime_r 878 8792012-04-06 17:18 Christos Zoulas <christos@zoulas.com> 880 881 * Fixes for indirect offsets to handle apple disk formats 882 8832012-04-03 18:26 Christos Zoulas <christos@zoulas.com> 884 885 * Add windows date field types 886 * More info for windows shortcuts (incomplete) 887 8882012-02-20 17:33 Christos Zoulas <christos@zoulas.com> 889 890 * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann) 891 8922011-12-15 12:17 Chris Metcalf <cmetcalf@tilera.com> 893 894 * Support Tilera architectures (tile64, tilepro, tilegx). 895 8962011-12-16 16:33 Reuben Thomas <rrt@sc3d.org> 897 898 * Add magic for /usr/bin/env Perl scripts 899 * Weaken generic script magic to avoid clashing with 900 language-specific magic. 901 9022011-12-08 13:37 Reuben Thomas <rrt@sc3d.org> 903 904 * Simplify if (p) free(p) to free(p). 905 9062011-12-08 13:07 Reuben Thomas <rrt@sc3d.org> 907 908 * Remove hardwired token finding (names.h), turning it into soft 909 magic. Patterns are either anchored regexs or search/8192. English 910 language detection and PL/1 detection have been removed as they 911 were too fragile. -e tokens is still accepted for backwards 912 compatibility. 913 * Move 3ds patterns (which are commented out anyway) into autodesk 914 (they were, oddly, in c-lang). 915 9162011-12-06 00:16 Reuben Thomas <rrt@sc3d.org> 917 918 * Tweak strength of generic hash-bang detectors to be less than 919 specific ones. 920 * Make an inconsistent description of Python scripts consistent. 921 9222011-12-05 23:58 Reuben Thomas <rrt@sc3d.org> 923 924 * Fix minor error in file(1). 925 9262011-11-05 00:00 Reuben Thomas <rrt@sc3d.org> 927 928 * Fix issue #150 (I hope). 929 9302011-09-22 12:57 Christos Zoulas <christos@zoulas.com> 931 932 * Python3 binding fixes from Kelly Anderson 933 9342011-09-20 11:32 Christos Zoulas <christos@zoulas.com> 935 936 * If a string type magic entry is marked as text or binary 937 only match text files against text entries and binary 938 files against binary entries. 939 9402011-09-01 12:12 Christos Zoulas <christos@zoulas.com> 941 942 * Don't wait for any subprocess, just the one we forked. 943 9442011-08-26 16:40 Christos Zoulas <christos@zoulas.com> 945 946 * If the application name is not set in a cdf file, try to see 947 if it has a directory with the application name on it. 948 9492011-08-17 14:32 Christos Zoulas <christos@zoulas.com> 950 951 * Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza 952 9532011-08-14 09:03 Christos Zoulas <christos@zoulas.com> 954 955 * Don't use variable string formats. 956 9572011-07-12 12:32 Reuben Thomas <rrt@sc3d.org> 958 959 * Fix detection of Zip files (Mantis #128). 960 * Make some minor improvements to file(1). 961 * Rename MIME types for filesystem objects for consistency with 962 xdg-utils. Typically this means that application/x-foo becomes 963 inode/foo, but some names also change slightly, e.g. 964 application/x-character-device becomes inode/chardevice. 965 9662011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 967 968 * fix mingw compilation (Abradoks) 969 9702011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 971 972 * remove patchlevel.h 973 * Fix read past allocated memory caused by double-incrementing 974 a pointer in a loop (reported by Roberto Maar) 975 9762011-03-30 15:45 Christos Zoulas <christos@zoulas.com> 977 978 * Fix cdf string buffer setting (Sven Anders) 979 9802011-03-20 16:35 Christos Zoulas <christos@zoulas.com> 981 982 * Eliminate MAXPATHLEN and use dynamic allocation for 983 path and file buffers. 984 9852011-03-15 18:15 Christos Zoulas <christos@zoulas.com> 986 987 * binary tests on magic entries with masks could spuriously 988 get converted to ascii. 989 9902011-03-12 18:06 Reuben Thomas <rrt@sc3d.org> 991 992 * Improve file.man (remove BUGS, present email addresses consistently). 993 9942011-03-07 19:38 Christos Zoulas <christos@zoulas.com> 995 996 * add lrzip support (from Ville Skytta) 997 9982011-02-10 16:36 Christos Zoulas <christos@zoulas.com> 999 1000 * fix CDF bounds checking (Guy Helmer) 1001 10022011-02-10 12:03 Christos Zoulas <christos@zoulas.com> 1003 1004 * add cdf_ctime() that prints a meaningful error when time cannot 1005 be converted. 1006 10072011-02-02 20:40 Christos Zoulas <christos@zoulas.com> 1008 1009 * help and version output to stdout. 1010 1011 * When matching softmagic for ascii files, don't just print 1012 the softmagic classification, keep going and print the 1013 text classification too. This fixes broken troff files when 1014 we moved them from keyword recognition to softmagic 1015 (they stopped printing "with CRLF" etc.) 1016 Reported by Doug McIlroy. 1017 10182011-01-16 19:31 Reuben Thomas <rrt@sc3d.org> 1019 1020 * Fix two potential buffer overruns in apprentice_list. 1021 10222011-01-14 22:33 Reuben Thomas <rrt@sc3d.org> 1023 1024 * New Python binding in pure Python. 1025 * Update libmagic(3). 1026 10272011-01-06 21:40 Reuben Thomas <rrt@sc3d.org> 1028 1029 * Fix Python bindings (including recent Python 3 compatibility 1030 update). 1031 10322011-01-04 18:43 Reuben Thomas <rrt@sc3d.org> 1033 1034 * magic/Makefile.am: make it easier to recover from magic build failures. 1035 * Fix pstring length specifier parsing to avoid generating invalid 1036 magic files. 1037 * Add pstring length "J" (for "JPEG") to specify that the length 1038 include itself. 1039 * Fix JPEG comment parsing at last using pstring/HJ! 1040 * Ignore section 5 man pages in doc/.cvsignore. 1041 10422010-12-22 13:12 Christos Zoulas <christos@zoulas.com> 1043 1044 * Add pstring/BHhLl to specify the type of the length of pascal 1045 strings. 1046 10472010-11-26 18:39 Reuben Thomas <rrt@sc3d.org> 1048 1049 * Fix "-e soft": it was ignored when softmagic was called 1050 during asciimagic. 1051 * Improve comments and use "unsigned char" in tar.h/is_tar.c. 1052 10532010-11-05 17:26 Reuben Thomas <rrt@sc3d.org> 1054 1055 * Make bug reporting addresses more visible. 1056 10572010-11-01 18:35 Reuben Thomas <rrt@sc3d.org> 1058 1059 * Add tcl magic from Gustaf Neumann 1060 10612010-10-24 10:42 Christos Zoulas <christos@zoulas.com> 1062 1063 * Fix the whitespace comparing code (Christopher Chittleborough) 1064 10652010-10-06 21:05 Christos Zoulas <christos@zoulas.com> 1066 1067 * allow string/t to work (Jan Kaluza) 1068 10692010-09-20 22:11 Reuben Thomas <rrt@sc3d.org> 1070 1071 * Apply some patches from Ubuntu and Fedora. 1072 10732010-09-20 21:16 Reuben Thomas <rrt@sc3d.org> 1074 1075 * Apply all patches from Debian package 5.04-6 which have not 1076 already been applied and are not Debian-specific. 1077 10782010-09-20 15:24 Reuben Thomas <rrt@sc3d.org> 1079 1080 * Minor security fix to softmagic.c (don't use untrusted 1081 string as printf format). 1082 10832010-07-21 12:20 Christos Zoulas <christos@zoulas.com> 1084 1085 * MINGW32 portability from LRN 1086 1087 * Don't warn about escaping magic regex chars when we are in a regex. 1088 10892010-07-19 10:55 Christos Zoulas <christos@zoulas.com> 1090 1091 * Only try to print prpsinfo for core files. (Jan Kaluza) 1092 10932010-04-22 12:55 Christos Zoulas <christos@zoulas.com> 1094 1095 * Try more elf offsets for Debian core files. (Arnaud Giersch) 1096 10972010-02-20 15:18 Reuben Thomas <rrt@sc3d.org> 1098 1099 * Clarify which sort of CDF we mean. 1100 11012010-02-14 22:58 Reuben Thomas <rrt@sc3d.org> 1102 1103 * Re-jig Zip file type magic so that unsupported special 1104 Zip types (those with "mimetype" at offset 30) can be 1105 recognized. 1106 11072010-02-02 21:50 Reuben Thomas <rrt@sc3d.org> 1108 1109 * Add support for OCF (EPUB) files (application/epub+zip) 1110 11112010-01-28 18:25 Christos Zoulas <christos@zoulas.com> 1112 1113 * Fix core-dump from unbound loop: 1114 https://bugzilla.redhat.com/show_bug.cgi?id=533245 1115 11162010-01-22 15:45 Christos Zoulas <christos@zoulas.com> 1117 1118 * print proper mime for crystal reports file 1119 1120 * print the last summary information of a cdf document, not the 1121 first so that nested documents print the right info 1122 11232010-01-16 18:42 Charles Longeau <chl@tuxfamily.org> 1124 1125 * bring back some fixes from OpenBSD: 1126 - make gcc2 builds file 1127 - fix typos in a magic file comment 1128 11292009-11-17 18:35 Christos Zoulas <christos@zoulas.com> 1130 1131 * ctime/asctime can return NULL on some OS's although 1132 they should not (Toshit Antani) 1133 11342009-09-14 13:49 Christos Zoulas <christos@zoulas.com> 1135 1136 * Centralize magic path handling routines and remove the 1137 special-casing from file.c so that the python module for 1138 example comes up with the same magic path (Fixes ~/.magic 1139 handling) (from Gab) 1140 11412009-09-11 23:38 Reuben Thomas <rrt@sc3d.org> 1142 1143 * When magic argument is a directory, read the files in 1144 strcmp-sorted order (fixes Debian bug #488562 and our own FIXME). 1145 11462009-09-11 13:11 Reuben Thomas <rrt@sc3d.org> 1147 1148 * Combine overlapping epoc and psion magic files into one (epoc). 1149 1150 * Add some more EPOC MIME types. 1151 11522009-08-19 15:55 Christos Zoulas <christos@zoulas.com> 1153 1154 * Fix 3 bugs (From Ian Darwin): 1155 - file_showstr could move one past the end of the array 1156 - parse_apple did not nul terminate the string in the overflow case 1157 - parse_mime truncated the wrong string in the overflow case 1158 11592009-08-12 12:28 Robert Byrnes <byrnes@wildpumpkin.net> 1160 1161 * Include Localstuff when compiling magic. 1162 11632009-07-15 10:05 Christos Zoulas <christos@zoulas.com> 1164 1165 * Fix logic for including mygetopts.h 1166 1167 * Make cdf.c compile again with debugging 1168 1169 * Add the necessary field handling for crystal reports files to work 1170 11712009-06-23 01:34 Reuben Thomas <rrt@sc3d.org> 1172 1173 * Stop "(if" identifying Lisp files, that's plain dumb! 1174 11752009-06-09 22:13 Reuben Thomas <rrt@sc3d.org> 1176 1177 * Add a couple of missing MP3 MIME types. 1178 11792009-05-27 23:00 Reuben Thomas <rrt@sc3d.org> 1180 1181 * Add full range of hash-bang tests for Python and Ruby. 1182 1183 * Add MIME types for Python and Ruby scripts. 1184 11852009-05-13 10:44 Christos Zoulas <christos@zoulas.com> 1186 1187 * off by one in parsing hw capabilities in elf 1188 (Cheng Renquan) 1189 11902009-05-08 13:40 Christos Zoulas <christos@zoulas.com> 1191 1192 * lint fixes and more from NetBSD 1193 11942009-05-06 10:25 Christos Zoulas <christos@zoulas.com> 1195 1196 * Avoid null dereference in cdf code (Drew Yao) 1197 1198 * More cdf bounds checks and overflow checks 1199 12002009-05-01 18:37 Christos Zoulas <christos@zoulas.com> 1201 1202 * Buffer overflow fixes from Drew Yao 1203 12042009-04-30 17:10 Christos Zoulas <christos@zoulas.com> 1205 1206 * Fix more cdf lossage. All the documents I have 1207 right now print the correct information. 1208 12092009-03-27 18:43 Christos Zoulas <christos@zoulas.com> 1210 1211 * don't print \012- separators in the same magic entry 1212 if it consists of multiple magic printing lines. 1213 12142009-03-23 10:20 Christos Zoulas <christos@zoulas.com> 1215 1216 * Avoid file descriptor leak in compress code from 1217 (Daniel Novotny) 1218 12192009-03-18 16:50 Christos Zoulas <christos@zoulas.com> 1220 1221 * Allow escaping of relation characters, so that we can say \^[A-Z] 1222 and the ^ is not eaten as a relation char. 1223 1224 * Fix troff and fortran to their previous glory using 1225 regex. This was broken since their removel from ascmagic. 1226 12272009-03-10 16:50 Christos Zoulas <christos@zoulas.com> 1228 1229 * don't use strlen in strndup() (Toby Peterson) 1230 12312009-03-10 7:45 Christos Zoulas <christos@zoulas.com> 1232 1233 * avoid c99 syntax. 1234 12352009-02-23 15:45 Christos Zoulas <christos@zoulas.com> 1236 1237 * make the cdf code use the buffer first if available, 1238 and then the fd code. 1239 12402009-02-13 13:45 Christos Zoulas <christos@zoulas.com> 1241 1242 * look for struct option to determine if getopt.h is usable for IRIX. 1243 1244 * sanitize cdf document strings 1245 12462009-02-04 13:25 Christos Zoulas <christos@zoulas.com> 1247 1248 * fix OS/2 warnings. 1249 12502008-12-12 15:50 Christos Zoulas <christos@zoulas.com> 1251 1252 * fix initial offset calculation for non 4K sector files 1253 1254 * add loop limits to avoid DoS attacks by constructing 1255 looping sector references. 1256 12572008-12-03 13:05 Christos Zoulas <christos@zoulas.com> 1258 1259 * fix memory botches on cdf file parsing. 1260 1261 * exit with non-zero value for any error, not just for the last 1262 file processed. 1263 12642008-11-09 20:42 Charles Longeau <chl@tuxfamily.org> 1265 1266 * Replace all str{cpy,cat} functions with strl{cpy,cat} 1267 * Ensure that strl{cpy,cat} are included in libmagic, 1268 as needed. 1269 12702008-11-06 18:18 Christos Zoulas <christos@zoulas.com> 1271 1272 * Handle ID3 format files. 1273 12742008-11-06 23:00 Reuben Thomas <rrt@sc3d.org> 1275 1276 * Fix --mime, --mime-type and --mime-encoding under new scheme. 1277 1278 * Rename "ascii" to "text" and add "encoding" test. 1279 1280 * Return a precise ("utf-16le" or "utf-16be") MIME charset for 1281 UTF-16. 1282 1283 * Fix error in comment caused by automatic indentation adding 1284 words! 1285 12862008-11-06 10:35 Christos Zoulas <christos@astron.com> 1287 1288 * use memchr instead of strchr because the string 1289 might not be NUL terminated (Scott MacVicar) 1290 12912008-11-03 07:31 Reuben Thomas <rrt@sc3d.org> 1292 1293 * Fix a printf with a non-literal format string. 1294 1295 * Fix formatting and punctuation of help for "--apple". 1296 12972008-10-30 11:00 Reuben Thomas <rrt@sc3d.org> 1298 1299 * Correct words counts in comments of struct magic. 1300 1301 * Fix handle_annotation to allow both Apple and MIME types to be 1302 printed, and to return correct code if MIME type is 1303 printed (1, not 0) or if there's an error (-1 not 1). 1304 1305 * Fix output of charset for MIME type (precede with semi-colon; 1306 fixes Debian bug #501460). 1307 1308 * Fix potential attacks via conversion specifications in magic 1309 strings. 1310 1311 * Add a FIXME for Debian bug #488562 (magic files should be 1312 read in a defined order, by sorting the names). 1313 13142008-10-18 16:45 Christos Zoulas <christos@astron.com> 1315 1316 * Added APPLE file creator/type 1317 13182008-10-12 10:20 Christos Zoulas <christos@astron.com> 1319 1320 * Added CDF parsing 1321 13222008-10-09 16:40 Christos Zoulas <christos@astron.com> 1323 1324 * filesystem and msdos patches (Joerg Jenderek) 1325 13262008-10-09 13:20 Christos Zoulas <christos@astron.com> 1327 1328 * correct --exclude documentation issues: remove troff and fortran 1329 and rename "token" to "tokens". (Randy McMurchy) 1330 13312008-10-01 10:30 Christos Zoulas <christos@astron.com> 1332 1333 * Read ~/.magic in addition to the default magic file not instead 1334 of, as documented in the man page. 1335 13362008-09-10 21:30 Reuben Thomas <rrt@sc3d.org> 1337 1338 * Comment out graphviz patterns, as they match too many files. 1339 13402008-08-30 12:54 Christos Zoulas <christos@astron.com> 1341 1342 * Don't eat trailing \n in magic enties. 1343 1344 * Cast defines to allow compilation using a c++ compiler. 1345 13462008-08-25 23:56 Reuben Thomas <rrt@sc3d.org> 1347 1348 * Add text/x-lua MIME type for Lua scripts. 1349 1350 * Escape { in regex in graphviz patterns. 1351 13522008-07-26 00:59 Reuben Thomas <rrt@sc3d.org> 1353 1354 * Add MIME types for special files. 1355 1356 * Use access to give more accurate information for files that 1357 can't be opened. 1358 1359 * Add a TODO list. 1360 13612008-07-02 11:15 Christos Zoulas <christos@astron.com> 1362 1363 * add !:strength op to adjust magic strength (experimental) 1364 13652008-06-16 21:41 Reuben Thomas <rrt@sc3d.org> 1366 1367 * Fix automake error in configure.ac. 1368 1369 * Add MIME type for Psion Sketch files. 1370 13712008-06-05 08:59 Christos Zoulas <christos@astron.com> 1372 1373 * Don't print warnings about bad namesize in stripped 1374 binaries with PT_NOTE is still there, and the actual 1375 note is gone (Jakub Jelinek) 1376 13772008-05-28 15:12 Robert Byrnes <byrnes@wildpumpkin.net> 1378 1379 * magic/Magdir/elf: 1380 Note invalid byte order for little-endian SPARC32PLUS. 1381 Add SPARC V9 vendor extensions and memory model. 1382 1383 * src/elfclass.h: 1384 Pass target machine to doshn (for Solaris hardware capabilities). 1385 1386 * src/readelf.c (doshn): 1387 Add support for Solaris hardware/software capabilities. 1388 1389 * src/readelf.h: 1390 Ditto. 1391 1392 * src/vasprintf.c (dispatch): 1393 Add support for ll modifier. 1394 13952008-05-16 10:25 Christos Zoulas <christos@astron.com> 1396 1397 * Fix compiler warnings. 1398 1399 * remove stray printf, and fix a vprintf bug. (Martin Dorey) 1400 14012008-05-06 00:13 Robert Byrnes <byrnes@wildpumpkin.net> 1402 1403 * src/Makefile.am: 1404 Ensure that getopt_long and [v]asprintf are included in libmagic, 1405 as needed. 1406 1407 Remove unnecessary EXTRA_DIST. 1408 1409 * src/Makefile.in: 1410 Rerun automake. 1411 1412 * src/vasprintf.c (dispatch): 1413 Fix variable precision bug: be sure to step past '*'. 1414 1415 * src/vasprintf.c (core): 1416 Remove unreachable code. 1417 1418 * src/apprentice.c (set_test_type): 1419 Add cast to avoid compiler warning. 1420 14212008-04-22 23:45 Christos Zoulas <christos@astron.com> 1422 1423 * Add magic submission guidelines (Abel Cheung) 1424 1425 * split msdos and windows magic (Abel Cheung) 1426 14272008-04-04 11:00 Christos Zoulas <christos@astron.com> 1428 1429 * >= <= is not supported, so fix the magic and warn about it. 1430 reported by: Thien-Thi Nguyen <ttn@gnuvola.org> 1431 14322008-03-27 16:16 Robert Byrnes <byrnes@wildpumpkin.net> 1433 1434 * src/readelf.c (donote): 1435 ELF core file command name/line bug fixes and enhancements: 1436 1437 Try larger offsets first to avoid false matches 1438 from earlier data that happen to look like strings; 1439 this primarily affected SunOS 5.x 32-bit Intel core files. 1440 1441 Add support for command line (instead of just short name) 1442 for SunOS 5.x. 1443 1444 Add information about NT_PSINFO for SunOS 5.x. 1445 1446 Only trim whitespace from end of command line. 1447 14482007-02-11 01:36 Reuben Thomas <rrt@sc3d.org> 1449 1450 * Change strength of ! from MULT to 0, as it matches almost 1451 anything (Reuben Thomas) 1452 1453 * Debian fixes (Reuben Thomas) 1454 14552007-02-11 00:17 Reuben Thomas <rrt@sc3d.org> 1456 1457 * Clarify UTF-8 BOM message (Reuben Thomas) 1458 1459 * Add HTML comment to token list in names.h 1460 14612007-02-04 15:50 Christos Zoulas <christos@astron.com> 1462 1463 * Debian fixes (Reuben Thomas) 1464 14652007-02-04 11:31 Christos Zoulas <christos@astron.com> 1466 1467 * !:mime annotations in magic files (Reuben Thomas) 1468 14692007-01-29 15:35 Christos Zoulas <christos@astron.com> 1470 1471 * zero out utime/utimes structs (Gavin Atkinson) 1472 14732007-01-26 13:45 Christos Zoulas <christos@astron.com> 1474 1475 * reduce writable data from Diego "Flameeyes" Petten 1476 14772007-12-28 15:06 Christos Zoulas <christos@astron.com> 1478 1479 * strtof detection 1480 1481 * remove bogus regex magic that could cause a DoS 1482 1483 * better mismatch version message 1484 14852007-12-27 11:35 Christos Zoulas <christos@astron.com> 1486 1487 * bring back some fixes from OpenBSD 1488 1489 * treat ELF dynamic objects as executables 1490 1491 * fix gcc warnings 1492 14932007-12-01 19:55 Christos Zoulas <christos@astron.com> 1494 1495 * make sure we have zlib.h and libz to compile the builtin 1496 decompress code 1497 14982007-10-28 20:48 Christos Zoulas <christos@astron.com> 1499 1500 * float and double magic support (Behan Webster) 1501 15022007-10-28 20:48 Christos Zoulas <christos@astron.com> 1503 1504 * Convert fortran to a soft test (Reuben Thomas) 1505 15062007-10-23 5:25 Christos Zoulas <christos@astron.com> 1507 1508 * Add --with-filename, and --no-filename (Reuben Thomas) 1509 15102007-10-23 3:59 Christos Zoulas <christos@astron.com> 1511 1512 * Rest of the mime split (Reuben Thomas) 1513 1514 * Make usage message generated from the flags so that 1515 they stay consistent (Reuben Thomas) 1516 15172007-10-20 3:06 Christos Zoulas <christos@astron.com> 1518 1519 * typo in comment, missing ifdef QUICK, remove unneeded code 1520 (Charles Longeau) 1521 15222007-10-17 3:33 Christos Zoulas <christos@astron.com> 1523 1524 * Fix problem printing -\012 in some entries 1525 1526 * Separate magic type and encoding flags (Reuben Thomas) 1527 15282007-10-09 3:55 Christos Zoulas <christos@astron.com> 1529 1530 * configure fix for int64 and strndup (Reuben Thomas) 1531 15322007-09-26 4:45 Christos Zoulas <christos@astron.com> 1533 1534 * Add magic_descriptor() function. 1535 1536 * Fix regression in elf reading code where the core name was 1537 not being printed. 1538 1539 * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) 1540 15412007-08-19 6:30 Christos Zoulas <christos@astron.com> 1542 1543 * Make mime format consistent so that it can 1544 be easily parsed: 1545 mimetype [charset=character-set] [encoding=encoding-mime-type] 1546 1547 Remove spurious extra text from some MIME type printouts 1548 (mostly in is_tar). 1549 1550 Fix one case where -i produced nothing at all (for a 1-byte file, 1551 which is now classed as application/octet-stream). 1552 1553 Remove 7/8bit classifications, since they were arbitrary 1554 and not based on the file data. 1555 1556 This work was done by Reuben Thomas 1557 15582007-05-24 10:00 Christos Zoulas <christos@astron.com> 1559 1560 * Fix another integer overflow (Colin Percival) 1561 15622007-03-26 13:58 Christos Zoulas <christos@astron.com> 1563 1564 * make sure that all of struct magic_set is initialized appropriately 1565 (Brett) 1566 15672007-03-25 17:44 Christos Zoulas <christos@astron.com> 1568 1569 * reset left bytes in the buffer (Dmitry V. Levin) 1570 1571 * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS 1572 (Peter Avalos) 1573 15742007-03-15 10:51 Christos Zoulas <christos@astron.com> 1575 1576 * fix fortran and nroff reversed tests (Dmitry V. Levin) 1577 1578 * fix exclude option (Dmitry V. Levin) 1579 15802007-02-08 17:30 Christos Zoulas <christos@astron.com> 1581 1582 * fix integer underflow in file_printf which can lead to 1583 to exploitable heap overflow (Jean-Sebastien Guay-Lero) 1584 15852007-02-05 11:35 Christos Zoulas <christos@astron.com> 1586 1587 * make socket/pipe reading more robust 1588 15892007-01-25 16:01 Christos Zoulas <christos@astron.com> 1590 1591 * Centralize all the tests in file_buffer. 1592 1593 * Add exclude flag. 1594 15952007-01-18 05:29 Anon Ymous <do@not.spam.me> 1596 1597 * Move the "type" detection code from parse() into its own table 1598 driven routine. This avoids maintaining multiple lists in 1599 file.h. 1600 1601 * Add an optional conditional field (ust before the type field). 1602 This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is 1603 likely to go away. 1604 16052007-01-16 23:24 Anon Ymous <do@not.spam.me> 1606 1607 * Fix an initialization bug in check_mem(). 1608 16092007-01-16 14:58 Anon Ymous <do@not.spam.me> 1610 1611 * Add a "default" type to print a message if nothing previously 1612 matched at that level or since the last default at that 1613 level. This is useful for setting up switch-like statements. 1614 It can also be used to do if/else constructions without a 1615 redundant second test. 1616 1617 * Fix the "x" special case test so that one can test for that 1618 string with "=x". 1619 1620 * Allow "search" to search the entire buffer if the "/N" 1621 search count is missing. 1622 1623 * Make "regex" work! It now starts its search at the 1624 specified offset and takes an (optional) "/N" line count to 1625 specify the search range; otherwise it searches to the end 1626 of the file. The match is now grabbed correctly for format 1627 strings and the offset set to the end of the match. 1628 1629 * Add a "/s" flag to "regex" and "search" to set the offset to 1630 the start of the match. By default the offset is set to the 1631 end of the match, as it is with other tests. This is mostly 1632 useful for "regex". 1633 1634 * Make "search", "string" and "pstring" use the same 1635 file_strncmp() routine so that they support the same flags; 1636 "bestring16" and "lestring16" call the same routine, but 1637 with flags = 0. Also add a "/C" flag (in analogy to "/c") 1638 to ignore the case on uppercase (lowercase) characters in 1639 the test string. 1640 1641 * Strict adherence to C style string escapes. A warnings are 1642 printed when compiling. Note: previously "\a" was 1643 incorrectly translated to 'a' instead of an <alert> (i.e., 1644 BELL, typically 0x07). 1645 1646 * Make this compile with "-Wall -Wextra" and all the warning 1647 flags used with WARNS=4 in the NetBSD source. Also make it 1648 pass lint. 1649 1650 * Many "cleanups" and hopefully not too many new bugs! 1651 16522007-01-16 14:56 Anon Ymous <do@not.spam.me> 1653 1654 * make several more files compile with gcc warnings 1655 on and also make them pass lint. 1656 16572007-01-16 14:54 Anon Ymous <do@not.spam.me> 1658 1659 * fix a puts()/putc() usage goof in file.c 1660 1661 * make file.c compile with gcc warnings and pass lint 1662 16632006-12-11 16:49 Christos Zoulas <christos@astron.com> 1664 1665 * fix byteswapping issue 1666 1667 * report the number of bytes we tried to 1668 allocate when allocation fails 1669 1670 * add a few missed cases in the strength routine 1671 16722006-12-08 16:32 Christos Zoulas <christos@astron.com> 1673 1674 * store and print the line number of the magic 1675 entry for debugging. 1676 1677 * if the magic entry did not print anything, 1678 don't treat it as a match 1679 1680 * change the magic strength algorithm to take 1681 into account the relationship op. 1682 1683 * fix a bug in search where we could accidentally 1684 return a match. 1685 1686 * propagate the error return from match to 1687 file_softmagic. 1688 16892006-11-25 13:35 Christos Zoulas <christos@astron.com> 1690 1691 * Don't store the current offset in the magic 1692 struct, because it needs to be restored and 1693 it was not done properly all the time. Bug 1694 found by: Arkadiusz Miskiewicz 1695 1696 * Fix problem in the '\0' separator; and don't 1697 print it as an additional separator; print 1698 it as the only separator. 1699 17002006-11-17 10:51 Christos Zoulas <christos@astron.com> 1701 1702 * Added a -0 option to print a '\0' separator 1703 Etienne Buira <etienne.buira@free.fr> 1704 17052006-10-31 15:14 Christos Zoulas <christos@astron.com> 1706 1707 * Check offset before copying (Mike Frysinger) 1708 1709 * merge duplicated code 1710 1711 * add quad date support 1712 1713 * make sure that we nul terminate desc (Ryoji Kanai) 1714 1715 * don't process elf notes multiple times 1716 1717 * allow -z to report empty compressed files 1718 1719 * use calloc to initialize the ascii buffers (Jos van den Oever) 1720 17212006-06-08 11:11 Christos Zoulas <christos@astron.com> 1722 1723 * QNX fixes (Mike Gorchak) 1724 1725 * Add quad support. 1726 1727 * FIFO checks (Dr. Werner Fink) 1728 1729 * Linux ELF fixes (Dr. Werner Fink) 1730 1731 * Magic format checks (Dr. Werner Fink) 1732 1733 * Magic format function improvent (Karl Chen) 1734 17352006-05-03 11:11 Christos Zoulas <christos@astron.com> 1736 1737 * Pick up some elf changes and some constant fixes from SUSE 1738 1739 * Identify gnu tar vs. posix tar 1740 1741 * When keep going, don't print spurious newlines (Radek Vokal) 1742 17432006-04-01 12:02 Christos Zoulas <christos@astron.com> 1744 1745 * Use calloc instead of malloc (Mike Frysinger) 1746 1747 * Fix configure script to detect wctypes.h (Mike Frysinger) 1748 17492006-03-02 16:06 Christos Zoulas <christos@astron.com> 1750 1751 * Print empty if the file is (Mike Frysinger) 1752 1753 * Don't try to read past the end of the buffer (Mike Frysinger) 1754 1755 * Sort magic entries by strength [experimental] 1756 17572005-11-29 13:26 Christos Zoulas <christos@astron.com> 1758 1759 * Use iswprint() to convert the output string. 1760 (Bastien Nocera) 1761 17622005-10-31 8:54 Christos Zoulas <christos@astron.com> 1763 1764 * Fix regression where the core info was not completely processed 1765 (Radek Vokal) 1766 17672005-10-20 11:15 Christos Zoulas <christos@astron.com> 1768 1769 * Middle Endian magic (Diomidis Spinellis) 1770 17712005-10-17 11:15 Christos Zoulas <christos@astron.com> 1772 1773 * Open with O_BINARY for CYGWIN (Corinna Vinschen) 1774 1775 * Don't close stdin (Arkadiusz Miskiewicz) 1776 1777 * Look for note sections in non executables. 1778 17792005-09-20 13:33 Christos Zoulas <christos@astron.com> 1780 1781 * Don't print SVR4 Style in core files multiple times 1782 (Radek Vokal) 1783 17842005-08-27 04:09 Christos Zoulas <christos@astron.com> 1785 1786 * Cygwin changes Corinna Vinschen 1787 17882005-08-18 09:53 Christos Zoulas <christos@astron.com> 1789 1790 * Remove erroreous mention of /etc/magic in the file man page 1791 This is gentoo bug 101639. (Mike Frysinger) 1792 1793 * Cross-compile support and detection (Mike Frysinger) 1794 17952005-08-12 10:17 Christos Zoulas <christos@astron.com> 1796 1797 * Add -h flag and dereference symlinks if POSIXLY_CORRECT 1798 is set. 1799 18002005-07-29 13:57 Christos Zoulas <christos@astron.com> 1801 1802 * Avoid search and regex buffer overflows (Kelledin) 1803 18042005-07-12 11:48 Christos Zoulas <christos@astron.com> 1805 1806 * Provide stub implementations for {v,}nsprintf() for older 1807 OS's that don't have them. 1808 * Change mbstate_t autoconf detection macro from AC_MBSTATE_T 1809 to AC_TYPE_MBSTATE_T. 1810 18112005-06-25 11:48 Christos Zoulas <christos@astron.com> 1812 1813 * Dynamically allocate the string buffers and make the 1814 default read size 256K. 1815 18162005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de> 1817 1818 * Dragonfly ELF note support 1819 18202005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it> 1821 1822 * Avoid NULL pointer dereference in time conversion. 1823 18242005-03-06 00:00 Joerg Walter <jwalt@mail.garni.ch> 1825 1826 * Add indirect magic offset support, and search mode. 1827 18282005-01-12 00:00 Stepan Kasal <kasal@ucw.cz> 1829 1830 * src/ascmagic.c (file_ascmagic): Fix three bugs about text files: 1831 If a CRLF text file happens to have CR at offset HOWMANY - 1 1832 (currently 0xffff), it should not be counted as CR line 1833 terminator. 1834 If a line has length exactly MAXLINELEN, it should not yet be 1835 treated as a ``very long line'', as MAXLINELEN is ``longest sane 1836 line length''. 1837 With CRLF, the line length was not computed correctly, and even 1838 lines of length MAXLINELEN - 1 were treated as ``very long''. 1839 18402004-12-07 14:15 Christos Zoulas <christos@astron.com> 1841 1842 * bzip2 needs a lot of input buffer space on some files 1843 before it can begin uncompressing. This makes file -z 1844 fail on some bz2 files. Fix it by giving it a copy of 1845 the file descriptor to read as much as it wants if we 1846 have access to it. <christos@astron.com> 1847 18482004-11-24 12:39 Christos Zoulas <christos@astron.com> 1849 1850 * Stack smash fix, and ELF more conservative reading. 1851 Jakub Bogusz <qboosh@pld-linux.org> 1852 18532004-11-20 18:50 Christos Zoulas <christos@astron.com> 1854 1855 * New FreeBSD version parsing code: 1856 Jon Noack <noackjr@alumni.rice.edu> 1857 1858 * Hackish support for ucs16 strings <christos@astron.com> 1859 18602004-11-13 03:07 Christos Zoulas <christos@astron.com> 1861 1862 * print the file name and line number in syntax errors. 1863 18642004 10-12 10:50 Christos Zoulas <christos@astron.com> 1865 1866 * Fix stack overwriting on 0 length strings: Tim Waugh 1867 <twaugh@redhat.com> Ned Ludd <solar@gentoo.org> 1868 18692004-09-27 11:30 Christos Zoulas <christos@astron.com> 1870 1871 * Remove 3rd and 4th copyright clause; approved by Ian Darwin. 1872 1873 * Fix small memory leaks; caught by: Tamas Sarlos 1874 <stamas@csillag.ilab.sztaki.hu> 1875 18762004-07-24 16:33 Christos Zoulas <christos@astron.com> 1877 1878 * magic.mime update Danny Milosavljevic <danny.milo@gmx.net> 1879 1880 * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com> 1881 1882 * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com> 1883 1884 * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org> 1885 18862004-04-12 10:55 Christos Zoulas <christos@astron.com> 1887 1888 * make sure that magic formats match magic types during compilation 1889 1890 * fix broken sgi magic file 1891 18922004-04-06 20:36 Christos Zoulas <christos@astron.com> 1893 1894 * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com> 1895 1896 * magic fixes 1897 18982004-03-22 15:25 Christos Zoulas <christos@astron.com> 1899 1900 * Lots of mime fixes 1901 (Joerg Ostertag) <ostertag@rechengilde.de> 1902 1903 * FreeBSD ELF version handling 1904 (Edwin Groothuis) <edwin@mavetju.org> 1905 1906 * correct cleanup in all cases; don't just close the file. 1907 (Christos Zoulas) <christos@astron.com> 1908 1909 * add gettext message catalogue support 1910 (Michael Piefel) <piefel@debian.org> 1911 1912 * better printout for unreadable files 1913 (Michael Piefel) <piefel@debian.org> 1914 1915 * compensate for missing MAXPATHLEN 1916 (Michael Piefel) <piefel@debian.org> 1917 1918 * add wide character string length computation 1919 (Michael Piefel) <piefel@debian.org> 1920 1921 * Avoid infinite loops caused by bad elf alignments 1922 or name and description note sizes. Reported by 1923 (Mikael Magnusson) <mmikael@comhem.se> 1924 19252004-03-09 13:55 Christos Zoulas <christos@astron.com> 1926 1927 * Fix possible memory leak on error and add missing regfree 1928 (Dmitry V. Levin) <ldv@altlinux.org> 1929 19302003-12-23 12:12 Christos Zoulas <christos@astron.com> 1931 1932 * fix -k flag (Maciej W. Rozycki) 1933 19342003-11-18 14:10 Christos Zoulas <christos@astron.com> 1935 1936 * Try to give us much info as possible on corrupt elf files. 1937 (Willy Tarreau) <willy@w.ods.org> 1938 * Updated python bindings (Brett Funderburg) 1939 <brettf@deepfile.com> 1940 19412003-11-11 15:03 Christos Zoulas <christos@astron.com> 1942 1943 * Include file.h first, because it includes config.h 1944 breaks largefile test macros otherwise. 1945 (Paul Eggert <eggert@CS.UCLA.EDU> via 1946 Lars Hecking <lhecking@nmrc.ie>) 1947 19482003-10-14 21:39 Christos Zoulas <christos@astron.com> 1949 1950 * Python bindings (Brett Funderburg) <brettf@deepfile.com> 1951 * Don't lookup past the end of the buffer 1952 (Chad Hanson) <chanson@tcs-sec.com> 1953 * Add MAGIC_ERROR and api on magic_errno() 1954 19552003-10-08 12:40 Christos Zoulas <christos@astron.com> 1956 1957 * handle error conditions from compile as fatal 1958 (Antti Kantee) <pooka@netbsd.org> 1959 * handle magic filename parsing sanely 1960 * more magic fixes. 1961 * fix a memory leak (Illes Marton) <illes.marton@balabit.hu> 1962 * describe magic file handling 1963 (Bryan Henderson) <bryanh@giraffe-data.com> 1964 19652003-09-12 15:09 Christos Zoulas <christos@astron.com> 1966 1967 * update magic files. 1968 * remove largefile support from file.h; it breaks things on most OS's 1969 19702003-08-10 10:25 Christos Zoulas <christos@astron.com> 1971 1972 * fix unmapping'ing of mmaped files. 1973 19742003-07-10 12:03 Christos Zoulas <christos@astron.com> 1975 1976 * don't exit with -1 on error; always exit 1 (Marty Leisner) 1977 * restore utimes code. 1978 19792003-06-10 17:03 Christos Zoulas <christos@astron.com> 1980 1981 * make sure we don't access uninitialized memory. 1982 * pass lint 1983 * #ifdef __cplusplus in magic.h 1984 19852003-05-25 19:23 Christos Zoulas <christos@astron.com> 1986 1987 * rename cvs magic file to revision to deal with 1988 case insensitive filesystems. 1989 19902003-05-23 17:03 Christos Zoulas <christos@astron.com> 1991 1992 * documentation fixes from Michael Piefel <piefel@debian.org> 1993 * magic fixes (various) 1994 * revert basename magic in .mgc name determination 1995 * buffer protection in uncompress, 1996 signness issues, 1997 close files 1998 Maciej W. Rozycki <macro@ds2.pg.gda.pl 1999 20002003-04-21 20:12 Christos Zoulas <christos@astron.com> 2001 2002 * fix zsh magic 2003 20042003-04-04 16:59 Christos Zoulas <christos@astron.com> 2005 2006 * fix operand sort order in string. 2007 20082003-04-02 17:30 Christos Zoulas <christos@astron.com> 2009 2010 * cleanup namespace in magic.h 2011 20122003-04-02 13:50 Christos Zoulas <christos@astron.com> 2013 2014 * Magic additions (Alex Ott) 2015 * Fix bug that broke VPATH compilation (Peter Breitenlohner) 2016 20172003-03-28 16:03 Christos Zoulas <christos@astron.com> 2018 2019 * remove packed attribute from magic struct. 2020 * make the magic struct properly aligned. 2021 * bump version number of compiled files to 2. 2022 20232003-03-27 13:10 Christos Zoulas <christos@astron.com> 2024 2025 * separate tar detection and run it before softmagic. 2026 * fix reversed symlink test. 2027 * fix version printing. 2028 * make separator a string instead of a char. 2029 * update manual page and sort options. 2030 20312003-03-26 11:00 Christos Zoulas <christos@astron.com> 2032 2033 * Pass lint 2034 * make NULL in magic_file mean stdin 2035 * Fix "-" argument to file to pass NULL to magic_file 2036 * avoid pointer casts by using memcpy 2037 * rename magic_buf -> magic_buffer 2038 * keep only the first error 2039 * manual page: new sentence, new line 2040 * fix typo in api function (magic_buf -> magic_buffer) 2041