12021-10-18 11:57 Christos Zoulas <christos@zoulas.com> 2 3 * release 5.41 4 52021-09-23 03:51 Christos Zoulas <christos@zoulas.com> 6 7 * Avinash Sonawane: Fix tzname detection 8 92021-09-03 09:17 Christos Zoulas <christos@zoulas.com> 10 11 * Fix relationship tests with "search" magic, don't short circuit 12 logic 13 142021-07-13 01:06 Christos Zoulas <christos@zoulas.com> 15 16 * Fix memory leak in compile mode 17 182021-07-01 03:51 Christos Zoulas <christos@zoulas.com> 19 20 * PR/272: kiefermat: Only set returnval = 1 when we printed something 21 (in all cases print or !print). This simplifies the logic and fixes 22 the issue in the PR with -k and --mime-type there was no continuation 23 printed before the default case. 24 252021-06-30 13:07 Christos Zoulas <christos@zoulas.com> 26 27 * PR/270: Don't translate unprintable characters in %s magic formats 28 when -r 29 * PR/269: Avoid undefined behavior with clang (adding offset to NULL) 30 312021-05-09 18:38 Christos Zoulas <christos@zoulas.com> 32 33 * Add a new flag (f) that requires that the match is a full word, 34 not a partial word match. 35 * Add varint types (unused) 36 372021-04-19 17:17 Christos Zoulas <christos@zoulas.com> 38 39 * PR/256: mutableVoid: If the file is less than 3 bytes, use the file 40 length to determine type 41 * PR/259: aleksandr.v.novichkov: mime printing through indirect magic 42 is not taken into account, use match directly so that it does. 43 442021-04-04 17:02 Christos Zoulas <christos@zoulas.com> 45 46 * count the total bytes found not the total byte positions 47 in order to determine encoding (Anatol Belski) 48 492021-03-30 20:21 Christos Zoulas <christos@zoulas.com> 50 51 * release 5.40 52 532021-02-05 16:31 Christos Zoulas <christos@zoulas.com> 54 55 * PR/234: Add limit to the number of bytes to scan for encoding 56 * PR/230: Fix /T (trim flag) for regex 57 582021-02-01 12:31 Christos Zoulas <christos@zoulas.com> 59 * PR/77: Trim trailing separator. 60 612020-12-17 15:44 Christos Zoulas <christos@zoulas.com> 62 63 * PR/211: Convert system read errors from corrupt ELF 64 files into human readable error messages 65 662020-12-08 16:24 Christos Zoulas <christos@zoulas.com> 67 68 * fix multithreaded decompression file descriptor issue 69 by using close-on-exec (Denys Vlasenko) 70 712020-06-27 11:58 Christos Zoulas <christos@zoulas.com> 72 73 * Exclude surrogate pairs from utf-8 detection (Michael Liu) 74 752020-06-25 12:53 Christos Zoulas <christos@zoulas.com> 76 77 * Include # to the list of ignored format chars (Werner Fink) 78 792020-06-14 20:02 Christos Zoulas <christos@zoulas.com> 80 81 * release 5.39 82 832020-06-07 20:00 Christos Zoulas <christos@zoulas.com> 84 85 * Remove unused subtype_mime (Steve Grubb) 86 * Remove unused check in okstat (Steve Grubb) 87 * Fix mime-type in elf binaries by making sure $x is set 88 * Fix indirect negative offsets broken by OFFNEGATIVE 89 * Fix GUID equality check 90 * PR/165: Handle empty array and strings in JSON 91 * PR/162: Add --exclude-quiet 92 932020-06-06 15:33 Christos Zoulas <christos@zoulas.com> 94 95 * Fix memory leak in ascmagic (Steve Grubb) 96 972020-06-04 00:21 Christos Zoulas <christos@zoulas.com> 98 99 * Fix string comparison length with ignore whitespace 100 1012020-05-31 00:11 Christos Zoulas <christos@zoulas.com> 102 103 * Fix mingwin 64 compilation 104 1052020-05-30 23:56 Christos Zoulas <christos@zoulas.com> 106 107 * PR/159: whitelist getpid needed for file_pipe2file() 108 1092020-05-09 18:57 Christos Zoulas <christos@zoulas.com> 110 111 * Indicate negative offsets with a flag OFFNEGATIVE 112 so that -0 works. 113 * Introduce "offset" magic type that can be used to 114 detect the file size, and bail on short files. 115 * document DER better in the magic man page. 116 1172020-03-11 21:53 Christos Zoulas <christos@zoulas.com> 118 119 * fix memory leaks (SonarQube) 120 1212020-03-08 21:33 Christos Zoulas <christos@zoulas.com> 122 123 * fix memory leaks (SonarQube) 124 * rewrite confusing loops (SonarQube) 125 * fix bogus test (SonarQube) 126 * pass a sized buffer to file_fmttime() (SonarQube) 127 128 * fix memory leaks (SonarQube) 129 1302020-02-20 15:50 Christos Zoulas <christos@zoulas.com> 131 132 * Don't allow * in printf formats, or the code itself (Christoph Biedl) 133 * Introduce a printf output size checker to avoid DoS attacks 134 1352020-02-17 17:22 Christos Zoulas <christos@zoulas.com> 136 137 * Avoid memory leak on error (oss-fuzz) 138 * Check length of string on DER before derefercing and add new types 139 * Add missing DER string (oss-fuzz) 140 1412020-02-16 20:45 Christos Zoulas <christos@zoulas.com> 142 143 * Add missing DER types, and debugging 144 1452020-02-13 13:10 Christos Zoulas <christos@zoulas.com> 146 147 * PR/140: Avoid abort with hand-crafted magic file (gockelhahn) 148 * PR/139 Avoid DoS in printf with hand-crafted magic file (gockelhahn) 149 * PR/138: Avoid crash with hand-crafted magic file (gockelhahn) 150 1512020-02-12 17:30 Christos Zoulas <christos@zoulas.com> 152 153 * PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine) 154 1552019-12-24 14:16 Christos Zoulas <christos@zoulas.com> 156 157 * add guid support 158 1592019-12-16 21:11 Christos Zoulas <christos@zoulas.com> 160 161 * release 5.38 162 1632019-12-15 22:13 Christos Zoulas <christos@zoulas.com> 164 Document changes since the previous release: 165 - Always accept -S (no sandbox) even if we don't support sandboxing 166 - More syscalls elided for sandboxiing 167 - For ELF dynamic means having an interpreter not just PT_DYNAMIC 168 - Check for large ELF session header offset 169 - When saving and restoring a locale, keep the locale name in our 170 own storage. 171 - Add a flag to disable CSV file detection. 172 - Don't pass NULL/0 to memset to appease sanitizers. 173 - Avoid spurious prints when looks for extensions or apple strings 174 in fsmagic. 175 - Add builtin decompressors for xz and and bzip. 176 - Add a limit for the number of CDF elements. 177 - More checks for overflow in CDF. 178 1792019-05-14 22:26 Christos Zoulas <christos@zoulas.com> 180 181 * release 5.37 182 1832019-05-09 22:27 Christos Zoulas <christos@zoulas.com> 184 185 * Make sure that continuation separators are printed 186 with -k within softmagic 187 1882019-05-06 22:27 Christos Zoulas <christos@zoulas.com> 189 190 * Change SIGPIPE saving and restoring during compression to use 191 sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko) 192 * Cache stat(2) calls more to reduce number of calls (Denys Vlasenko) 193 1942019-05-06 17:25 Christos Zoulas <christos@zoulas.com> 195 196 * PR/77: Handle --mime-type and -k correctly. 197 1982019-05-03 15:26 Christos Zoulas <christos@zoulas.com> 199 200 * Switch decompression code to use vfork() because 201 tools like rpmdiff and rpmbuild call libmagic 202 with large process footprints (Denys Vlasenko) 203 2042019-04-07 14:05 Christos Zoulas <christos@zoulas.com> 205 206 * PR/75: --enable-zlib, did not work. 207 2082019-02-27 11:54 Christos Zoulas <christos@zoulas.com> 209 210 * Improve regex efficiency (Michael Schroeder) by: 211 1. Prefixing regex searches with regular search 212 for keywords where possible 213 2. Using memmem(3) where available 214 2152019-02-20 10:16 Christos Zoulas <christos@zoulas.com> 216 217 * release 5.36 218 2192019-02-19 15:30 Christos Zoulas <christos@zoulas.com> 220 221 * Fix cast to use cast macros 222 * Add UCS-32 builtin detection (PR/61) reported by tmc 223 2242019-02-18 18:24 Christos Zoulas <christos@zoulas.com> 225 226 * Fix stack read (PR/62) and write (PR/64) stack overflows 227 reported by spinpx 228 2292018-10-18 19:32 Christos Zoulas <christos@zoulas.com> 230 231 * release 5.35 232 2332018-09-10 20:38 Christos Zoulas <christos@zoulas.com> 234 235 * Add FreeBSD ELF core file support (John Baldwin) 236 2372018-08-20 18:40 Christos Zoulas <christos@zoulas.com> 238 239 * PR/30: Allow all parameter values to be set (don't treat 0 specially) 240 * handle default annotations on the softmagic match instead at the 241 end. 242 2432018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 244 245 * PR/23: Recognize JSON files 246 2472018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 248 249 * PR/18: file --mime-encoding should not print mime-type 250 2512018-07-25 8:50 Christos Zoulas <christos@zoulas.com> 252 253 * release 5.34 254 2552018-06-22 16:38 Christos Zoulas <christos@zoulas.com> 256 257 * Add Quad indirect offsets 258 2592018-05-24 14:10 Christos Zoulas <christos@zoulas.com> 260 261 * Enable parsing of ELF dynamic sections to handle PIE better 262 2632018-04-15 14:52 Christos Zoulas <christos@zoulas.com> 264 265 * release 5.33 266 2672018-02-24 14:50 Christos Zoulas <christos@zoulas.com> 268 269 * extend the support for ${x?:} expansions for magic descriptions 270 2712018-02-21 16:25 Christos Zoulas <christos@zoulas.com> 272 273 * add support for ${x?:} in mime types to handle 274 pie binaries. 275 2762017-11-03 9:23 Christos Zoulas <christos@zoulas.com> 277 278 * add support for negative offsets (offsets from the end of file) 279 2802017-09-26 8:22 Christos Zoulas <christos@zoulas.com> 281 282 * close the file on error when writing magic (Steve Grubb) 283 2842017-09-24 12:02 Christos Zoulas <christos@zoulas.com> 285 286 * seccomp support (Paul Moore) 287 2882017-09-02 11:53 Christos Zoulas <christos@zoulas.com> 289 290 * release 5.32 291 2922017-08-28 16:37 Christos Zoulas <christos@zoulas.com> 293 294 * Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski) 295 2962017-08-27 03:55 Christos Zoulas <christos@zoulas.com> 297 298 * Fix always true condition (Thomas Jarosch) 299 3002017-05-24 17:30 Christos Zoulas <christos@zoulas.com> 301 302 * pickier parsing of numeric values in magic files. 303 3042017-05-23 17:55 Christos Zoulas <christos@zoulas.com> 305 306 * PR/615 add magic_getflags() 307 3082017-05-23 13:55 Christos Zoulas <christos@zoulas.com> 309 310 * release 5.31 311 3122017-03-17 20:32 Christos Zoulas <christos@zoulas.com> 313 314 * remove trailing spaces from magic files 315 * refactor is_tar 316 * better bounds checks for cdf 317 3182017-02-10 12:24 Christos Zoulas <christos@zoulas.com> 319 320 * release 5.30 321 3222017-02-07 23:27 Christos Zoulas <christos@zoulas.com> 323 324 * If we exceeded the offset in a search return no match 325 (Christoph Biedl) 326 * Be more lenient on corrupt CDF files (Christoph Biedl) 327 3282017-02-04 16:46 Christos Zoulas <christos@zoulas.com> 329 330 * pacify ubsan sign extension (oss-fuzz/524) 331 3322017-02-01 12:42 Christos Zoulas <christos@zoulas.com> 333 334 * off by one in cdf parsing (PR/593) 335 * report debugging sections in elf (PR/591) 336 3372016-11-06 10:52 Christos Zoulas <christos@zoulas.com> 338 339 * Allow @@@ in extensions 340 * Add missing overflow check in der magic (Jonas Wagner) 341 3422016-10-25 10:40 Christos Zoulas <christos@zoulas.com> 343 344 * release 5.29 345 3462016-10-24 11:20 Christos Zoulas <christos@zoulas.com> 347 348 * der getlength overflow (Jonas Wagner) 349 * multiple magic file load failure (Christoph Biedl) 350 3512016-10-17 11:26 Christos Zoulas <christos@zoulas.com> 352 353 * CDF parsing improvements (Guy Helmer) 354 3552016-07-20 7:26 Christos Zoulas <christos@zoulas.com> 356 357 * Add support for signed indirect offsets 358 3592016-07-18 7:41 Christos Zoulas <christos@zoulas.com> 360 361 * cat /dev/null | file - should print empty (Christoph Biedl) 362 3632016-07-05 15:20 Christos Zoulas <christos@zoulas.com> 364 365 * Bump string size from 64 to 96. 366 3672016-06-13 20:20 Christos Zoulas <christos@zoulas.com> 368 369 * PR/556: Fix separators on annotations. 370 3712016-06-13 19:40 Christos Zoulas <christos@zoulas.com> 372 373 * release 5.28 374 * fix leak on allocation failure 375 3762016-06-01 1:20 Christos Zoulas <christos@zoulas.com> 377 378 * PR/555: Avoid overflow for offset > nbytes 379 * PR/550: Segv on DER parsing: 380 - use the correct variable for length 381 - set offset to 0 on failure. 382 3832016-05-13 12:00 Christos Zoulas <christos@zoulas.com> 384 385 * release 5.27 386 3872016-04-18 9:35 Christos Zoulas <christos@zoulas.com> 388 389 * Errors comparing DER entries or computing offsets 390 are just indications of malformed non-DER files. 391 Don't print them. 392 * Offset comparison was off-by-one. 393 * Fix compression code (Werner Fink) 394 * Put new bytes constant in the right file (not the generated one) 395 3962016-04-16 18:34 Christos Zoulas <christos@zoulas.com> 397 398 * release 5.26 399 4002016-03-31 13:50 Christos Zoulas <christos@zoulas.com> 401 402 * make the number of bytes read from files configurable. 403 4042016-03-21 13:40 Christos Zoulas <christos@zoulas.com> 405 406 * Add bounds checks for DER code (discovered by Thomas Jarosch) 407 * Change indirect recursion limit to indirect use count and 408 bump from 15 to 50 to prevent abuse. 409 4102016-03-13 20:39 Christos Zoulas <christos@zoulas.com> 411 412 * Add -00 which prints filename\0description\0 413 4142016-03-01 13:28 Christos Zoulas <christos@zoulas.com> 415 416 * Fix ID3 indirect parsing 417 4182016-01-19 10:18 Christos Zoulas <christos@zoulas.com> 419 420 * add DER parsing capability 421 4222015-11-13 10:35 Christos Zoulas <christos@zoulas.com> 423 424 * provide dprintf(3) for the OS's that don't have it. 425 4262015-11-11 16:25 Christos Zoulas <christos@zoulas.com> 427 428 * redo the compression code report decompression errors 429 4302015-11-10 23:25 Christos Zoulas <christos@zoulas.com> 431 432 * REG_STARTEND code is not working as expected, delete it. 433 4342015-11-09 16:05 Christos Zoulas <christos@zoulas.com> 435 436 * Add zlib support if we have it. 437 4382015-11-05 11:22 Christos Zoulas <christos@zoulas.com> 439 440 * PR/492: compression forking was broken with magic_buffer. 441 4422015-09-16 9:50 Christos Zoulas <christos@zoulas.com> 443 444 * release 5.25 445 4462015-09-11 13:25 Christos Zoulas <christos@zoulas.com> 447 448 * add a limit to the length of regex searches 449 4502015-09-08 9:50 Christos Zoulas <christos@zoulas.com> 451 452 * fix problems with --parameter (Christoph Biedl) 453 4542015-07-11 10:35 Christos Zoulas <christos@zoulas.com> 455 456 * Windows fixes PR/466 (Jason Hood) 457 4582015-07-09 10:35 Christos Zoulas <christos@zoulas.com> 459 460 * release 5.24 461 4622015-06-11 8:52 Christos Zoulas <christos@zoulas.com> 463 464 * redo long option encoding to fix off-by-one in 5.23 465 4662015-06-10 13:50 Christos Zoulas <christos@zoulas.com> 467 468 * release 5.23 469 4702015-06-09 16:10 Christos Zoulas <christos@zoulas.com> 471 472 * Fix issue with regex range for magic with offset 473 * Always return true from mget with USE (success to mget not match 474 indication). Fixes mime evaluation after USE magic 475 * PR/459: Don't insert magic entries to the list if there are parsing 476 errors for them. 477 4782015-06-03 16:00 Christos Zoulas <christos@zoulas.com> 479 480 * PR/455: Add utf-7 encoding 481 4822015-06-03 14:30 Christos Zoulas <christos@zoulas.com> 483 484 * PR/455: Implement -Z, look inside, but don't report on compression 485 * PR/454: Fix allocation error on bad magic. 486 4872015-05-29 10:30 Christos Zoulas <christos@zoulas.com> 488 489 * handle MAGIC_CONTINUE everywhere, not just in softmagic 490 4912015-05-21 14:30 Christos Zoulas <christos@zoulas.com> 492 493 * don't print descriptions for NAME types when mime. 494 4952015-04-09 15:59 Christos Zoulas <christos@zoulas.com> 496 497 * Add --extension to list the known extensions for this file type 498 Idea by Andrew J Roazen 499 5002015-02-14 12:23 Christos Zoulas <christos@zoulas.com> 501 502 * Bump file search buffer size to 1M. 503 5042015-01-09 14:35 Christos Zoulas <christos@zoulas.com> 505 506 * Fix multiple issues with date formats reported by Christoph Biedl: 507 - T_LOCAL meaning was reversed 508 - Arithmetic did not work 509 Also stop adjusting daylight savings for gmt printing. 510 5112015-01-05 13:00 Christos Zoulas <christos@zoulas.com> 512 513 * PR/411: Fix memory corruption from corrupt cdf file. 514 5152015-01-02 15:15 Christos Zoulas <christos@zoulas.com> 516 517 * release 5.22 518 5192015-01-01 12:01 Christos Zoulas <christos@zoulas.com> 520 521 * add indirect relative for TIFF/Exif 522 5232014-12-16 18:10 Christos Zoulas <christos@zoulas.com> 524 525 * restructure elf note printing to avoid repeated messages 526 * add note limit, suggested by Alexander Cherepanov 527 5282014-12-16 16:53 Christos Zoulas <christos@zoulas.com> 529 530 * Bail out on partial pread()'s (Alexander Cherepanov) 531 * Fix incorrect bounds check in file_printable (Alexander Cherepanov) 532 5332014-12-11 20:01 Christos Zoulas <christos@zoulas.com> 534 535 * PR/405: ignore SIGPIPE from uncompress programs 536 * change printable -> file_printable and use it in 537 more places for safety 538 * in ELF, instead of "(uses dynamic libraries)" when PT_INTERP 539 is present print the interpreter name. 540 5412014-12-10 20:01 Christos Zoulas <christos@zoulas.com> 542 543 * release 5.21 544 5452014-11-27 18:40 Christos Zoulas <christos@zoulas.com> 546 547 * Allow setting more parameters from the command line. 548 * Split name/use and indirect magic recursion limits. 549 5502014-11-27 11:12 Christos Zoulas <christos@zoulas.com> 551 552 * Adjust ELF parameters and the default recursion 553 level. 554 * Allow setting the recursion level dynamically. 555 5562014-11-24 8:55 Christos Zoulas <christos@zoulas.com> 557 558 * The following fixes resulted from Thomas Jarosch's fuzzing 559 tests that revealed severe performance issues on pathological 560 input: 561 - limit number of elf program and sections processing 562 - abort elf note processing quickly 563 - reduce the number of recursion levels from 20 to 10 564 - preserve error messages in indirect magic handling 565 566 This is tracked as CVE-2014-8116 and CVE-2014-8117 567 5682014-11-12 10:30 Christos Zoulas <christos@zoulas.com> 569 570 * fix bogus free in the user buffer case. 571 5722014-11-11 12:35 Christos Zoulas <christos@zoulas.com> 573 574 * fix out of bounds read for pascal strings 575 * fix memory leak (not freeing the head of each mlist) 576 5772014-11-07 10:25 Christos Zoulas <christos@zoulas.com> 578 579 * When printing strings from a file, convert them to printable 580 on a byte by byte basis, so that we don't get issues with 581 locale's trying to interpret random byte streams as UTF-8 and 582 having printf error out with EILSEQ. 583 5842014-10-17 11:48 Christos Zoulas <christos@zoulas.com> 585 586 * fix bounds in note reading (Francisco Alonso / Red Hat) 587 5882014-10-11 15:02 Christos Zoulas <christos@zoulas.com> 589 590 * fix autoconf glue for setlocale and locale_t; some OS's 591 have locale_t in xlocale.h 592 5932014-10-10 15:01 Christos Zoulas <christos@zoulas.com> 594 595 * release 5.20 596 5972014-08-17 10:01 Christos Zoulas <christos@zoulas.com> 598 599 * recognize encrypted CDF documents 600 6012014-08-04 9:18 Christos Zoulas <christos@zoulas.com> 602 603 * add magic_load_buffers from Brooks Davis 604 6052014-07-24 16:40 Christos Zoulas <christos@zoulas.com> 606 607 * add thumbs.db support 608 6092014-06-12 12:28 Christos Zoulas <christos@zoulas.com> 610 611 * release 5.19 612 6132014-06-09 9:04 Christos Zoulas <christos@zoulas.com> 614 615 * Misc buffer overruns and missing buffer size tests in cdf parsing 616 (Francisco Alonso, Jan Kaluza) 617 6182014-06-02 14:50 Christos Zoulas <christos@zoulas.com> 619 620 * Enforce limit of 8K on regex searches that have no limits 621 * Allow the l modifier for regex to mean line count. Default 622 to byte count. If line count is specified, assume a max 623 of 80 characters per line to limit the byte count. 624 * Don't allow conversions to be used for dates, allowing 625 the mask field to be used as an offset. 626 6272014-05-30 12:51 Christos Zoulas <christos@zoulas.com> 628 629 * Make the range operator limit the length of the 630 regex search. 631 6322014-05-14 19:23 Christos Zoulas <christos@zoulas.com> 633 634 * PR/347: Windows fixes 635 * PR/352: Hangul word processor recognition 636 * PR/354: Encoding irregularities in text files 637 6382014-05-06 6:12 Christos Zoulas <christos@zoulas.com> 639 640 * Fix uninitialized title in CDF files (Jan Kaluza) 641 6422014-05-04 14:55 Christos Zoulas <christos@zoulas.com> 643 644 * PR/351: Fix compilation of empty files 645 6462014-04-30 17:39 Christos Zoulas <christos@zoulas.com> 647 648 * Fix integer formats: We don't specify 'l' or 649 'h' and 'hh' specifiers anymore, only 'll' for 650 quads and nothing for the rest. This is so that 651 magic writing is simpler. 652 6532014-04-01 15:25 Christos Zoulas <christos@zoulas.com> 654 655 * PR/341: Jan Kaluza, fix memory leak 656 * PR/342: Jan Kaluza, fix out of bounds read 657 6582014-03-28 15:25 Christos Zoulas <christos@zoulas.com> 659 660 * Fix issue with long formats not matching fmtcheck 661 6622014-03-26 11:25 Christos Zoulas <christos@zoulas.com> 663 664 * release 5.18 665 6662014-03-15 17:45 Christos Zoulas <christos@zoulas.com> 667 668 * add fmtcheck(3) for those who don't have it 669 6702014-03-14 15:12 Christos Zoulas <christos@zoulas.com> 671 672 * prevent mime entries from being attached to magic 673 entries with no descriptions 674 675 * adjust magic strength for regex type 676 677 * remove superfluous ascmagic with encoding test 678 6792014-03-06 12:01 Christos Zoulas <christos@zoulas.com> 680 681 * fix regression fix echo -ne "\012\013\014" | file -i - 682 which printed "binary" instead of "application/octet-stream" 683 684 * add size_t overflow check for magic file size 685 6862014-02-27 16:01 Christos Zoulas <christos@zoulas.com> 687 688 * experimental support for matching with CFD CLSID 689 6902014-02-18 13:04 Kimmo Suominen (kimmo@suominen.com) 691 692 * Cache old LC_CTYPE locale before setting it to "C", so 693 we can use it to restore LC_CTYPE instead of asking 694 setlocale() to scan the environment variables. 695 6962014-02-12 18:21 Christos Zoulas <christos@zoulas.com> 697 698 * Count recursion levels through indirect magic 699 7002014-02-11 10:40 Christos Zoulas <christos@zoulas.com> 701 702 * Prevent infinite recursion on files with indirect offsets of 0 703 7042014-01-30 21:00 Christos Zoulas <christos@zoulas.com> 705 706 * Add -E flag that makes file print filesystem errors to stderr 707 and exit. 708 7092014-01-08 17:20 Christos Zoulas <christos@zoulas.com> 710 711 * mime printing could print results from multiple magic entries 712 if there were multiple matches. 713 * in some cases overflow was not detected when computing offsets 714 in softmagic. 715 7162013-12-05 12:00 Christos Zoulas <christos@zoulas.com> 717 718 * use strcasestr() to for cdf strings 719 * reset to the "C" locale while doing regex operations, or case 720 insensitive comparisons; this is provisional 721 7222013-11-19 20:10 Christos Zoulas <christos@zoulas.com> 723 724 * always leave magic file loaded, don't unload for magic_check, etc. 725 * fix default encoding to binary instead of unknown which broke recently 726 * handle empty and one byte files, less specially so that 727 --mime-encoding does not break completely. 728 ` 7292013-11-06 14:40 Christos Zoulas <christos@zoulas.com> 730 731 * fix erroneous non-zero exit code from non-existent file and message 732 7332013-10-29 14:25 Christos Zoulas <christos@zoulas.com> 734 735 * add CDF MSI file detection (Guy Helmer) 736 7372013-09-03 11:56 Christos Zoulas <christos@zoulas.com> 738 739 * Don't mix errors and regular output if there was an error 740 * in magic_descriptor() don't close the file and try to restore 741 its position 742 7432013-05-30 17:25 Christos Zoulas <christos@zoulas.com> 744 745 * Don't treat magic as an error if offset was past EOF (Christoph Biedl) 746 7472013-05-28 17:25 Christos Zoulas <christos@zoulas.com> 748 749 * Fix spacing issues in softmagic and elf (Jan Kaluza) 750 7512013-05-02 18:00 Christos Zoulas <christos@zoulas.com> 752 753 * Fix segmentation fault with multiple magic_load commands. 754 7552013-04-22 11:20 Christos Zoulas <christos@zoulas.com> 756 757 * The way "default" was implemented was not very useful 758 because the "if something was printed at that level" 759 was not easily controlled by the user, and the format 760 was bound to a string which is too restrictive. Add 761 a "clear" for that level keyword and make "default" 762 void. This way one can do: 763 764 >>13 clear x 765 >>13 lelong 1 foo 766 >>13 lelong 2 bar 767 >>13 default x 768 >>>13 lelong x unknown %x 769 7702013-03-25 13:20 Christos Zoulas <christos@zoulas.com> 771 772 * disallow strength setting in "name" entries 773 7742013-03-06 21:24 Christos Zoulas <christos@zoulas.com> 775 776 * fix recursive magic separator printing 777 7782013-02-26 19:28 Christos Zoulas <christos@zoulas.com> 779 780 * limit recursion level for mget 781 * fix pread() related breakage in cdf 782 * handle offsets properly in recursive "use" 783 7842013-02-18 10:39 Christos Zoulas <christos@zoulas.com> 785 786 * add elf reading of debug info to determine if file is stripped 787 (Jan Kaluza) 788 * use pread() 789 7902013-01-25 18:05 Christos Zoulas <christos@zoulas.com> 791 792 * change mime description size from 64 to 80 to accommodate OOXML. 793 7942013-01-11 14:50 Christos Zoulas <christos@zoulas.com> 795 796 * Warn about inconsistent continuation levels. 797 * Change fsmagic to add a space after it prints. 798 7992013-01-10 21:00 Christos Zoulas <christos@zoulas.com> 800 801 * Make getline public so that file can link against it. 802 Perhaps it is better to rename it, or hide it differently. 803 Fixes builds on platforms that do not provide it. 804 8052013-01-07 16:30 Christos Zoulas <christos@zoulas.com> 806 807 * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document 808 what long, int, short, etc is (Guy Harris) 809 8102013-01-06 11:20 Christos Zoulas <christos@zoulas.com> 811 812 * add magic_version function and constant 813 * Redo memory allocation and de-allocation. 814 (prevents double frees on non mmap platforms) 815 * Fix bug with name/use having to do with passing 816 found state from the parent to the child and back. 817 8182012-12-19 8:47 Christos Zoulas <christos@zoulas.com> 819 820 * Only print elf capabilities for archs we know (Jan Kaluza) 821 8222012-10-30 19:14 Christos Zoulas <christos@zoulas.com> 823 824 * Add "name" and "use" file types in order to look 825 inside mach-o files. 826 8272012-09-06 10:40 Christos Zoulas <christos@zoulas.com> 828 829 * make --version exit 0 (Matthew Schultz) 830 * add string/T (Jan Kaluza) 831 8322012-08-09 2:15 Christos Zoulas <christos@zoulas.com> 833 834 * add z and t modifiers for our own vasprintf 835 * search for $HOME/.magic.mgc if it is there first 836 * fix reads from a pipe, and preserve errno 837 8382012-05-15 13:12 Christos Zoulas <christos@zoulas.com> 839 840 * use ctime_r, asctime_r 841 8422012-04-06 17:18 Christos Zoulas <christos@zoulas.com> 843 844 * Fixes for indirect offsets to handle apple disk formats 845 8462012-04-03 18:26 Christos Zoulas <christos@zoulas.com> 847 848 * Add windows date field types 849 * More info for windows shortcuts (incomplete) 850 8512012-02-20 17:33 Christos Zoulas <christos@zoulas.com> 852 853 * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann) 854 8552011-12-15 12:17 Chris Metcalf <cmetcalf@tilera.com> 856 857 * Support Tilera architectures (tile64, tilepro, tilegx). 858 8592011-12-16 16:33 Reuben Thomas <rrt@sc3d.org> 860 861 * Add magic for /usr/bin/env Perl scripts 862 * Weaken generic script magic to avoid clashing with 863 language-specific magic. 864 8652011-12-08 13:37 Reuben Thomas <rrt@sc3d.org> 866 867 * Simplify if (p) free(p) to free(p). 868 8692011-12-08 13:07 Reuben Thomas <rrt@sc3d.org> 870 871 * Remove hardwired token finding (names.h), turning it into soft 872 magic. Patterns are either anchored regexs or search/8192. English 873 language detection and PL/1 detection have been removed as they 874 were too fragile. -e tokens is still accepted for backwards 875 compatibility. 876 * Move 3ds patterns (which are commented out anyway) into autodesk 877 (they were, oddly, in c-lang). 878 8792011-12-06 00:16 Reuben Thomas <rrt@sc3d.org> 880 881 * Tweak strength of generic hash-bang detectors to be less than 882 specific ones. 883 * Make an inconsistent description of Python scripts consistent. 884 8852011-12-05 23:58 Reuben Thomas <rrt@sc3d.org> 886 887 * Fix minor error in file(1). 888 8892011-11-05 00:00 Reuben Thomas <rrt@sc3d.org> 890 891 * Fix issue #150 (I hope). 892 8932011-09-22 12:57 Christos Zoulas <christos@zoulas.com> 894 895 * Python3 binding fixes from Kelly Anderson 896 8972011-09-20 11:32 Christos Zoulas <christos@zoulas.com> 898 899 * If a string type magic entry is marked as text or binary 900 only match text files against text entries and binary 901 files against binary entries. 902 9032011-09-01 12:12 Christos Zoulas <christos@zoulas.com> 904 905 * Don't wait for any subprocess, just the one we forked. 906 9072011-08-26 16:40 Christos Zoulas <christos@zoulas.com> 908 909 * If the application name is not set in a cdf file, try to see 910 if it has a directory with the application name on it. 911 9122011-08-17 14:32 Christos Zoulas <christos@zoulas.com> 913 914 * Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza 915 9162011-08-14 09:03 Christos Zoulas <christos@zoulas.com> 917 918 * Don't use variable string formats. 919 9202011-07-12 12:32 Reuben Thomas <rrt@sc3d.org> 921 922 * Fix detection of Zip files (Mantis #128). 923 * Make some minor improvements to file(1). 924 * Rename MIME types for filesystem objects for consistency with 925 xdg-utils. Typically this means that application/x-foo becomes 926 inode/foo, but some names also change slightly, e.g. 927 application/x-character-device becomes inode/chardevice. 928 9292011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 930 931 * fix mingw compilation (Abradoks) 932 9332011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 934 935 * remove patchlevel.h 936 * Fix read past allocated memory caused by double-incrementing 937 a pointer in a loop (reported by Roberto Maar) 938 9392011-03-30 15:45 Christos Zoulas <christos@zoulas.com> 940 941 * Fix cdf string buffer setting (Sven Anders) 942 9432011-03-20 16:35 Christos Zoulas <christos@zoulas.com> 944 945 * Eliminate MAXPATHLEN and use dynamic allocation for 946 path and file buffers. 947 9482011-03-15 18:15 Christos Zoulas <christos@zoulas.com> 949 950 * binary tests on magic entries with masks could spuriously 951 get converted to ascii. 952 9532011-03-12 18:06 Reuben Thomas <rrt@sc3d.org> 954 955 * Improve file.man (remove BUGS, present email addresses consistently). 956 9572011-03-07 19:38 Christos Zoulas <christos@zoulas.com> 958 959 * add lrzip support (from Ville Skytta) 960 9612011-02-10 16:36 Christos Zoulas <christos@zoulas.com> 962 963 * fix CDF bounds checking (Guy Helmer) 964 9652011-02-10 12:03 Christos Zoulas <christos@zoulas.com> 966 967 * add cdf_ctime() that prints a meaningful error when time cannot 968 be converted. 969 9702011-02-02 20:40 Christos Zoulas <christos@zoulas.com> 971 972 * help and version output to stdout. 973 974 * When matching softmagic for ascii files, don't just print 975 the softmagic classification, keep going and print the 976 text classification too. This fixes broken troff files when 977 we moved them from keyword recognition to softmagic 978 (they stopped printing "with CRLF" etc.) 979 Reported by Doug McIlroy. 980 9812011-01-16 19:31 Reuben Thomas <rrt@sc3d.org> 982 983 * Fix two potential buffer overruns in apprentice_list. 984 9852011-01-14 22:33 Reuben Thomas <rrt@sc3d.org> 986 987 * New Python binding in pure Python. 988 * Update libmagic(3). 989 9902011-01-06 21:40 Reuben Thomas <rrt@sc3d.org> 991 992 * Fix Python bindings (including recent Python 3 compatibility 993 update). 994 9952011-01-04 18:43 Reuben Thomas <rrt@sc3d.org> 996 997 * magic/Makefile.am: make it easier to recover from magic build failures. 998 * Fix pstring length specifier parsing to avoid generating invalid 999 magic files. 1000 * Add pstring length "J" (for "JPEG") to specify that the length 1001 include itself. 1002 * Fix JPEG comment parsing at last using pstring/HJ! 1003 * Ignore section 5 man pages in doc/.cvsignore. 1004 10052010-12-22 13:12 Christos Zoulas <christos@zoulas.com> 1006 1007 * Add pstring/BHhLl to specify the type of the length of pascal 1008 strings. 1009 10102010-11-26 18:39 Reuben Thomas <rrt@sc3d.org> 1011 1012 * Fix "-e soft": it was ignored when softmagic was called 1013 during asciimagic. 1014 * Improve comments and use "unsigned char" in tar.h/is_tar.c. 1015 10162010-11-05 17:26 Reuben Thomas <rrt@sc3d.org> 1017 1018 * Make bug reporting addresses more visible. 1019 10202010-11-01 18:35 Reuben Thomas <rrt@sc3d.org> 1021 1022 * Add tcl magic from Gustaf Neumann 1023 10242010-10-24 10:42 Christos Zoulas <christos@zoulas.com> 1025 1026 * Fix the whitespace comparing code (Christopher Chittleborough) 1027 10282010-10-06 21:05 Christos Zoulas <christos@zoulas.com> 1029 1030 * allow string/t to work (Jan Kaluza) 1031 10322010-09-20 22:11 Reuben Thomas <rrt@sc3d.org> 1033 1034 * Apply some patches from Ubuntu and Fedora. 1035 10362010-09-20 21:16 Reuben Thomas <rrt@sc3d.org> 1037 1038 * Apply all patches from Debian package 5.04-6 which have not 1039 already been applied and are not Debian-specific. 1040 10412010-09-20 15:24 Reuben Thomas <rrt@sc3d.org> 1042 1043 * Minor security fix to softmagic.c (don't use untrusted 1044 string as printf format). 1045 10462010-07-21 12:20 Christos Zoulas <christos@zoulas.com> 1047 1048 * MINGW32 portability from LRN 1049 1050 * Don't warn about escaping magic regex chars when we are in a regex. 1051 10522010-07-19 10:55 Christos Zoulas <christos@zoulas.com> 1053 1054 * Only try to print prpsinfo for core files. (Jan Kaluza) 1055 10562010-04-22 12:55 Christos Zoulas <christos@zoulas.com> 1057 1058 * Try more elf offsets for Debian core files. (Arnaud Giersch) 1059 10602010-02-20 15:18 Reuben Thomas <rrt@sc3d.org> 1061 1062 * Clarify which sort of CDF we mean. 1063 10642010-02-14 22:58 Reuben Thomas <rrt@sc3d.org> 1065 1066 * Re-jig Zip file type magic so that unsupported special 1067 Zip types (those with "mimetype" at offset 30) can be 1068 recognized. 1069 10702010-02-02 21:50 Reuben Thomas <rrt@sc3d.org> 1071 1072 * Add support for OCF (EPUB) files (application/epub+zip) 1073 10742010-01-28 18:25 Christos Zoulas <christos@zoulas.com> 1075 1076 * Fix core-dump from unbound loop: 1077 https://bugzilla.redhat.com/show_bug.cgi?id=533245 1078 10792010-01-22 15:45 Christos Zoulas <christos@zoulas.com> 1080 1081 * print proper mime for crystal reports file 1082 1083 * print the last summary information of a cdf document, not the 1084 first so that nested documents print the right info 1085 10862010-01-16 18:42 Charles Longeau <chl@tuxfamily.org> 1087 1088 * bring back some fixes from OpenBSD: 1089 - make gcc2 builds file 1090 - fix typos in a magic file comment 1091 10922009-11-17 18:35 Christos Zoulas <christos@zoulas.com> 1093 1094 * ctime/asctime can return NULL on some OS's although 1095 they should not (Toshit Antani) 1096 10972009-09-14 13:49 Christos Zoulas <christos@zoulas.com> 1098 1099 * Centralize magic path handling routines and remove the 1100 special-casing from file.c so that the python module for 1101 example comes up with the same magic path (Fixes ~/.magic 1102 handling) (from Gab) 1103 11042009-09-11 23:38 Reuben Thomas <rrt@sc3d.org> 1105 1106 * When magic argument is a directory, read the files in 1107 strcmp-sorted order (fixes Debian bug #488562 and our own FIXME). 1108 11092009-09-11 13:11 Reuben Thomas <rrt@sc3d.org> 1110 1111 * Combine overlapping epoc and psion magic files into one (epoc). 1112 1113 * Add some more EPOC MIME types. 1114 11152009-08-19 15:55 Christos Zoulas <christos@zoulas.com> 1116 1117 * Fix 3 bugs (From Ian Darwin): 1118 - file_showstr could move one past the end of the array 1119 - parse_apple did not nul terminate the string in the overflow case 1120 - parse_mime truncated the wrong string in the overflow case 1121 11222009-08-12 12:28 Robert Byrnes <byrnes@wildpumpkin.net> 1123 1124 * Include Localstuff when compiling magic. 1125 11262009-07-15 10:05 Christos Zoulas <christos@zoulas.com> 1127 1128 * Fix logic for including mygetopts.h 1129 1130 * Make cdf.c compile again with debugging 1131 1132 * Add the necessary field handling for crystal reports files to work 1133 11342009-06-23 01:34 Reuben Thomas <rrt@sc3d.org> 1135 1136 * Stop "(if" identifying Lisp files, that's plain dumb! 1137 11382009-06-09 22:13 Reuben Thomas <rrt@sc3d.org> 1139 1140 * Add a couple of missing MP3 MIME types. 1141 11422009-05-27 23:00 Reuben Thomas <rrt@sc3d.org> 1143 1144 * Add full range of hash-bang tests for Python and Ruby. 1145 1146 * Add MIME types for Python and Ruby scripts. 1147 11482009-05-13 10:44 Christos Zoulas <christos@zoulas.com> 1149 1150 * off by one in parsing hw capabilities in elf 1151 (Cheng Renquan) 1152 11532009-05-08 13:40 Christos Zoulas <christos@zoulas.com> 1154 1155 * lint fixes and more from NetBSD 1156 11572009-05-06 10:25 Christos Zoulas <christos@zoulas.com> 1158 1159 * Avoid null dereference in cdf code (Drew Yao) 1160 1161 * More cdf bounds checks and overflow checks 1162 11632009-05-01 18:37 Christos Zoulas <christos@zoulas.com> 1164 1165 * Buffer overflow fixes from Drew Yao 1166 11672009-04-30 17:10 Christos Zoulas <christos@zoulas.com> 1168 1169 * Fix more cdf lossage. All the documents I have 1170 right now print the correct information. 1171 11722009-03-27 18:43 Christos Zoulas <christos@zoulas.com> 1173 1174 * don't print \012- separators in the same magic entry 1175 if it consists of multiple magic printing lines. 1176 11772009-03-23 10:20 Christos Zoulas <christos@zoulas.com> 1178 1179 * Avoid file descriptor leak in compress code from 1180 (Daniel Novotny) 1181 11822009-03-18 16:50 Christos Zoulas <christos@zoulas.com> 1183 1184 * Allow escaping of relation characters, so that we can say \^[A-Z] 1185 and the ^ is not eaten as a relation char. 1186 1187 * Fix troff and fortran to their previous glory using 1188 regex. This was broken since their removel from ascmagic. 1189 11902009-03-10 16:50 Christos Zoulas <christos@zoulas.com> 1191 1192 * don't use strlen in strndup() (Toby Peterson) 1193 11942009-03-10 7:45 Christos Zoulas <christos@zoulas.com> 1195 1196 * avoid c99 syntax. 1197 11982009-02-23 15:45 Christos Zoulas <christos@zoulas.com> 1199 1200 * make the cdf code use the buffer first if available, 1201 and then the fd code. 1202 12032009-02-13 13:45 Christos Zoulas <christos@zoulas.com> 1204 1205 * look for struct option to determine if getopt.h is usable for IRIX. 1206 1207 * sanitize cdf document strings 1208 12092009-02-04 13:25 Christos Zoulas <christos@zoulas.com> 1210 1211 * fix OS/2 warnings. 1212 12132008-12-12 15:50 Christos Zoulas <christos@zoulas.com> 1214 1215 * fix initial offset calculation for non 4K sector files 1216 1217 * add loop limits to avoid DoS attacks by constructing 1218 looping sector references. 1219 12202008-12-03 13:05 Christos Zoulas <christos@zoulas.com> 1221 1222 * fix memory botches on cdf file parsing. 1223 1224 * exit with non-zero value for any error, not just for the last 1225 file processed. 1226 12272008-11-09 20:42 Charles Longeau <chl@tuxfamily.org> 1228 1229 * Replace all str{cpy,cat} functions with strl{cpy,cat} 1230 * Ensure that strl{cpy,cat} are included in libmagic, 1231 as needed. 1232 12332008-11-06 18:18 Christos Zoulas <christos@zoulas.com> 1234 1235 * Handle ID3 format files. 1236 12372008-11-06 23:00 Reuben Thomas <rrt@sc3d.org> 1238 1239 * Fix --mime, --mime-type and --mime-encoding under new scheme. 1240 1241 * Rename "ascii" to "text" and add "encoding" test. 1242 1243 * Return a precise ("utf-16le" or "utf-16be") MIME charset for 1244 UTF-16. 1245 1246 * Fix error in comment caused by automatic indentation adding 1247 words! 1248 12492008-11-06 10:35 Christos Zoulas <christos@astron.com> 1250 1251 * use memchr instead of strchr because the string 1252 might not be NUL terminated (Scott MacVicar) 1253 12542008-11-03 07:31 Reuben Thomas <rrt@sc3d.org> 1255 1256 * Fix a printf with a non-literal format string. 1257 1258 * Fix formatting and punctuation of help for "--apple". 1259 12602008-10-30 11:00 Reuben Thomas <rrt@sc3d.org> 1261 1262 * Correct words counts in comments of struct magic. 1263 1264 * Fix handle_annotation to allow both Apple and MIME types to be 1265 printed, and to return correct code if MIME type is 1266 printed (1, not 0) or if there's an error (-1 not 1). 1267 1268 * Fix output of charset for MIME type (precede with semi-colon; 1269 fixes Debian bug #501460). 1270 1271 * Fix potential attacks via conversion specifications in magic 1272 strings. 1273 1274 * Add a FIXME for Debian bug #488562 (magic files should be 1275 read in a defined order, by sorting the names). 1276 12772008-10-18 16:45 Christos Zoulas <christos@astron.com> 1278 1279 * Added APPLE file creator/type 1280 12812008-10-12 10:20 Christos Zoulas <christos@astron.com> 1282 1283 * Added CDF parsing 1284 12852008-10-09 16:40 Christos Zoulas <christos@astron.com> 1286 1287 * filesystem and msdos patches (Joerg Jenderek) 1288 12892008-10-09 13:20 Christos Zoulas <christos@astron.com> 1290 1291 * correct --exclude documentation issues: remove troff and fortran 1292 and rename "token" to "tokens". (Randy McMurchy) 1293 12942008-10-01 10:30 Christos Zoulas <christos@astron.com> 1295 1296 * Read ~/.magic in addition to the default magic file not instead 1297 of, as documented in the man page. 1298 12992008-09-10 21:30 Reuben Thomas <rrt@sc3d.org> 1300 1301 * Comment out graphviz patterns, as they match too many files. 1302 13032008-08-30 12:54 Christos Zoulas <christos@astron.com> 1304 1305 * Don't eat trailing \n in magic enties. 1306 1307 * Cast defines to allow compilation using a c++ compiler. 1308 13092008-08-25 23:56 Reuben Thomas <rrt@sc3d.org> 1310 1311 * Add text/x-lua MIME type for Lua scripts. 1312 1313 * Escape { in regex in graphviz patterns. 1314 13152008-07-26 00:59 Reuben Thomas <rrt@sc3d.org> 1316 1317 * Add MIME types for special files. 1318 1319 * Use access to give more accurate information for files that 1320 can't be opened. 1321 1322 * Add a TODO list. 1323 13242008-07-02 11:15 Christos Zoulas <christos@astron.com> 1325 1326 * add !:strength op to adjust magic strength (experimental) 1327 13282008-06-16 21:41 Reuben Thomas <rrt@sc3d.org> 1329 1330 * Fix automake error in configure.ac. 1331 1332 * Add MIME type for Psion Sketch files. 1333 13342008-06-05 08:59 Christos Zoulas <christos@astron.com> 1335 1336 * Don't print warnings about bad namesize in stripped 1337 binaries with PT_NOTE is still there, and the actual 1338 note is gone (Jakub Jelinek) 1339 13402008-05-28 15:12 Robert Byrnes <byrnes@wildpumpkin.net> 1341 1342 * magic/Magdir/elf: 1343 Note invalid byte order for little-endian SPARC32PLUS. 1344 Add SPARC V9 vendor extensions and memory model. 1345 1346 * src/elfclass.h: 1347 Pass target machine to doshn (for Solaris hardware capabilities). 1348 1349 * src/readelf.c (doshn): 1350 Add support for Solaris hardware/software capabilities. 1351 1352 * src/readelf.h: 1353 Ditto. 1354 1355 * src/vasprintf.c (dispatch): 1356 Add support for ll modifier. 1357 13582008-05-16 10:25 Christos Zoulas <christos@astron.com> 1359 1360 * Fix compiler warnings. 1361 1362 * remove stray printf, and fix a vprintf bug. (Martin Dorey) 1363 13642008-05-06 00:13 Robert Byrnes <byrnes@wildpumpkin.net> 1365 1366 * src/Makefile.am: 1367 Ensure that getopt_long and [v]asprintf are included in libmagic, 1368 as needed. 1369 1370 Remove unnecessary EXTRA_DIST. 1371 1372 * src/Makefile.in: 1373 Rerun automake. 1374 1375 * src/vasprintf.c (dispatch): 1376 Fix variable precision bug: be sure to step past '*'. 1377 1378 * src/vasprintf.c (core): 1379 Remove unreachable code. 1380 1381 * src/apprentice.c (set_test_type): 1382 Add cast to avoid compiler warning. 1383 13842008-04-22 23:45 Christos Zoulas <christos@astron.com> 1385 1386 * Add magic submission guidelines (Abel Cheung) 1387 1388 * split msdos and windows magic (Abel Cheung) 1389 13902008-04-04 11:00 Christos Zoulas <christos@astron.com> 1391 1392 * >= <= is not supported, so fix the magic and warn about it. 1393 reported by: Thien-Thi Nguyen <ttn@gnuvola.org> 1394 13952008-03-27 16:16 Robert Byrnes <byrnes@wildpumpkin.net> 1396 1397 * src/readelf.c (donote): 1398 ELF core file command name/line bug fixes and enhancements: 1399 1400 Try larger offsets first to avoid false matches 1401 from earlier data that happen to look like strings; 1402 this primarily affected SunOS 5.x 32-bit Intel core files. 1403 1404 Add support for command line (instead of just short name) 1405 for SunOS 5.x. 1406 1407 Add information about NT_PSINFO for SunOS 5.x. 1408 1409 Only trim whitespace from end of command line. 1410 14112007-02-11 01:36 Reuben Thomas <rrt@sc3d.org> 1412 1413 * Change strength of ! from MULT to 0, as it matches almost 1414 anything (Reuben Thomas) 1415 1416 * Debian fixes (Reuben Thomas) 1417 14182007-02-11 00:17 Reuben Thomas <rrt@sc3d.org> 1419 1420 * Clarify UTF-8 BOM message (Reuben Thomas) 1421 1422 * Add HTML comment to token list in names.h 1423 14242007-02-04 15:50 Christos Zoulas <christos@astron.com> 1425 1426 * Debian fixes (Reuben Thomas) 1427 14282007-02-04 11:31 Christos Zoulas <christos@astron.com> 1429 1430 * !:mime annotations in magic files (Reuben Thomas) 1431 14322007-01-29 15:35 Christos Zoulas <christos@astron.com> 1433 1434 * zero out utime/utimes structs (Gavin Atkinson) 1435 14362007-01-26 13:45 Christos Zoulas <christos@astron.com> 1437 1438 * reduce writable data from Diego "Flameeyes" Petten 1439 14402007-12-28 15:06 Christos Zoulas <christos@astron.com> 1441 1442 * strtof detection 1443 1444 * remove bogus regex magic that could cause a DoS 1445 1446 * better mismatch version message 1447 14482007-12-27 11:35 Christos Zoulas <christos@astron.com> 1449 1450 * bring back some fixes from OpenBSD 1451 1452 * treat ELF dynamic objects as executables 1453 1454 * fix gcc warnings 1455 14562007-12-01 19:55 Christos Zoulas <christos@astron.com> 1457 1458 * make sure we have zlib.h and libz to compile the builtin 1459 decompress code 1460 14612007-10-28 20:48 Christos Zoulas <christos@astron.com> 1462 1463 * float and double magic support (Behan Webster) 1464 14652007-10-28 20:48 Christos Zoulas <christos@astron.com> 1466 1467 * Convert fortran to a soft test (Reuben Thomas) 1468 14692007-10-23 5:25 Christos Zoulas <christos@astron.com> 1470 1471 * Add --with-filename, and --no-filename (Reuben Thomas) 1472 14732007-10-23 3:59 Christos Zoulas <christos@astron.com> 1474 1475 * Rest of the mime split (Reuben Thomas) 1476 1477 * Make usage message generated from the flags so that 1478 they stay consistent (Reuben Thomas) 1479 14802007-10-20 3:06 Christos Zoulas <christos@astron.com> 1481 1482 * typo in comment, missing ifdef QUICK, remove unneeded code 1483 (Charles Longeau) 1484 14852007-10-17 3:33 Christos Zoulas <christos@astron.com> 1486 1487 * Fix problem printing -\012 in some entries 1488 1489 * Separate magic type and encoding flags (Reuben Thomas) 1490 14912007-10-09 3:55 Christos Zoulas <christos@astron.com> 1492 1493 * configure fix for int64 and strndup (Reuben Thomas) 1494 14952007-09-26 4:45 Christos Zoulas <christos@astron.com> 1496 1497 * Add magic_descriptor() function. 1498 1499 * Fix regression in elf reading code where the core name was 1500 not being printed. 1501 1502 * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) 1503 15042007-08-19 6:30 Christos Zoulas <christos@astron.com> 1505 1506 * Make mime format consistent so that it can 1507 be easily parsed: 1508 mimetype [charset=character-set] [encoding=encoding-mime-type] 1509 1510 Remove spurious extra text from some MIME type printouts 1511 (mostly in is_tar). 1512 1513 Fix one case where -i produced nothing at all (for a 1-byte file, 1514 which is now classed as application/octet-stream). 1515 1516 Remove 7/8bit classifications, since they were arbitrary 1517 and not based on the file data. 1518 1519 This work was done by Reuben Thomas 1520 15212007-05-24 10:00 Christos Zoulas <christos@astron.com> 1522 1523 * Fix another integer overflow (Colin Percival) 1524 15252007-03-26 13:58 Christos Zoulas <christos@astron.com> 1526 1527 * make sure that all of struct magic_set is initialized appropriately 1528 (Brett) 1529 15302007-03-25 17:44 Christos Zoulas <christos@astron.com> 1531 1532 * reset left bytes in the buffer (Dmitry V. Levin) 1533 1534 * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS 1535 (Peter Avalos) 1536 15372007-03-15 10:51 Christos Zoulas <christos@astron.com> 1538 1539 * fix fortran and nroff reversed tests (Dmitry V. Levin) 1540 1541 * fix exclude option (Dmitry V. Levin) 1542 15432007-02-08 17:30 Christos Zoulas <christos@astron.com> 1544 1545 * fix integer underflow in file_printf which can lead to 1546 to exploitable heap overflow (Jean-Sebastien Guay-Lero) 1547 15482007-02-05 11:35 Christos Zoulas <christos@astron.com> 1549 1550 * make socket/pipe reading more robust 1551 15522007-01-25 16:01 Christos Zoulas <christos@astron.com> 1553 1554 * Centralize all the tests in file_buffer. 1555 1556 * Add exclude flag. 1557 15582007-01-18 05:29 Anon Ymous <do@not.spam.me> 1559 1560 * Move the "type" detection code from parse() into its own table 1561 driven routine. This avoids maintaining multiple lists in 1562 file.h. 1563 1564 * Add an optional conditional field (ust before the type field). 1565 This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is 1566 likely to go away. 1567 15682007-01-16 23:24 Anon Ymous <do@not.spam.me> 1569 1570 * Fix an initialization bug in check_mem(). 1571 15722007-01-16 14:58 Anon Ymous <do@not.spam.me> 1573 1574 * Add a "default" type to print a message if nothing previously 1575 matched at that level or since the last default at that 1576 level. This is useful for setting up switch-like statements. 1577 It can also be used to do if/else constructions without a 1578 redundant second test. 1579 1580 * Fix the "x" special case test so that one can test for that 1581 string with "=x". 1582 1583 * Allow "search" to search the entire buffer if the "/N" 1584 search count is missing. 1585 1586 * Make "regex" work! It now starts its search at the 1587 specified offset and takes an (optional) "/N" line count to 1588 specify the search range; otherwise it searches to the end 1589 of the file. The match is now grabbed correctly for format 1590 strings and the offset set to the end of the match. 1591 1592 * Add a "/s" flag to "regex" and "search" to set the offset to 1593 the start of the match. By default the offset is set to the 1594 end of the match, as it is with other tests. This is mostly 1595 useful for "regex". 1596 1597 * Make "search", "string" and "pstring" use the same 1598 file_strncmp() routine so that they support the same flags; 1599 "bestring16" and "lestring16" call the same routine, but 1600 with flags = 0. Also add a "/C" flag (in analogy to "/c") 1601 to ignore the case on uppercase (lowercase) characters in 1602 the test string. 1603 1604 * Strict adherence to C style string escapes. A warnings are 1605 printed when compiling. Note: previously "\a" was 1606 incorrectly translated to 'a' instead of an <alert> (i.e., 1607 BELL, typically 0x07). 1608 1609 * Make this compile with "-Wall -Wextra" and all the warning 1610 flags used with WARNS=4 in the NetBSD source. Also make it 1611 pass lint. 1612 1613 * Many "cleanups" and hopefully not too many new bugs! 1614 16152007-01-16 14:56 Anon Ymous <do@not.spam.me> 1616 1617 * make several more files compile with gcc warnings 1618 on and also make them pass lint. 1619 16202007-01-16 14:54 Anon Ymous <do@not.spam.me> 1621 1622 * fix a puts()/putc() usage goof in file.c 1623 1624 * make file.c compile with gcc warnings and pass lint 1625 16262006-12-11 16:49 Christos Zoulas <christos@astron.com> 1627 1628 * fix byteswapping issue 1629 1630 * report the number of bytes we tried to 1631 allocate when allocation fails 1632 1633 * add a few missed cases in the strength routine 1634 16352006-12-08 16:32 Christos Zoulas <christos@astron.com> 1636 1637 * store and print the line number of the magic 1638 entry for debugging. 1639 1640 * if the magic entry did not print anything, 1641 don't treat it as a match 1642 1643 * change the magic strength algorithm to take 1644 into account the relationship op. 1645 1646 * fix a bug in search where we could accidentally 1647 return a match. 1648 1649 * propagate the error return from match to 1650 file_softmagic. 1651 16522006-11-25 13:35 Christos Zoulas <christos@astron.com> 1653 1654 * Don't store the current offset in the magic 1655 struct, because it needs to be restored and 1656 it was not done properly all the time. Bug 1657 found by: Arkadiusz Miskiewicz 1658 1659 * Fix problem in the '\0' separator; and don't 1660 print it as an additional separator; print 1661 it as the only separator. 1662 16632006-11-17 10:51 Christos Zoulas <christos@astron.com> 1664 1665 * Added a -0 option to print a '\0' separator 1666 Etienne Buira <etienne.buira@free.fr> 1667 16682006-10-31 15:14 Christos Zoulas <christos@astron.com> 1669 1670 * Check offset before copying (Mike Frysinger) 1671 1672 * merge duplicated code 1673 1674 * add quad date support 1675 1676 * make sure that we nul terminate desc (Ryoji Kanai) 1677 1678 * don't process elf notes multiple times 1679 1680 * allow -z to report empty compressed files 1681 1682 * use calloc to initialize the ascii buffers (Jos van den Oever) 1683 16842006-06-08 11:11 Christos Zoulas <christos@astron.com> 1685 1686 * QNX fixes (Mike Gorchak) 1687 1688 * Add quad support. 1689 1690 * FIFO checks (Dr. Werner Fink) 1691 1692 * Linux ELF fixes (Dr. Werner Fink) 1693 1694 * Magic format checks (Dr. Werner Fink) 1695 1696 * Magic format function improvent (Karl Chen) 1697 16982006-05-03 11:11 Christos Zoulas <christos@astron.com> 1699 1700 * Pick up some elf changes and some constant fixes from SUSE 1701 1702 * Identify gnu tar vs. posix tar 1703 1704 * When keep going, don't print spurious newlines (Radek Vokal) 1705 17062006-04-01 12:02 Christos Zoulas <christos@astron.com> 1707 1708 * Use calloc instead of malloc (Mike Frysinger) 1709 1710 * Fix configure script to detect wctypes.h (Mike Frysinger) 1711 17122006-03-02 16:06 Christos Zoulas <christos@astron.com> 1713 1714 * Print empty if the file is (Mike Frysinger) 1715 1716 * Don't try to read past the end of the buffer (Mike Frysinger) 1717 1718 * Sort magic entries by strength [experimental] 1719 17202005-11-29 13:26 Christos Zoulas <christos@astron.com> 1721 1722 * Use iswprint() to convert the output string. 1723 (Bastien Nocera) 1724 17252005-10-31 8:54 Christos Zoulas <christos@astron.com> 1726 1727 * Fix regression where the core info was not completely processed 1728 (Radek Vokal) 1729 17302005-10-20 11:15 Christos Zoulas <christos@astron.com> 1731 1732 * Middle Endian magic (Diomidis Spinellis) 1733 17342005-10-17 11:15 Christos Zoulas <christos@astron.com> 1735 1736 * Open with O_BINARY for CYGWIN (Corinna Vinschen) 1737 1738 * Don't close stdin (Arkadiusz Miskiewicz) 1739 1740 * Look for note sections in non executables. 1741 17422005-09-20 13:33 Christos Zoulas <christos@astron.com> 1743 1744 * Don't print SVR4 Style in core files multiple times 1745 (Radek Vokal) 1746 17472005-08-27 04:09 Christos Zoulas <christos@astron.com> 1748 1749 * Cygwin changes Corinna Vinschen 1750 17512005-08-18 09:53 Christos Zoulas <christos@astron.com> 1752 1753 * Remove erroreous mention of /etc/magic in the file man page 1754 This is gentoo bug 101639. (Mike Frysinger) 1755 1756 * Cross-compile support and detection (Mike Frysinger) 1757 17582005-08-12 10:17 Christos Zoulas <christos@astron.com> 1759 1760 * Add -h flag and dereference symlinks if POSIXLY_CORRECT 1761 is set. 1762 17632005-07-29 13:57 Christos Zoulas <christos@astron.com> 1764 1765 * Avoid search and regex buffer overflows (Kelledin) 1766 17672005-07-12 11:48 Christos Zoulas <christos@astron.com> 1768 1769 * Provide stub implementations for {v,}nsprintf() for older 1770 OS's that don't have them. 1771 * Change mbstate_t autoconf detection macro from AC_MBSTATE_T 1772 to AC_TYPE_MBSTATE_T. 1773 17742005-06-25 11:48 Christos Zoulas <christos@astron.com> 1775 1776 * Dynamically allocate the string buffers and make the 1777 default read size 256K. 1778 17792005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de> 1780 1781 * Dragonfly ELF note support 1782 17832005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it> 1784 1785 * Avoid NULL pointer dereference in time conversion. 1786 17872005-03-06 00:00 Joerg Walter <jwalt@mail.garni.ch> 1788 1789 * Add indirect magic offset support, and search mode. 1790 17912005-01-12 00:00 Stepan Kasal <kasal@ucw.cz> 1792 1793 * src/ascmagic.c (file_ascmagic): Fix three bugs about text files: 1794 If a CRLF text file happens to have CR at offset HOWMANY - 1 1795 (currently 0xffff), it should not be counted as CR line 1796 terminator. 1797 If a line has length exactly MAXLINELEN, it should not yet be 1798 treated as a ``very long line'', as MAXLINELEN is ``longest sane 1799 line length''. 1800 With CRLF, the line length was not computed correctly, and even 1801 lines of length MAXLINELEN - 1 were treated as ``very long''. 1802 18032004-12-07 14:15 Christos Zoulas <christos@astron.com> 1804 1805 * bzip2 needs a lot of input buffer space on some files 1806 before it can begin uncompressing. This makes file -z 1807 fail on some bz2 files. Fix it by giving it a copy of 1808 the file descriptor to read as much as it wants if we 1809 have access to it. <christos@astron.com> 1810 18112004-11-24 12:39 Christos Zoulas <christos@astron.com> 1812 1813 * Stack smash fix, and ELF more conservative reading. 1814 Jakub Bogusz <qboosh@pld-linux.org> 1815 18162004-11-20 18:50 Christos Zoulas <christos@astron.com> 1817 1818 * New FreeBSD version parsing code: 1819 Jon Noack <noackjr@alumni.rice.edu> 1820 1821 * Hackish support for ucs16 strings <christos@astron.com> 1822 18232004-11-13 03:07 Christos Zoulas <christos@astron.com> 1824 1825 * print the file name and line number in syntax errors. 1826 18272004 10-12 10:50 Christos Zoulas <christos@astron.com> 1828 1829 * Fix stack overwriting on 0 length strings: Tim Waugh 1830 <twaugh@redhat.com> Ned Ludd <solar@gentoo.org> 1831 18322004-09-27 11:30 Christos Zoulas <christos@astron.com> 1833 1834 * Remove 3rd and 4th copyright clause; approved by Ian Darwin. 1835 1836 * Fix small memory leaks; caught by: Tamas Sarlos 1837 <stamas@csillag.ilab.sztaki.hu> 1838 18392004-07-24 16:33 Christos Zoulas <christos@astron.com> 1840 1841 * magic.mime update Danny Milosavljevic <danny.milo@gmx.net> 1842 1843 * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com> 1844 1845 * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com> 1846 1847 * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org> 1848 18492004-04-12 10:55 Christos Zoulas <christos@astron.com> 1850 1851 * make sure that magic formats match magic types during compilation 1852 1853 * fix broken sgi magic file 1854 18552004-04-06 20:36 Christos Zoulas <christos@astron.com> 1856 1857 * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com> 1858 1859 * magic fixes 1860 18612004-03-22 15:25 Christos Zoulas <christos@astron.com> 1862 1863 * Lots of mime fixes 1864 (Joerg Ostertag) <ostertag@rechengilde.de> 1865 1866 * FreeBSD ELF version handling 1867 (Edwin Groothuis) <edwin@mavetju.org> 1868 1869 * correct cleanup in all cases; don't just close the file. 1870 (Christos Zoulas) <christos@astron.com> 1871 1872 * add gettext message catalogue support 1873 (Michael Piefel) <piefel@debian.org> 1874 1875 * better printout for unreadable files 1876 (Michael Piefel) <piefel@debian.org> 1877 1878 * compensate for missing MAXPATHLEN 1879 (Michael Piefel) <piefel@debian.org> 1880 1881 * add wide character string length computation 1882 (Michael Piefel) <piefel@debian.org> 1883 1884 * Avoid infinite loops caused by bad elf alignments 1885 or name and description note sizes. Reported by 1886 (Mikael Magnusson) <mmikael@comhem.se> 1887 18882004-03-09 13:55 Christos Zoulas <christos@astron.com> 1889 1890 * Fix possible memory leak on error and add missing regfree 1891 (Dmitry V. Levin) <ldv@altlinux.org> 1892 18932003-12-23 12:12 Christos Zoulas <christos@astron.com> 1894 1895 * fix -k flag (Maciej W. Rozycki) 1896 18972003-11-18 14:10 Christos Zoulas <christos@astron.com> 1898 1899 * Try to give us much info as possible on corrupt elf files. 1900 (Willy Tarreau) <willy@w.ods.org> 1901 * Updated python bindings (Brett Funderburg) 1902 <brettf@deepfile.com> 1903 19042003-11-11 15:03 Christos Zoulas <christos@astron.com> 1905 1906 * Include file.h first, because it includes config.h 1907 breaks largefile test macros otherwise. 1908 (Paul Eggert <eggert@CS.UCLA.EDU> via 1909 Lars Hecking <lhecking@nmrc.ie>) 1910 19112003-10-14 21:39 Christos Zoulas <christos@astron.com> 1912 1913 * Python bindings (Brett Funderburg) <brettf@deepfile.com> 1914 * Don't lookup past the end of the buffer 1915 (Chad Hanson) <chanson@tcs-sec.com> 1916 * Add MAGIC_ERROR and api on magic_errno() 1917 19182003-10-08 12:40 Christos Zoulas <christos@astron.com> 1919 1920 * handle error conditions from compile as fatal 1921 (Antti Kantee) <pooka@netbsd.org> 1922 * handle magic filename parsing sanely 1923 * more magic fixes. 1924 * fix a memory leak (Illes Marton) <illes.marton@balabit.hu> 1925 * describe magic file handling 1926 (Bryan Henderson) <bryanh@giraffe-data.com> 1927 19282003-09-12 15:09 Christos Zoulas <christos@astron.com> 1929 1930 * update magic files. 1931 * remove largefile support from file.h; it breaks things on most OS's 1932 19332003-08-10 10:25 Christos Zoulas <christos@astron.com> 1934 1935 * fix unmapping'ing of mmaped files. 1936 19372003-07-10 12:03 Christos Zoulas <christos@astron.com> 1938 1939 * don't exit with -1 on error; always exit 1 (Marty Leisner) 1940 * restore utimes code. 1941 19422003-06-10 17:03 Christos Zoulas <christos@astron.com> 1943 1944 * make sure we don't access uninitialized memory. 1945 * pass lint 1946 * #ifdef __cplusplus in magic.h 1947 19482003-05-25 19:23 Christos Zoulas <christos@astron.com> 1949 1950 * rename cvs magic file to revision to deal with 1951 case insensitive filesystems. 1952 19532003-05-23 17:03 Christos Zoulas <christos@astron.com> 1954 1955 * documentation fixes from Michael Piefel <piefel@debian.org> 1956 * magic fixes (various) 1957 * revert basename magic in .mgc name determination 1958 * buffer protection in uncompress, 1959 signness issues, 1960 close files 1961 Maciej W. Rozycki <macro@ds2.pg.gda.pl 1962 19632003-04-21 20:12 Christos Zoulas <christos@astron.com> 1964 1965 * fix zsh magic 1966 19672003-04-04 16:59 Christos Zoulas <christos@astron.com> 1968 1969 * fix operand sort order in string. 1970 19712003-04-02 17:30 Christos Zoulas <christos@astron.com> 1972 1973 * cleanup namespace in magic.h 1974 19752003-04-02 13:50 Christos Zoulas <christos@astron.com> 1976 1977 * Magic additions (Alex Ott) 1978 * Fix bug that broke VPATH compilation (Peter Breitenlohner) 1979 19802003-03-28 16:03 Christos Zoulas <christos@astron.com> 1981 1982 * remove packed attribute from magic struct. 1983 * make the magic struct properly aligned. 1984 * bump version number of compiled files to 2. 1985 19862003-03-27 13:10 Christos Zoulas <christos@astron.com> 1987 1988 * separate tar detection and run it before softmagic. 1989 * fix reversed symlink test. 1990 * fix version printing. 1991 * make separator a string instead of a char. 1992 * update manual page and sort options. 1993 19942003-03-26 11:00 Christos Zoulas <christos@astron.com> 1995 1996 * Pass lint 1997 * make NULL in magic_file mean stdin 1998 * Fix "-" argument to file to pass NULL to magic_file 1999 * avoid pointer casts by using memcpy 2000 * rename magic_buf -> magic_buffer 2001 * keep only the first error 2002 * manual page: new sentence, new line 2003 * fix typo in api function (magic_buf -> magic_buffer) 2004