12020-06-14 20:02 Christos Zoulas <christos@zoulas.com> 2 3 * release 5.39 4 52020-06-07 20:00 Christos Zoulas <christos@zoulas.com> 6 7 * Remove unused subtype_mime (Steve Grubb) 8 * Remove unused check in okstat (Steve Grubb) 9 * Fix mime-type in elf binaries by making sure $x is set 10 * Fix indirect negative offsets broken by OFFNEGATIVE 11 * Fix GUID equality check 12 * PR/165: Handle empty array and strings in JSON 13 * PR/162: Add --exclude-quiet 14 152020-06-06 15:33 Christos Zoulas <christos@zoulas.com> 16 17 * Fix memory leak in ascmagic (Steve Grubb) 18 192020-06-04 00:21 Christos Zoulas <christos@zoulas.com> 20 21 * Fix string comparison length with ignore whitespace 22 232020-05-31 00:11 Christos Zoulas <christos@zoulas.com> 24 25 * Fix mingwin 64 compilation 26 272020-05-30 23:56 Christos Zoulas <christos@zoulas.com> 28 29 * PR/159: whitelist getpid needed for file_pipe2file() 30 312020-05-09 18:57 Christos Zoulas <christos@zoulas.com> 32 33 * Indicate negative offsets with a flag OFFNEGATIVE 34 so that -0 works. 35 * Introduce "offset" magic type that can be used to 36 detect the file size, and bail on short files. 37 * document DER better in the magic man page. 38 392020-03-11 21:53 Christos Zoulas <christos@zoulas.com> 40 41 * fix memory leaks (SonarQube) 42 432020-03-08 21:33 Christos Zoulas <christos@zoulas.com> 44 45 * fix memory leaks (SonarQube) 46 * rewrite confusing loops (SonarQube) 47 * fix bogus test (SonarQube) 48 * pass a sized buffer to file_fmttime() (SonarQube) 49 50 * fix memory leaks (SonarQube) 51 522020-02-20 15:50 Christos Zoulas <christos@zoulas.com> 53 54 * Don't allow * in printf formats, or the code itself (Christoph Biedl) 55 * Introduce a printf output size checker to avoid DoS attacks 56 572020-02-17 17:22 Christos Zoulas <christos@zoulas.com> 58 59 * Avoid memory leak on error (oss-fuzz) 60 * Check length of string on DER before derefercing and add new types 61 * Add missing DER string (oss-fuzz) 62 632020-02-16 20:45 Christos Zoulas <christos@zoulas.com> 64 65 * Add missing DER types, and debugging 66 672020-02-13 13:10 Christos Zoulas <christos@zoulas.com> 68 69 * PR/140: Avoid abort with hand-crafted magic file (gockelhahn) 70 * PR/139 Avoid DoS in printf with hand-crafted magic file (gockelhahn) 71 * PR/138: Avoid crash with hand-crafted magic file (gockelhahn) 72 732020-02-12 17:30 Christos Zoulas <christos@zoulas.com> 74 75 * PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine) 76 772019-12-24 14:16 Christos Zoulas <christos@zoulas.com> 78 79 * add guid support 80 812019-12-16 21:11 Christos Zoulas <christos@zoulas.com> 82 83 * release 5.38 84 852019-12-15 22:13 Christos Zoulas <christos@zoulas.com> 86 Document changes since the previous release: 87 - Always accept -S (no sandbox) even if we don't support sandboxing 88 - More syscalls elided for sandboxiing 89 - For ELF dynamic means having an interpreter not just PT_DYNAMIC 90 - Check for large ELF session header offset 91 - When saving and restoring a locale, keep the locale name in our 92 own storage. 93 - Add a flag to disable CSV file detection. 94 - Don't pass NULL/0 to memset to appease sanitizers. 95 - Avoid spurious prints when looks for extensions or apple strings 96 in fsmagic. 97 - Add builtin decompressors for xz and and bzip. 98 - Add a limit for the number of CDF elements. 99 - More checks for overflow in CDF. 100 1012019-05-14 22:26 Christos Zoulas <christos@zoulas.com> 102 103 * release 5.37 104 1052019-05-09 22:27 Christos Zoulas <christos@zoulas.com> 106 107 * Make sure that continuation separators are printed 108 with -k within softmagic 109 1102019-05-06 22:27 Christos Zoulas <christos@zoulas.com> 111 112 * Change SIGPIPE saving and restoring during compression to use 113 sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko) 114 * Cache stat(2) calls more to reduce number of calls (Denys Vlasenko) 115 1162019-05-06 17:25 Christos Zoulas <christos@zoulas.com> 117 118 * PR/77: Handle --mime-type and -k correctly. 119 1202019-05-03 15:26 Christos Zoulas <christos@zoulas.com> 121 122 * Switch decompression code to use vfork() because 123 tools like rpmdiff and rpmbuild call libmagic 124 with large process footprints (Denys Vlasenko) 125 1262019-04-07 14:05 Christos Zoulas <christos@zoulas.com> 127 128 * PR/75: --enable-zlib, did not work. 129 1302019-02-27 11:54 Christos Zoulas <christos@zoulas.com> 131 132 * Improve regex efficiency (Michael Schroeder) by: 133 1. Prefixing regex searches with regular search 134 for keywords where possible 135 2. Using memmem(3) where available 136 1372019-02-20 10:16 Christos Zoulas <christos@zoulas.com> 138 139 * release 5.36 140 1412019-02-19 15:30 Christos Zoulas <christos@zoulas.com> 142 143 * Fix cast to use cast macros 144 * Add UCS-32 builtin detection (PR/61) reported by tmc 145 1462019-02-18 18:24 Christos Zoulas <christos@zoulas.com> 147 148 * Fix stack read (PR/62) and write (PR/64) stack overflows 149 reported by spinpx 150 1512018-10-18 19:32 Christos Zoulas <christos@zoulas.com> 152 153 * release 5.35 154 1552018-09-10 20:38 Christos Zoulas <christos@zoulas.com> 156 157 * Add FreeBSD ELF core file support (John Baldwin) 158 1592018-08-20 18:40 Christos Zoulas <christos@zoulas.com> 160 161 * PR/30: Allow all parameter values to be set (don't treat 0 specially) 162 * handle default annotations on the softmagic match instead at the 163 end. 164 1652018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 166 167 * PR/23: Recognize JSON files 168 1692018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 170 171 * PR/18: file --mime-encoding should not print mime-type 172 1732018-07-25 8:50 Christos Zoulas <christos@zoulas.com> 174 175 * release 5.34 176 1772018-06-22 16:38 Christos Zoulas <christos@zoulas.com> 178 179 * Add Quad indirect offsets 180 1812018-05-24 14:10 Christos Zoulas <christos@zoulas.com> 182 183 * Enable parsing of ELF dynamic sections to handle PIE better 184 1852018-04-15 14:52 Christos Zoulas <christos@zoulas.com> 186 187 * release 5.33 188 1892018-02-24 14:50 Christos Zoulas <christos@zoulas.com> 190 191 * extend the support for ${x?:} expansions for magic descriptions 192 1932018-02-21 16:25 Christos Zoulas <christos@zoulas.com> 194 195 * add support for ${x?:} in mime types to handle 196 pie binaries. 197 1982017-11-03 9:23 Christos Zoulas <christos@zoulas.com> 199 200 * add support for negative offsets (offsets from the end of file) 201 2022017-09-26 8:22 Christos Zoulas <christos@zoulas.com> 203 204 * close the file on error when writing magic (Steve Grubb) 205 2062017-09-24 12:02 Christos Zoulas <christos@zoulas.com> 207 208 * seccomp support (Paul Moore) 209 2102017-09-02 11:53 Christos Zoulas <christos@zoulas.com> 211 212 * release 5.32 213 2142017-08-28 16:37 Christos Zoulas <christos@zoulas.com> 215 216 * Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski) 217 2182017-08-27 03:55 Christos Zoulas <christos@zoulas.com> 219 220 * Fix always true condition (Thomas Jarosch) 221 2222017-05-24 17:30 Christos Zoulas <christos@zoulas.com> 223 224 * pickier parsing of numeric values in magic files. 225 2262017-05-23 17:55 Christos Zoulas <christos@zoulas.com> 227 228 * PR/615 add magic_getflags() 229 2302017-05-23 13:55 Christos Zoulas <christos@zoulas.com> 231 232 * release 5.31 233 2342017-03-17 20:32 Christos Zoulas <christos@zoulas.com> 235 236 * remove trailing spaces from magic files 237 * refactor is_tar 238 * better bounds checks for cdf 239 2402017-02-10 12:24 Christos Zoulas <christos@zoulas.com> 241 242 * release 5.30 243 2442017-02-07 23:27 Christos Zoulas <christos@zoulas.com> 245 246 * If we exceeded the offset in a search return no match 247 (Christoph Biedl) 248 * Be more lenient on corrupt CDF files (Christoph Biedl) 249 2502017-02-04 16:46 Christos Zoulas <christos@zoulas.com> 251 252 * pacify ubsan sign extension (oss-fuzz/524) 253 2542017-02-01 12:42 Christos Zoulas <christos@zoulas.com> 255 256 * off by one in cdf parsing (PR/593) 257 * report debugging sections in elf (PR/591) 258 2592016-11-06 10:52 Christos Zoulas <christos@zoulas.com> 260 261 * Allow @@@ in extensions 262 * Add missing overflow check in der magic (Jonas Wagner) 263 2642016-10-25 10:40 Christos Zoulas <christos@zoulas.com> 265 266 * release 5.29 267 2682016-10-24 11:20 Christos Zoulas <christos@zoulas.com> 269 270 * der getlength overflow (Jonas Wagner) 271 * multiple magic file load failure (Christoph Biedl) 272 2732016-10-17 11:26 Christos Zoulas <christos@zoulas.com> 274 275 * CDF parsing improvements (Guy Helmer) 276 2772016-07-20 7:26 Christos Zoulas <christos@zoulas.com> 278 279 * Add support for signed indirect offsets 280 2812016-07-18 7:41 Christos Zoulas <christos@zoulas.com> 282 283 * cat /dev/null | file - should print empty (Christoph Biedl) 284 2852016-07-05 15:20 Christos Zoulas <christos@zoulas.com> 286 287 * Bump string size from 64 to 96. 288 2892016-06-13 20:20 Christos Zoulas <christos@zoulas.com> 290 291 * PR/556: Fix separators on annotations. 292 2932016-06-13 19:40 Christos Zoulas <christos@zoulas.com> 294 295 * release 5.28 296 * fix leak on allocation failure 297 2982016-06-01 1:20 Christos Zoulas <christos@zoulas.com> 299 300 * PR/555: Avoid overflow for offset > nbytes 301 * PR/550: Segv on DER parsing: 302 - use the correct variable for length 303 - set offset to 0 on failure. 304 3052016-05-13 12:00 Christos Zoulas <christos@zoulas.com> 306 307 * release 5.27 308 3092016-04-18 9:35 Christos Zoulas <christos@zoulas.com> 310 311 * Errors comparing DER entries or computing offsets 312 are just indications of malformed non-DER files. 313 Don't print them. 314 * Offset comparison was off-by-one. 315 * Fix compression code (Werner Fink) 316 * Put new bytes constant in the right file (not the generated one) 317 3182016-04-16 18:34 Christos Zoulas <christos@zoulas.com> 319 320 * release 5.26 321 3222016-03-31 13:50 Christos Zoulas <christos@zoulas.com> 323 324 * make the number of bytes read from files configurable. 325 3262016-03-21 13:40 Christos Zoulas <christos@zoulas.com> 327 328 * Add bounds checks for DER code (discovered by Thomas Jarosch) 329 * Change indirect recursion limit to indirect use count and 330 bump from 15 to 50 to prevent abuse. 331 3322016-03-13 20:39 Christos Zoulas <christos@zoulas.com> 333 334 * Add -00 which prints filename\0description\0 335 3362016-03-01 13:28 Christos Zoulas <christos@zoulas.com> 337 338 * Fix ID3 indirect parsing 339 3402016-01-19 10:18 Christos Zoulas <christos@zoulas.com> 341 342 * add DER parsing capability 343 3442015-11-13 10:35 Christos Zoulas <christos@zoulas.com> 345 346 * provide dprintf(3) for the OS's that don't have it. 347 3482015-11-11 16:25 Christos Zoulas <christos@zoulas.com> 349 350 * redo the compression code report decompression errors 351 3522015-11-10 23:25 Christos Zoulas <christos@zoulas.com> 353 354 * REG_STARTEND code is not working as expected, delete it. 355 3562015-11-09 16:05 Christos Zoulas <christos@zoulas.com> 357 358 * Add zlib support if we have it. 359 3602015-11-05 11:22 Christos Zoulas <christos@zoulas.com> 361 362 * PR/492: compression forking was broken with magic_buffer. 363 3642015-09-16 9:50 Christos Zoulas <christos@zoulas.com> 365 366 * release 5.25 367 3682015-09-11 13:25 Christos Zoulas <christos@zoulas.com> 369 370 * add a limit to the length of regex searches 371 3722015-09-08 9:50 Christos Zoulas <christos@zoulas.com> 373 374 * fix problems with --parameter (Christoph Biedl) 375 3762015-07-11 10:35 Christos Zoulas <christos@zoulas.com> 377 378 * Windows fixes PR/466 (Jason Hood) 379 3802015-07-09 10:35 Christos Zoulas <christos@zoulas.com> 381 382 * release 5.24 383 3842015-06-11 8:52 Christos Zoulas <christos@zoulas.com> 385 386 * redo long option encoding to fix off-by-one in 5.23 387 3882015-06-10 13:50 Christos Zoulas <christos@zoulas.com> 389 390 * release 5.23 391 3922015-06-09 16:10 Christos Zoulas <christos@zoulas.com> 393 394 * Fix issue with regex range for magic with offset 395 * Always return true from mget with USE (success to mget not match 396 indication). Fixes mime evaluation after USE magic 397 * PR/459: Don't insert magic entries to the list if there are parsing 398 errors for them. 399 4002015-06-03 16:00 Christos Zoulas <christos@zoulas.com> 401 402 * PR/455: Add utf-7 encoding 403 4042015-06-03 14:30 Christos Zoulas <christos@zoulas.com> 405 406 * PR/455: Implement -Z, look inside, but don't report on compression 407 * PR/454: Fix allocation error on bad magic. 408 4092015-05-29 10:30 Christos Zoulas <christos@zoulas.com> 410 411 * handle MAGIC_CONTINUE everywhere, not just in softmagic 412 4132015-05-21 14:30 Christos Zoulas <christos@zoulas.com> 414 415 * don't print descriptions for NAME types when mime. 416 4172015-04-09 15:59 Christos Zoulas <christos@zoulas.com> 418 419 * Add --extension to list the known extensions for this file type 420 Idea by Andrew J Roazen 421 4222015-02-14 12:23 Christos Zoulas <christos@zoulas.com> 423 424 * Bump file search buffer size to 1M. 425 4262015-01-09 14:35 Christos Zoulas <christos@zoulas.com> 427 428 * Fix multiple issues with date formats reported by Christoph Biedl: 429 - T_LOCAL meaning was reversed 430 - Arithmetic did not work 431 Also stop adjusting daylight savings for gmt printing. 432 4332015-01-05 13:00 Christos Zoulas <christos@zoulas.com> 434 435 * PR/411: Fix memory corruption from corrupt cdf file. 436 4372015-01-02 15:15 Christos Zoulas <christos@zoulas.com> 438 439 * release 5.22 440 4412015-01-01 12:01 Christos Zoulas <christos@zoulas.com> 442 443 * add indirect relative for TIFF/Exif 444 4452014-12-16 18:10 Christos Zoulas <christos@zoulas.com> 446 447 * restructure elf note printing to avoid repeated messages 448 * add note limit, suggested by Alexander Cherepanov 449 4502014-12-16 16:53 Christos Zoulas <christos@zoulas.com> 451 452 * Bail out on partial pread()'s (Alexander Cherepanov) 453 * Fix incorrect bounds check in file_printable (Alexander Cherepanov) 454 4552014-12-11 20:01 Christos Zoulas <christos@zoulas.com> 456 457 * PR/405: ignore SIGPIPE from uncompress programs 458 * change printable -> file_printable and use it in 459 more places for safety 460 * in ELF, instead of "(uses dynamic libraries)" when PT_INTERP 461 is present print the interpreter name. 462 4632014-12-10 20:01 Christos Zoulas <christos@zoulas.com> 464 465 * release 5.21 466 4672014-11-27 18:40 Christos Zoulas <christos@zoulas.com> 468 469 * Allow setting more parameters from the command line. 470 * Split name/use and indirect magic recursion limits. 471 4722014-11-27 11:12 Christos Zoulas <christos@zoulas.com> 473 474 * Adjust ELF parameters and the default recursion 475 level. 476 * Allow setting the recursion level dynamically. 477 4782014-11-24 8:55 Christos Zoulas <christos@zoulas.com> 479 480 * The following fixes resulted from Thomas Jarosch's fuzzing 481 tests that revealed severe performance issues on pathological 482 input: 483 - limit number of elf program and sections processing 484 - abort elf note processing quickly 485 - reduce the number of recursion levels from 20 to 10 486 - preserve error messages in indirect magic handling 487 488 This is tracked as CVE-2014-8116 and CVE-2014-8117 489 4902014-11-12 10:30 Christos Zoulas <christos@zoulas.com> 491 492 * fix bogus free in the user buffer case. 493 4942014-11-11 12:35 Christos Zoulas <christos@zoulas.com> 495 496 * fix out of bounds read for pascal strings 497 * fix memory leak (not freeing the head of each mlist) 498 4992014-11-07 10:25 Christos Zoulas <christos@zoulas.com> 500 501 * When printing strings from a file, convert them to printable 502 on a byte by byte basis, so that we don't get issues with 503 locale's trying to interpret random byte streams as UTF-8 and 504 having printf error out with EILSEQ. 505 5062014-10-17 11:48 Christos Zoulas <christos@zoulas.com> 507 508 * fix bounds in note reading (Francisco Alonso / Red Hat) 509 5102014-10-11 15:02 Christos Zoulas <christos@zoulas.com> 511 512 * fix autoconf glue for setlocale and locale_t; some OS's 513 have locale_t in xlocale.h 514 5152014-10-10 15:01 Christos Zoulas <christos@zoulas.com> 516 517 * release 5.20 518 5192014-08-17 10:01 Christos Zoulas <christos@zoulas.com> 520 521 * recognize encrypted CDF documents 522 5232014-08-04 9:18 Christos Zoulas <christos@zoulas.com> 524 525 * add magic_load_buffers from Brooks Davis 526 5272014-07-24 16:40 Christos Zoulas <christos@zoulas.com> 528 529 * add thumbs.db support 530 5312014-06-12 12:28 Christos Zoulas <christos@zoulas.com> 532 533 * release 5.19 534 5352014-06-09 9:04 Christos Zoulas <christos@zoulas.com> 536 537 * Misc buffer overruns and missing buffer size tests in cdf parsing 538 (Francisco Alonso, Jan Kaluza) 539 5402014-06-02 14:50 Christos Zoulas <christos@zoulas.com> 541 542 * Enforce limit of 8K on regex searches that have no limits 543 * Allow the l modifier for regex to mean line count. Default 544 to byte count. If line count is specified, assume a max 545 of 80 characters per line to limit the byte count. 546 * Don't allow conversions to be used for dates, allowing 547 the mask field to be used as an offset. 548 5492014-05-30 12:51 Christos Zoulas <christos@zoulas.com> 550 551 * Make the range operator limit the length of the 552 regex search. 553 5542014-05-14 19:23 Christos Zoulas <christos@zoulas.com> 555 556 * PR/347: Windows fixes 557 * PR/352: Hangul word processor recognition 558 * PR/354: Encoding irregularities in text files 559 5602014-05-06 6:12 Christos Zoulas <christos@zoulas.com> 561 562 * Fix uninitialized title in CDF files (Jan Kaluza) 563 5642014-05-04 14:55 Christos Zoulas <christos@zoulas.com> 565 566 * PR/351: Fix compilation of empty files 567 5682014-04-30 17:39 Christos Zoulas <christos@zoulas.com> 569 570 * Fix integer formats: We don't specify 'l' or 571 'h' and 'hh' specifiers anymore, only 'll' for 572 quads and nothing for the rest. This is so that 573 magic writing is simpler. 574 5752014-04-01 15:25 Christos Zoulas <christos@zoulas.com> 576 577 * PR/341: Jan Kaluza, fix memory leak 578 * PR/342: Jan Kaluza, fix out of bounds read 579 5802014-03-28 15:25 Christos Zoulas <christos@zoulas.com> 581 582 * Fix issue with long formats not matching fmtcheck 583 5842014-03-26 11:25 Christos Zoulas <christos@zoulas.com> 585 586 * release 5.18 587 5882014-03-15 17:45 Christos Zoulas <christos@zoulas.com> 589 590 * add fmtcheck(3) for those who don't have it 591 5922014-03-14 15:12 Christos Zoulas <christos@zoulas.com> 593 594 * prevent mime entries from being attached to magic 595 entries with no descriptions 596 597 * adjust magic strength for regex type 598 599 * remove superfluous ascmagic with encoding test 600 6012014-03-06 12:01 Christos Zoulas <christos@zoulas.com> 602 603 * fix regression fix echo -ne "\012\013\014" | file -i - 604 which printed "binary" instead of "application/octet-stream" 605 606 * add size_t overflow check for magic file size 607 6082014-02-27 16:01 Christos Zoulas <christos@zoulas.com> 609 610 * experimental support for matching with CFD CLSID 611 6122014-02-18 13:04 Kimmo Suominen (kimmo@suominen.com) 613 614 * Cache old LC_CTYPE locale before setting it to "C", so 615 we can use it to restore LC_CTYPE instead of asking 616 setlocale() to scan the environment variables. 617 6182014-02-12 18:21 Christos Zoulas <christos@zoulas.com> 619 620 * Count recursion levels through indirect magic 621 6222014-02-11 10:40 Christos Zoulas <christos@zoulas.com> 623 624 * Prevent infinite recursion on files with indirect offsets of 0 625 6262014-01-30 21:00 Christos Zoulas <christos@zoulas.com> 627 628 * Add -E flag that makes file print filesystem errors to stderr 629 and exit. 630 6312014-01-08 17:20 Christos Zoulas <christos@zoulas.com> 632 633 * mime printing could print results from multiple magic entries 634 if there were multiple matches. 635 * in some cases overflow was not detected when computing offsets 636 in softmagic. 637 6382013-12-05 12:00 Christos Zoulas <christos@zoulas.com> 639 640 * use strcasestr() to for cdf strings 641 * reset to the "C" locale while doing regex operations, or case 642 insensitive comparisons; this is provisional 643 6442013-11-19 20:10 Christos Zoulas <christos@zoulas.com> 645 646 * always leave magic file loaded, don't unload for magic_check, etc. 647 * fix default encoding to binary instead of unknown which broke recently 648 * handle empty and one byte files, less specially so that 649 --mime-encoding does not break completely. 650 ` 6512013-11-06 14:40 Christos Zoulas <christos@zoulas.com> 652 653 * fix erroneous non-zero exit code from non-existent file and message 654 6552013-10-29 14:25 Christos Zoulas <christos@zoulas.com> 656 657 * add CDF MSI file detection (Guy Helmer) 658 6592013-09-03 11:56 Christos Zoulas <christos@zoulas.com> 660 661 * Don't mix errors and regular output if there was an error 662 * in magic_descriptor() don't close the file and try to restore 663 its position 664 6652013-05-30 17:25 Christos Zoulas <christos@zoulas.com> 666 667 * Don't treat magic as an error if offset was past EOF (Christoph Biedl) 668 6692013-05-28 17:25 Christos Zoulas <christos@zoulas.com> 670 671 * Fix spacing issues in softmagic and elf (Jan Kaluza) 672 6732013-05-02 18:00 Christos Zoulas <christos@zoulas.com> 674 675 * Fix segmentation fault with multiple magic_load commands. 676 6772013-04-22 11:20 Christos Zoulas <christos@zoulas.com> 678 679 * The way "default" was implemented was not very useful 680 because the "if something was printed at that level" 681 was not easily controlled by the user, and the format 682 was bound to a string which is too restrictive. Add 683 a "clear" for that level keyword and make "default" 684 void. This way one can do: 685 686 >>13 clear x 687 >>13 lelong 1 foo 688 >>13 lelong 2 bar 689 >>13 default x 690 >>>13 lelong x unknown %x 691 6922013-03-25 13:20 Christos Zoulas <christos@zoulas.com> 693 694 * disallow strength setting in "name" entries 695 6962013-03-06 21:24 Christos Zoulas <christos@zoulas.com> 697 698 * fix recursive magic separator printing 699 7002013-02-26 19:28 Christos Zoulas <christos@zoulas.com> 701 702 * limit recursion level for mget 703 * fix pread() related breakage in cdf 704 * handle offsets properly in recursive "use" 705 7062013-02-18 10:39 Christos Zoulas <christos@zoulas.com> 707 708 * add elf reading of debug info to determine if file is stripped 709 (Jan Kaluza) 710 * use pread() 711 7122013-01-25 18:05 Christos Zoulas <christos@zoulas.com> 713 714 * change mime description size from 64 to 80 to accommodate OOXML. 715 7162013-01-11 14:50 Christos Zoulas <christos@zoulas.com> 717 718 * Warn about inconsistent continuation levels. 719 * Change fsmagic to add a space after it prints. 720 7212013-01-10 21:00 Christos Zoulas <christos@zoulas.com> 722 723 * Make getline public so that file can link against it. 724 Perhaps it is better to rename it, or hide it differently. 725 Fixes builds on platforms that do not provide it. 726 7272013-01-07 16:30 Christos Zoulas <christos@zoulas.com> 728 729 * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document 730 what long, int, short, etc is (Guy Harris) 731 7322013-01-06 11:20 Christos Zoulas <christos@zoulas.com> 733 734 * add magic_version function and constant 735 * Redo memory allocation and de-allocation. 736 (prevents double frees on non mmap platforms) 737 * Fix bug with name/use having to do with passing 738 found state from the parent to the child and back. 739 7402012-12-19 8:47 Christos Zoulas <christos@zoulas.com> 741 742 * Only print elf capabilities for archs we know (Jan Kaluza) 743 7442012-10-30 19:14 Christos Zoulas <christos@zoulas.com> 745 746 * Add "name" and "use" file types in order to look 747 inside mach-o files. 748 7492012-09-06 10:40 Christos Zoulas <christos@zoulas.com> 750 751 * make --version exit 0 (Matthew Schultz) 752 * add string/T (Jan Kaluza) 753 7542012-08-09 2:15 Christos Zoulas <christos@zoulas.com> 755 756 * add z and t modifiers for our own vasprintf 757 * search for $HOME/.magic.mgc if it is there first 758 * fix reads from a pipe, and preserve errno 759 7602012-05-15 13:12 Christos Zoulas <christos@zoulas.com> 761 762 * use ctime_r, asctime_r 763 7642012-04-06 17:18 Christos Zoulas <christos@zoulas.com> 765 766 * Fixes for indirect offsets to handle apple disk formats 767 7682012-04-03 18:26 Christos Zoulas <christos@zoulas.com> 769 770 * Add windows date field types 771 * More info for windows shortcuts (incomplete) 772 7732012-02-20 17:33 Christos Zoulas <christos@zoulas.com> 774 775 * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann) 776 7772011-12-15 12:17 Chris Metcalf <cmetcalf@tilera.com> 778 779 * Support Tilera architectures (tile64, tilepro, tilegx). 780 7812011-12-16 16:33 Reuben Thomas <rrt@sc3d.org> 782 783 * Add magic for /usr/bin/env Perl scripts 784 * Weaken generic script magic to avoid clashing with 785 language-specific magic. 786 7872011-12-08 13:37 Reuben Thomas <rrt@sc3d.org> 788 789 * Simplify if (p) free(p) to free(p). 790 7912011-12-08 13:07 Reuben Thomas <rrt@sc3d.org> 792 793 * Remove hardwired token finding (names.h), turning it into soft 794 magic. Patterns are either anchored regexs or search/8192. English 795 language detection and PL/1 detection have been removed as they 796 were too fragile. -e tokens is still accepted for backwards 797 compatibility. 798 * Move 3ds patterns (which are commented out anyway) into autodesk 799 (they were, oddly, in c-lang). 800 8012011-12-06 00:16 Reuben Thomas <rrt@sc3d.org> 802 803 * Tweak strength of generic hash-bang detectors to be less than 804 specific ones. 805 * Make an inconsistent description of Python scripts consistent. 806 8072011-12-05 23:58 Reuben Thomas <rrt@sc3d.org> 808 809 * Fix minor error in file(1). 810 8112011-11-05 00:00 Reuben Thomas <rrt@sc3d.org> 812 813 * Fix issue #150 (I hope). 814 8152011-09-22 12:57 Christos Zoulas <christos@zoulas.com> 816 817 * Python3 binding fixes from Kelly Anderson 818 8192011-09-20 11:32 Christos Zoulas <christos@zoulas.com> 820 821 * If a string type magic entry is marked as text or binary 822 only match text files against text entries and binary 823 files against binary entries. 824 8252011-09-01 12:12 Christos Zoulas <christos@zoulas.com> 826 827 * Don't wait for any subprocess, just the one we forked. 828 8292011-08-26 16:40 Christos Zoulas <christos@zoulas.com> 830 831 * If the application name is not set in a cdf file, try to see 832 if it has a directory with the application name on it. 833 8342011-08-17 14:32 Christos Zoulas <christos@zoulas.com> 835 836 * Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza 837 8382011-08-14 09:03 Christos Zoulas <christos@zoulas.com> 839 840 * Don't use variable string formats. 841 8422011-07-12 12:32 Reuben Thomas <rrt@sc3d.org> 843 844 * Fix detection of Zip files (Mantis #128). 845 * Make some minor improvements to file(1). 846 * Rename MIME types for filesystem objects for consistency with 847 xdg-utils. Typically this means that application/x-foo becomes 848 inode/foo, but some names also change slightly, e.g. 849 application/x-character-device becomes inode/chardevice. 850 8512011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 852 853 * fix mingw compilation (Abradoks) 854 8552011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 856 857 * remove patchlevel.h 858 * Fix read past allocated memory caused by double-incrementing 859 a pointer in a loop (reported by Roberto Maar) 860 8612011-03-30 15:45 Christos Zoulas <christos@zoulas.com> 862 863 * Fix cdf string buffer setting (Sven Anders) 864 8652011-03-20 16:35 Christos Zoulas <christos@zoulas.com> 866 867 * Eliminate MAXPATHLEN and use dynamic allocation for 868 path and file buffers. 869 8702011-03-15 18:15 Christos Zoulas <christos@zoulas.com> 871 872 * binary tests on magic entries with masks could spuriously 873 get converted to ascii. 874 8752011-03-12 18:06 Reuben Thomas <rrt@sc3d.org> 876 877 * Improve file.man (remove BUGS, present email addresses consistently). 878 8792011-03-07 19:38 Christos Zoulas <christos@zoulas.com> 880 881 * add lrzip support (from Ville Skytta) 882 8832011-02-10 16:36 Christos Zoulas <christos@zoulas.com> 884 885 * fix CDF bounds checking (Guy Helmer) 886 8872011-02-10 12:03 Christos Zoulas <christos@zoulas.com> 888 889 * add cdf_ctime() that prints a meaningful error when time cannot 890 be converted. 891 8922011-02-02 20:40 Christos Zoulas <christos@zoulas.com> 893 894 * help and version output to stdout. 895 896 * When matching softmagic for ascii files, don't just print 897 the softmagic classification, keep going and print the 898 text classification too. This fixes broken troff files when 899 we moved them from keyword recognition to softmagic 900 (they stopped printing "with CRLF" etc.) 901 Reported by Doug McIlroy. 902 9032011-01-16 19:31 Reuben Thomas <rrt@sc3d.org> 904 905 * Fix two potential buffer overruns in apprentice_list. 906 9072011-01-14 22:33 Reuben Thomas <rrt@sc3d.org> 908 909 * New Python binding in pure Python. 910 * Update libmagic(3). 911 9122011-01-06 21:40 Reuben Thomas <rrt@sc3d.org> 913 914 * Fix Python bindings (including recent Python 3 compatibility 915 update). 916 9172011-01-04 18:43 Reuben Thomas <rrt@sc3d.org> 918 919 * magic/Makefile.am: make it easier to recover from magic build failures. 920 * Fix pstring length specifier parsing to avoid generating invalid 921 magic files. 922 * Add pstring length "J" (for "JPEG") to specify that the length 923 include itself. 924 * Fix JPEG comment parsing at last using pstring/HJ! 925 * Ignore section 5 man pages in doc/.cvsignore. 926 9272010-12-22 13:12 Christos Zoulas <christos@zoulas.com> 928 929 * Add pstring/BHhLl to specify the type of the length of pascal 930 strings. 931 9322010-11-26 18:39 Reuben Thomas <rrt@sc3d.org> 933 934 * Fix "-e soft": it was ignored when softmagic was called 935 during asciimagic. 936 * Improve comments and use "unsigned char" in tar.h/is_tar.c. 937 9382010-11-05 17:26 Reuben Thomas <rrt@sc3d.org> 939 940 * Make bug reporting addresses more visible. 941 9422010-11-01 18:35 Reuben Thomas <rrt@sc3d.org> 943 944 * Add tcl magic from Gustaf Neumann 945 9462010-10-24 10:42 Christos Zoulas <christos@zoulas.com> 947 948 * Fix the whitespace comparing code (Christopher Chittleborough) 949 9502010-10-06 21:05 Christos Zoulas <christos@zoulas.com> 951 952 * allow string/t to work (Jan Kaluza) 953 9542010-09-20 22:11 Reuben Thomas <rrt@sc3d.org> 955 956 * Apply some patches from Ubuntu and Fedora. 957 9582010-09-20 21:16 Reuben Thomas <rrt@sc3d.org> 959 960 * Apply all patches from Debian package 5.04-6 which have not 961 already been applied and are not Debian-specific. 962 9632010-09-20 15:24 Reuben Thomas <rrt@sc3d.org> 964 965 * Minor security fix to softmagic.c (don't use untrusted 966 string as printf format). 967 9682010-07-21 12:20 Christos Zoulas <christos@zoulas.com> 969 970 * MINGW32 portability from LRN 971 972 * Don't warn about escaping magic regex chars when we are in a regex. 973 9742010-07-19 10:55 Christos Zoulas <christos@zoulas.com> 975 976 * Only try to print prpsinfo for core files. (Jan Kaluza) 977 9782010-04-22 12:55 Christos Zoulas <christos@zoulas.com> 979 980 * Try more elf offsets for Debian core files. (Arnaud Giersch) 981 9822010-02-20 15:18 Reuben Thomas <rrt@sc3d.org> 983 984 * Clarify which sort of CDF we mean. 985 9862010-02-14 22:58 Reuben Thomas <rrt@sc3d.org> 987 988 * Re-jig Zip file type magic so that unsupported special 989 Zip types (those with "mimetype" at offset 30) can be 990 recognized. 991 9922010-02-02 21:50 Reuben Thomas <rrt@sc3d.org> 993 994 * Add support for OCF (EPUB) files (application/epub+zip) 995 9962010-01-28 18:25 Christos Zoulas <christos@zoulas.com> 997 998 * Fix core-dump from unbound loop: 999 https://bugzilla.redhat.com/show_bug.cgi?id=533245 1000 10012010-01-22 15:45 Christos Zoulas <christos@zoulas.com> 1002 1003 * print proper mime for crystal reports file 1004 1005 * print the last summary information of a cdf document, not the 1006 first so that nested documents print the right info 1007 10082010-01-16 18:42 Charles Longeau <chl@tuxfamily.org> 1009 1010 * bring back some fixes from OpenBSD: 1011 - make gcc2 builds file 1012 - fix typos in a magic file comment 1013 10142009-11-17 18:35 Christos Zoulas <christos@zoulas.com> 1015 1016 * ctime/asctime can return NULL on some OS's although 1017 they should not (Toshit Antani) 1018 10192009-09-14 13:49 Christos Zoulas <christos@zoulas.com> 1020 1021 * Centralize magic path handling routines and remove the 1022 special-casing from file.c so that the python module for 1023 example comes up with the same magic path (Fixes ~/.magic 1024 handling) (from Gab) 1025 10262009-09-11 23:38 Reuben Thomas <rrt@sc3d.org> 1027 1028 * When magic argument is a directory, read the files in 1029 strcmp-sorted order (fixes Debian bug #488562 and our own FIXME). 1030 10312009-09-11 13:11 Reuben Thomas <rrt@sc3d.org> 1032 1033 * Combine overlapping epoc and psion magic files into one (epoc). 1034 1035 * Add some more EPOC MIME types. 1036 10372009-08-19 15:55 Christos Zoulas <christos@zoulas.com> 1038 1039 * Fix 3 bugs (From Ian Darwin): 1040 - file_showstr could move one past the end of the array 1041 - parse_apple did not nul terminate the string in the overflow case 1042 - parse_mime truncated the wrong string in the overflow case 1043 10442009-08-12 12:28 Robert Byrnes <byrnes@wildpumpkin.net> 1045 1046 * Include Localstuff when compiling magic. 1047 10482009-07-15 10:05 Christos Zoulas <christos@zoulas.com> 1049 1050 * Fix logic for including mygetopts.h 1051 1052 * Make cdf.c compile again with debugging 1053 1054 * Add the necessary field handling for crystal reports files to work 1055 10562009-06-23 01:34 Reuben Thomas <rrt@sc3d.org> 1057 1058 * Stop "(if" identifying Lisp files, that's plain dumb! 1059 10602009-06-09 22:13 Reuben Thomas <rrt@sc3d.org> 1061 1062 * Add a couple of missing MP3 MIME types. 1063 10642009-05-27 23:00 Reuben Thomas <rrt@sc3d.org> 1065 1066 * Add full range of hash-bang tests for Python and Ruby. 1067 1068 * Add MIME types for Python and Ruby scripts. 1069 10702009-05-13 10:44 Christos Zoulas <christos@zoulas.com> 1071 1072 * off by one in parsing hw capabilities in elf 1073 (Cheng Renquan) 1074 10752009-05-08 13:40 Christos Zoulas <christos@zoulas.com> 1076 1077 * lint fixes and more from NetBSD 1078 10792009-05-06 10:25 Christos Zoulas <christos@zoulas.com> 1080 1081 * Avoid null dereference in cdf code (Drew Yao) 1082 1083 * More cdf bounds checks and overflow checks 1084 10852009-05-01 18:37 Christos Zoulas <christos@zoulas.com> 1086 1087 * Buffer overflow fixes from Drew Yao 1088 10892009-04-30 17:10 Christos Zoulas <christos@zoulas.com> 1090 1091 * Fix more cdf lossage. All the documents I have 1092 right now print the correct information. 1093 10942009-03-27 18:43 Christos Zoulas <christos@zoulas.com> 1095 1096 * don't print \012- separators in the same magic entry 1097 if it consists of multiple magic printing lines. 1098 10992009-03-23 10:20 Christos Zoulas <christos@zoulas.com> 1100 1101 * Avoid file descriptor leak in compress code from 1102 (Daniel Novotny) 1103 11042009-03-18 16:50 Christos Zoulas <christos@zoulas.com> 1105 1106 * Allow escaping of relation characters, so that we can say \^[A-Z] 1107 and the ^ is not eaten as a relation char. 1108 1109 * Fix troff and fortran to their previous glory using 1110 regex. This was broken since their removel from ascmagic. 1111 11122009-03-10 16:50 Christos Zoulas <christos@zoulas.com> 1113 1114 * don't use strlen in strndup() (Toby Peterson) 1115 11162009-03-10 7:45 Christos Zoulas <christos@zoulas.com> 1117 1118 * avoid c99 syntax. 1119 11202009-02-23 15:45 Christos Zoulas <christos@zoulas.com> 1121 1122 * make the cdf code use the buffer first if available, 1123 and then the fd code. 1124 11252009-02-13 13:45 Christos Zoulas <christos@zoulas.com> 1126 1127 * look for struct option to determine if getopt.h is usable for IRIX. 1128 1129 * sanitize cdf document strings 1130 11312009-02-04 13:25 Christos Zoulas <christos@zoulas.com> 1132 1133 * fix OS/2 warnings. 1134 11352008-12-12 15:50 Christos Zoulas <christos@zoulas.com> 1136 1137 * fix initial offset calculation for non 4K sector files 1138 1139 * add loop limits to avoid DoS attacks by constructing 1140 looping sector references. 1141 11422008-12-03 13:05 Christos Zoulas <christos@zoulas.com> 1143 1144 * fix memory botches on cdf file parsing. 1145 1146 * exit with non-zero value for any error, not just for the last 1147 file processed. 1148 11492008-11-09 20:42 Charles Longeau <chl@tuxfamily.org> 1150 1151 * Replace all str{cpy,cat} functions with strl{cpy,cat} 1152 * Ensure that strl{cpy,cat} are included in libmagic, 1153 as needed. 1154 11552008-11-06 18:18 Christos Zoulas <christos@zoulas.com> 1156 1157 * Handle ID3 format files. 1158 11592008-11-06 23:00 Reuben Thomas <rrt@sc3d.org> 1160 1161 * Fix --mime, --mime-type and --mime-encoding under new scheme. 1162 1163 * Rename "ascii" to "text" and add "encoding" test. 1164 1165 * Return a precise ("utf-16le" or "utf-16be") MIME charset for 1166 UTF-16. 1167 1168 * Fix error in comment caused by automatic indentation adding 1169 words! 1170 11712008-11-06 10:35 Christos Zoulas <christos@astron.com> 1172 1173 * use memchr instead of strchr because the string 1174 might not be NUL terminated (Scott MacVicar) 1175 11762008-11-03 07:31 Reuben Thomas <rrt@sc3d.org> 1177 1178 * Fix a printf with a non-literal format string. 1179 1180 * Fix formatting and punctuation of help for "--apple". 1181 11822008-10-30 11:00 Reuben Thomas <rrt@sc3d.org> 1183 1184 * Correct words counts in comments of struct magic. 1185 1186 * Fix handle_annotation to allow both Apple and MIME types to be 1187 printed, and to return correct code if MIME type is 1188 printed (1, not 0) or if there's an error (-1 not 1). 1189 1190 * Fix output of charset for MIME type (precede with semi-colon; 1191 fixes Debian bug #501460). 1192 1193 * Fix potential attacks via conversion specifications in magic 1194 strings. 1195 1196 * Add a FIXME for Debian bug #488562 (magic files should be 1197 read in a defined order, by sorting the names). 1198 11992008-10-18 16:45 Christos Zoulas <christos@astron.com> 1200 1201 * Added APPLE file creator/type 1202 12032008-10-12 10:20 Christos Zoulas <christos@astron.com> 1204 1205 * Added CDF parsing 1206 12072008-10-09 16:40 Christos Zoulas <christos@astron.com> 1208 1209 * filesystem and msdos patches (Joerg Jenderek) 1210 12112008-10-09 13:20 Christos Zoulas <christos@astron.com> 1212 1213 * correct --exclude documentation issues: remove troff and fortran 1214 and rename "token" to "tokens". (Randy McMurchy) 1215 12162008-10-01 10:30 Christos Zoulas <christos@astron.com> 1217 1218 * Read ~/.magic in addition to the default magic file not instead 1219 of, as documented in the man page. 1220 12212008-09-10 21:30 Reuben Thomas <rrt@sc3d.org> 1222 1223 * Comment out graphviz patterns, as they match too many files. 1224 12252008-08-30 12:54 Christos Zoulas <christos@astron.com> 1226 1227 * Don't eat trailing \n in magic enties. 1228 1229 * Cast defines to allow compilation using a c++ compiler. 1230 12312008-08-25 23:56 Reuben Thomas <rrt@sc3d.org> 1232 1233 * Add text/x-lua MIME type for Lua scripts. 1234 1235 * Escape { in regex in graphviz patterns. 1236 12372008-07-26 00:59 Reuben Thomas <rrt@sc3d.org> 1238 1239 * Add MIME types for special files. 1240 1241 * Use access to give more accurate information for files that 1242 can't be opened. 1243 1244 * Add a TODO list. 1245 12462008-07-02 11:15 Christos Zoulas <christos@astron.com> 1247 1248 * add !:strength op to adjust magic strength (experimental) 1249 12502008-06-16 21:41 Reuben Thomas <rrt@sc3d.org> 1251 1252 * Fix automake error in configure.ac. 1253 1254 * Add MIME type for Psion Sketch files. 1255 12562008-06-05 08:59 Christos Zoulas <christos@astron.com> 1257 1258 * Don't print warnings about bad namesize in stripped 1259 binaries with PT_NOTE is still there, and the actual 1260 note is gone (Jakub Jelinek) 1261 12622008-05-28 15:12 Robert Byrnes <byrnes@wildpumpkin.net> 1263 1264 * magic/Magdir/elf: 1265 Note invalid byte order for little-endian SPARC32PLUS. 1266 Add SPARC V9 vendor extensions and memory model. 1267 1268 * src/elfclass.h: 1269 Pass target machine to doshn (for Solaris hardware capabilities). 1270 1271 * src/readelf.c (doshn): 1272 Add support for Solaris hardware/software capabilities. 1273 1274 * src/readelf.h: 1275 Ditto. 1276 1277 * src/vasprintf.c (dispatch): 1278 Add support for ll modifier. 1279 12802008-05-16 10:25 Christos Zoulas <christos@astron.com> 1281 1282 * Fix compiler warnings. 1283 1284 * remove stray printf, and fix a vprintf bug. (Martin Dorey) 1285 12862008-05-06 00:13 Robert Byrnes <byrnes@wildpumpkin.net> 1287 1288 * src/Makefile.am: 1289 Ensure that getopt_long and [v]asprintf are included in libmagic, 1290 as needed. 1291 1292 Remove unnecessary EXTRA_DIST. 1293 1294 * src/Makefile.in: 1295 Rerun automake. 1296 1297 * src/vasprintf.c (dispatch): 1298 Fix variable precision bug: be sure to step past '*'. 1299 1300 * src/vasprintf.c (core): 1301 Remove unreachable code. 1302 1303 * src/apprentice.c (set_test_type): 1304 Add cast to avoid compiler warning. 1305 13062008-04-22 23:45 Christos Zoulas <christos@astron.com> 1307 1308 * Add magic submission guidelines (Abel Cheung) 1309 1310 * split msdos and windows magic (Abel Cheung) 1311 13122008-04-04 11:00 Christos Zoulas <christos@astron.com> 1313 1314 * >= <= is not supported, so fix the magic and warn about it. 1315 reported by: Thien-Thi Nguyen <ttn@gnuvola.org> 1316 13172008-03-27 16:16 Robert Byrnes <byrnes@wildpumpkin.net> 1318 1319 * src/readelf.c (donote): 1320 ELF core file command name/line bug fixes and enhancements: 1321 1322 Try larger offsets first to avoid false matches 1323 from earlier data that happen to look like strings; 1324 this primarily affected SunOS 5.x 32-bit Intel core files. 1325 1326 Add support for command line (instead of just short name) 1327 for SunOS 5.x. 1328 1329 Add information about NT_PSINFO for SunOS 5.x. 1330 1331 Only trim whitespace from end of command line. 1332 13332007-02-11 01:36 Reuben Thomas <rrt@sc3d.org> 1334 1335 * Change strength of ! from MULT to 0, as it matches almost 1336 anything (Reuben Thomas) 1337 1338 * Debian fixes (Reuben Thomas) 1339 13402007-02-11 00:17 Reuben Thomas <rrt@sc3d.org> 1341 1342 * Clarify UTF-8 BOM message (Reuben Thomas) 1343 1344 * Add HTML comment to token list in names.h 1345 13462007-02-04 15:50 Christos Zoulas <christos@astron.com> 1347 1348 * Debian fixes (Reuben Thomas) 1349 13502007-02-04 11:31 Christos Zoulas <christos@astron.com> 1351 1352 * !:mime annotations in magic files (Reuben Thomas) 1353 13542007-01-29 15:35 Christos Zoulas <christos@astron.com> 1355 1356 * zero out utime/utimes structs (Gavin Atkinson) 1357 13582007-01-26 13:45 Christos Zoulas <christos@astron.com> 1359 1360 * reduce writable data from Diego "Flameeyes" Petten 1361 13622007-12-28 15:06 Christos Zoulas <christos@astron.com> 1363 1364 * strtof detection 1365 1366 * remove bogus regex magic that could cause a DoS 1367 1368 * better mismatch version message 1369 13702007-12-27 11:35 Christos Zoulas <christos@astron.com> 1371 1372 * bring back some fixes from OpenBSD 1373 1374 * treat ELF dynamic objects as executables 1375 1376 * fix gcc warnings 1377 13782007-12-01 19:55 Christos Zoulas <christos@astron.com> 1379 1380 * make sure we have zlib.h and libz to compile the builtin 1381 decompress code 1382 13832007-10-28 20:48 Christos Zoulas <christos@astron.com> 1384 1385 * float and double magic support (Behan Webster) 1386 13872007-10-28 20:48 Christos Zoulas <christos@astron.com> 1388 1389 * Convert fortran to a soft test (Reuben Thomas) 1390 13912007-10-23 5:25 Christos Zoulas <christos@astron.com> 1392 1393 * Add --with-filename, and --no-filename (Reuben Thomas) 1394 13952007-10-23 3:59 Christos Zoulas <christos@astron.com> 1396 1397 * Rest of the mime split (Reuben Thomas) 1398 1399 * Make usage message generated from the flags so that 1400 they stay consistent (Reuben Thomas) 1401 14022007-10-20 3:06 Christos Zoulas <christos@astron.com> 1403 1404 * typo in comment, missing ifdef QUICK, remove unneeded code 1405 (Charles Longeau) 1406 14072007-10-17 3:33 Christos Zoulas <christos@astron.com> 1408 1409 * Fix problem printing -\012 in some entries 1410 1411 * Separate magic type and encoding flags (Reuben Thomas) 1412 14132007-10-09 3:55 Christos Zoulas <christos@astron.com> 1414 1415 * configure fix for int64 and strndup (Reuben Thomas) 1416 14172007-09-26 4:45 Christos Zoulas <christos@astron.com> 1418 1419 * Add magic_descriptor() function. 1420 1421 * Fix regression in elf reading code where the core name was 1422 not being printed. 1423 1424 * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) 1425 14262007-08-19 6:30 Christos Zoulas <christos@astron.com> 1427 1428 * Make mime format consistent so that it can 1429 be easily parsed: 1430 mimetype [charset=character-set] [encoding=encoding-mime-type] 1431 1432 Remove spurious extra text from some MIME type printouts 1433 (mostly in is_tar). 1434 1435 Fix one case where -i produced nothing at all (for a 1-byte file, 1436 which is now classed as application/octet-stream). 1437 1438 Remove 7/8bit classifications, since they were arbitrary 1439 and not based on the file data. 1440 1441 This work was done by Reuben Thomas 1442 14432007-05-24 10:00 Christos Zoulas <christos@astron.com> 1444 1445 * Fix another integer overflow (Colin Percival) 1446 14472007-03-26 13:58 Christos Zoulas <christos@astron.com> 1448 1449 * make sure that all of struct magic_set is initialized appropriately 1450 (Brett) 1451 14522007-03-25 17:44 Christos Zoulas <christos@astron.com> 1453 1454 * reset left bytes in the buffer (Dmitry V. Levin) 1455 1456 * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS 1457 (Peter Avalos) 1458 14592007-03-15 10:51 Christos Zoulas <christos@astron.com> 1460 1461 * fix fortran and nroff reversed tests (Dmitry V. Levin) 1462 1463 * fix exclude option (Dmitry V. Levin) 1464 14652007-02-08 17:30 Christos Zoulas <christos@astron.com> 1466 1467 * fix integer underflow in file_printf which can lead to 1468 to exploitable heap overflow (Jean-Sebastien Guay-Lero) 1469 14702007-02-05 11:35 Christos Zoulas <christos@astron.com> 1471 1472 * make socket/pipe reading more robust 1473 14742007-01-25 16:01 Christos Zoulas <christos@astron.com> 1475 1476 * Centralize all the tests in file_buffer. 1477 1478 * Add exclude flag. 1479 14802007-01-18 05:29 Anon Ymous <do@not.spam.me> 1481 1482 * Move the "type" detection code from parse() into its own table 1483 driven routine. This avoids maintaining multiple lists in 1484 file.h. 1485 1486 * Add an optional conditional field (ust before the type field). 1487 This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is 1488 likely to go away. 1489 14902007-01-16 23:24 Anon Ymous <do@not.spam.me> 1491 1492 * Fix an initialization bug in check_mem(). 1493 14942007-01-16 14:58 Anon Ymous <do@not.spam.me> 1495 1496 * Add a "default" type to print a message if nothing previously 1497 matched at that level or since the last default at that 1498 level. This is useful for setting up switch-like statements. 1499 It can also be used to do if/else constructions without a 1500 redundant second test. 1501 1502 * Fix the "x" special case test so that one can test for that 1503 string with "=x". 1504 1505 * Allow "search" to search the entire buffer if the "/N" 1506 search count is missing. 1507 1508 * Make "regex" work! It now starts its search at the 1509 specified offset and takes an (optional) "/N" line count to 1510 specify the search range; otherwise it searches to the end 1511 of the file. The match is now grabbed correctly for format 1512 strings and the offset set to the end of the match. 1513 1514 * Add a "/s" flag to "regex" and "search" to set the offset to 1515 the start of the match. By default the offset is set to the 1516 end of the match, as it is with other tests. This is mostly 1517 useful for "regex". 1518 1519 * Make "search", "string" and "pstring" use the same 1520 file_strncmp() routine so that they support the same flags; 1521 "bestring16" and "lestring16" call the same routine, but 1522 with flags = 0. Also add a "/C" flag (in analogy to "/c") 1523 to ignore the case on uppercase (lowercase) characters in 1524 the test string. 1525 1526 * Strict adherence to C style string escapes. A warnings are 1527 printed when compiling. Note: previously "\a" was 1528 incorrectly translated to 'a' instead of an <alert> (i.e., 1529 BELL, typically 0x07). 1530 1531 * Make this compile with "-Wall -Wextra" and all the warning 1532 flags used with WARNS=4 in the NetBSD source. Also make it 1533 pass lint. 1534 1535 * Many "cleanups" and hopefully not too many new bugs! 1536 15372007-01-16 14:56 Anon Ymous <do@not.spam.me> 1538 1539 * make several more files compile with gcc warnings 1540 on and also make them pass lint. 1541 15422007-01-16 14:54 Anon Ymous <do@not.spam.me> 1543 1544 * fix a puts()/putc() usage goof in file.c 1545 1546 * make file.c compile with gcc warnings and pass lint 1547 15482006-12-11 16:49 Christos Zoulas <christos@astron.com> 1549 1550 * fix byteswapping issue 1551 1552 * report the number of bytes we tried to 1553 allocate when allocation fails 1554 1555 * add a few missed cases in the strength routine 1556 15572006-12-08 16:32 Christos Zoulas <christos@astron.com> 1558 1559 * store and print the line number of the magic 1560 entry for debugging. 1561 1562 * if the magic entry did not print anything, 1563 don't treat it as a match 1564 1565 * change the magic strength algorithm to take 1566 into account the relationship op. 1567 1568 * fix a bug in search where we could accidentally 1569 return a match. 1570 1571 * propagate the error return from match to 1572 file_softmagic. 1573 15742006-11-25 13:35 Christos Zoulas <christos@astron.com> 1575 1576 * Don't store the current offset in the magic 1577 struct, because it needs to be restored and 1578 it was not done properly all the time. Bug 1579 found by: Arkadiusz Miskiewicz 1580 1581 * Fix problem in the '\0' separator; and don't 1582 print it as an additional separator; print 1583 it as the only separator. 1584 15852006-11-17 10:51 Christos Zoulas <christos@astron.com> 1586 1587 * Added a -0 option to print a '\0' separator 1588 Etienne Buira <etienne.buira@free.fr> 1589 15902006-10-31 15:14 Christos Zoulas <christos@astron.com> 1591 1592 * Check offset before copying (Mike Frysinger) 1593 1594 * merge duplicated code 1595 1596 * add quad date support 1597 1598 * make sure that we nul terminate desc (Ryoji Kanai) 1599 1600 * don't process elf notes multiple times 1601 1602 * allow -z to report empty compressed files 1603 1604 * use calloc to initialize the ascii buffers (Jos van den Oever) 1605 16062006-06-08 11:11 Christos Zoulas <christos@astron.com> 1607 1608 * QNX fixes (Mike Gorchak) 1609 1610 * Add quad support. 1611 1612 * FIFO checks (Dr. Werner Fink) 1613 1614 * Linux ELF fixes (Dr. Werner Fink) 1615 1616 * Magic format checks (Dr. Werner Fink) 1617 1618 * Magic format function improvent (Karl Chen) 1619 16202006-05-03 11:11 Christos Zoulas <christos@astron.com> 1621 1622 * Pick up some elf changes and some constant fixes from SUSE 1623 1624 * Identify gnu tar vs. posix tar 1625 1626 * When keep going, don't print spurious newlines (Radek Vokal) 1627 16282006-04-01 12:02 Christos Zoulas <christos@astron.com> 1629 1630 * Use calloc instead of malloc (Mike Frysinger) 1631 1632 * Fix configure script to detect wctypes.h (Mike Frysinger) 1633 16342006-03-02 16:06 Christos Zoulas <christos@astron.com> 1635 1636 * Print empty if the file is (Mike Frysinger) 1637 1638 * Don't try to read past the end of the buffer (Mike Frysinger) 1639 1640 * Sort magic entries by strength [experimental] 1641 16422005-11-29 13:26 Christos Zoulas <christos@astron.com> 1643 1644 * Use iswprint() to convert the output string. 1645 (Bastien Nocera) 1646 16472005-10-31 8:54 Christos Zoulas <christos@astron.com> 1648 1649 * Fix regression where the core info was not completely processed 1650 (Radek Vokal) 1651 16522005-10-20 11:15 Christos Zoulas <christos@astron.com> 1653 1654 * Middle Endian magic (Diomidis Spinellis) 1655 16562005-10-17 11:15 Christos Zoulas <christos@astron.com> 1657 1658 * Open with O_BINARY for CYGWIN (Corinna Vinschen) 1659 1660 * Don't close stdin (Arkadiusz Miskiewicz) 1661 1662 * Look for note sections in non executables. 1663 16642005-09-20 13:33 Christos Zoulas <christos@astron.com> 1665 1666 * Don't print SVR4 Style in core files multiple times 1667 (Radek Vokal) 1668 16692005-08-27 04:09 Christos Zoulas <christos@astron.com> 1670 1671 * Cygwin changes Corinna Vinschen 1672 16732005-08-18 09:53 Christos Zoulas <christos@astron.com> 1674 1675 * Remove erroreous mention of /etc/magic in the file man page 1676 This is gentoo bug 101639. (Mike Frysinger) 1677 1678 * Cross-compile support and detection (Mike Frysinger) 1679 16802005-08-12 10:17 Christos Zoulas <christos@astron.com> 1681 1682 * Add -h flag and dereference symlinks if POSIXLY_CORRECT 1683 is set. 1684 16852005-07-29 13:57 Christos Zoulas <christos@astron.com> 1686 1687 * Avoid search and regex buffer overflows (Kelledin) 1688 16892005-07-12 11:48 Christos Zoulas <christos@astron.com> 1690 1691 * Provide stub implementations for {v,}nsprintf() for older 1692 OS's that don't have them. 1693 * Change mbstate_t autoconf detection macro from AC_MBSTATE_T 1694 to AC_TYPE_MBSTATE_T. 1695 16962005-06-25 11:48 Christos Zoulas <christos@astron.com> 1697 1698 * Dynamically allocate the string buffers and make the 1699 default read size 256K. 1700 17012005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de> 1702 1703 * Dragonfly ELF note support 1704 17052005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it> 1706 1707 * Avoid NULL pointer dereference in time conversion. 1708 17092005-03-06 00:00 Joerg Walter <jwalt@mail.garni.ch> 1710 1711 * Add indirect magic offset support, and search mode. 1712 17132005-01-12 00:00 Stepan Kasal <kasal@ucw.cz> 1714 1715 * src/ascmagic.c (file_ascmagic): Fix three bugs about text files: 1716 If a CRLF text file happens to have CR at offset HOWMANY - 1 1717 (currently 0xffff), it should not be counted as CR line 1718 terminator. 1719 If a line has length exactly MAXLINELEN, it should not yet be 1720 treated as a ``very long line'', as MAXLINELEN is ``longest sane 1721 line length''. 1722 With CRLF, the line length was not computed correctly, and even 1723 lines of length MAXLINELEN - 1 were treated as ``very long''. 1724 17252004-12-07 14:15 Christos Zoulas <christos@astron.com> 1726 1727 * bzip2 needs a lot of input buffer space on some files 1728 before it can begin uncompressing. This makes file -z 1729 fail on some bz2 files. Fix it by giving it a copy of 1730 the file descriptor to read as much as it wants if we 1731 have access to it. <christos@astron.com> 1732 17332004-11-24 12:39 Christos Zoulas <christos@astron.com> 1734 1735 * Stack smash fix, and ELF more conservative reading. 1736 Jakub Bogusz <qboosh@pld-linux.org> 1737 17382004-11-20 18:50 Christos Zoulas <christos@astron.com> 1739 1740 * New FreeBSD version parsing code: 1741 Jon Noack <noackjr@alumni.rice.edu> 1742 1743 * Hackish support for ucs16 strings <christos@astron.com> 1744 17452004-11-13 03:07 Christos Zoulas <christos@astron.com> 1746 1747 * print the file name and line number in syntax errors. 1748 17492004 10-12 10:50 Christos Zoulas <christos@astron.com> 1750 1751 * Fix stack overwriting on 0 length strings: Tim Waugh 1752 <twaugh@redhat.com> Ned Ludd <solar@gentoo.org> 1753 17542004-09-27 11:30 Christos Zoulas <christos@astron.com> 1755 1756 * Remove 3rd and 4th copyright clause; approved by Ian Darwin. 1757 1758 * Fix small memory leaks; caught by: Tamas Sarlos 1759 <stamas@csillag.ilab.sztaki.hu> 1760 17612004-07-24 16:33 Christos Zoulas <christos@astron.com> 1762 1763 * magic.mime update Danny Milosavljevic <danny.milo@gmx.net> 1764 1765 * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com> 1766 1767 * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com> 1768 1769 * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org> 1770 17712004-04-12 10:55 Christos Zoulas <christos@astron.com> 1772 1773 * make sure that magic formats match magic types during compilation 1774 1775 * fix broken sgi magic file 1776 17772004-04-06 20:36 Christos Zoulas <christos@astron.com> 1778 1779 * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com> 1780 1781 * magic fixes 1782 17832004-03-22 15:25 Christos Zoulas <christos@astron.com> 1784 1785 * Lots of mime fixes 1786 (Joerg Ostertag) <ostertag@rechengilde.de> 1787 1788 * FreeBSD ELF version handling 1789 (Edwin Groothuis) <edwin@mavetju.org> 1790 1791 * correct cleanup in all cases; don't just close the file. 1792 (Christos Zoulas) <christos@astron.com> 1793 1794 * add gettext message catalogue support 1795 (Michael Piefel) <piefel@debian.org> 1796 1797 * better printout for unreadable files 1798 (Michael Piefel) <piefel@debian.org> 1799 1800 * compensate for missing MAXPATHLEN 1801 (Michael Piefel) <piefel@debian.org> 1802 1803 * add wide character string length computation 1804 (Michael Piefel) <piefel@debian.org> 1805 1806 * Avoid infinite loops caused by bad elf alignments 1807 or name and description note sizes. Reported by 1808 (Mikael Magnusson) <mmikael@comhem.se> 1809 18102004-03-09 13:55 Christos Zoulas <christos@astron.com> 1811 1812 * Fix possible memory leak on error and add missing regfree 1813 (Dmitry V. Levin) <ldv@altlinux.org> 1814 18152003-12-23 12:12 Christos Zoulas <christos@astron.com> 1816 1817 * fix -k flag (Maciej W. Rozycki) 1818 18192003-11-18 14:10 Christos Zoulas <christos@astron.com> 1820 1821 * Try to give us much info as possible on corrupt elf files. 1822 (Willy Tarreau) <willy@w.ods.org> 1823 * Updated python bindings (Brett Funderburg) 1824 <brettf@deepfile.com> 1825 18262003-11-11 15:03 Christos Zoulas <christos@astron.com> 1827 1828 * Include file.h first, because it includes config.h 1829 breaks largefile test macros otherwise. 1830 (Paul Eggert <eggert@CS.UCLA.EDU> via 1831 Lars Hecking <lhecking@nmrc.ie>) 1832 18332003-10-14 21:39 Christos Zoulas <christos@astron.com> 1834 1835 * Python bindings (Brett Funderburg) <brettf@deepfile.com> 1836 * Don't lookup past the end of the buffer 1837 (Chad Hanson) <chanson@tcs-sec.com> 1838 * Add MAGIC_ERROR and api on magic_errno() 1839 18402003-10-08 12:40 Christos Zoulas <christos@astron.com> 1841 1842 * handle error conditions from compile as fatal 1843 (Antti Kantee) <pooka@netbsd.org> 1844 * handle magic filename parsing sanely 1845 * more magic fixes. 1846 * fix a memory leak (Illes Marton) <illes.marton@balabit.hu> 1847 * describe magic file handling 1848 (Bryan Henderson) <bryanh@giraffe-data.com> 1849 18502003-09-12 15:09 Christos Zoulas <christos@astron.com> 1851 1852 * update magic files. 1853 * remove largefile support from file.h; it breaks things on most OS's 1854 18552003-08-10 10:25 Christos Zoulas <christos@astron.com> 1856 1857 * fix unmapping'ing of mmaped files. 1858 18592003-07-10 12:03 Christos Zoulas <christos@astron.com> 1860 1861 * don't exit with -1 on error; always exit 1 (Marty Leisner) 1862 * restore utimes code. 1863 18642003-06-10 17:03 Christos Zoulas <christos@astron.com> 1865 1866 * make sure we don't access uninitialized memory. 1867 * pass lint 1868 * #ifdef __cplusplus in magic.h 1869 18702003-05-25 19:23 Christos Zoulas <christos@astron.com> 1871 1872 * rename cvs magic file to revision to deal with 1873 case insensitive filesystems. 1874 18752003-05-23 17:03 Christos Zoulas <christos@astron.com> 1876 1877 * documentation fixes from Michael Piefel <piefel@debian.org> 1878 * magic fixes (various) 1879 * revert basename magic in .mgc name determination 1880 * buffer protection in uncompress, 1881 signness issues, 1882 close files 1883 Maciej W. Rozycki <macro@ds2.pg.gda.pl 1884 18852003-04-21 20:12 Christos Zoulas <christos@astron.com> 1886 1887 * fix zsh magic 1888 18892003-04-04 16:59 Christos Zoulas <christos@astron.com> 1890 1891 * fix operand sort order in string. 1892 18932003-04-02 17:30 Christos Zoulas <christos@astron.com> 1894 1895 * cleanup namespace in magic.h 1896 18972003-04-02 13:50 Christos Zoulas <christos@astron.com> 1898 1899 * Magic additions (Alex Ott) 1900 * Fix bug that broke VPATH compilation (Peter Breitenlohner) 1901 19022003-03-28 16:03 Christos Zoulas <christos@astron.com> 1903 1904 * remove packed attribute from magic struct. 1905 * make the magic struct properly aligned. 1906 * bump version number of compiled files to 2. 1907 19082003-03-27 13:10 Christos Zoulas <christos@astron.com> 1909 1910 * separate tar detection and run it before softmagic. 1911 * fix reversed symlink test. 1912 * fix version printing. 1913 * make separator a string instead of a char. 1914 * update manual page and sort options. 1915 19162003-03-26 11:00 Christos Zoulas <christos@astron.com> 1917 1918 * Pass lint 1919 * make NULL in magic_file mean stdin 1920 * Fix "-" argument to file to pass NULL to magic_file 1921 * avoid pointer casts by using memcpy 1922 * rename magic_buf -> magic_buffer 1923 * keep only the first error 1924 * manual page: new sentence, new line 1925 * fix typo in api function (magic_buf -> magic_buffer) 1926