12019-12-16 21:11 Christos Zoulas <christos@zoulas.com> 2 3 * release 5.38 4 52019-12-15 22:13 Christos Zoulas <christos@zoulas.com> 6 Document changes since the previous release: 7 - Always accept -S (no sandbox) even if we don't support sandboxing 8 - More syscalls elided for sandboxiing 9 - For ELF dynamic means having an interpreter not just PT_DYNAMIC 10 - Check for large ELF session header offset 11 - When saving and restoring a locale, keep the locale name in our 12 own storage. 13 - Add a flag to disable CSV file detection. 14 - Don't pass NULL/0 to memset to appease sanitizers. 15 - Avoid spurious prints when looks for extensions or apple strings 16 in fsmagic. 17 - Add builtin decompressors for xz and and bzip. 18 - Add a limit for the number of CDF elements. 19 - More checks for overflow in CDF. 20 212019-05-14 22:26 Christos Zoulas <christos@zoulas.com> 22 23 * release 5.37 24 252019-05-09 22:27 Christos Zoulas <christos@zoulas.com> 26 27 * Make sure that continuation separators are printed 28 with -k within softmagic 29 302019-05-06 22:27 Christos Zoulas <christos@zoulas.com> 31 32 * Change SIGPIPE saving and restoring during compression to use 33 sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko) 34 * Cache stat(2) calls more to reduce number of calls (Denys Vlasenko) 35 362019-05-06 17:25 Christos Zoulas <christos@zoulas.com> 37 38 * PR/77: Handle --mime-type and -k correctly. 39 402019-05-03 15:26 Christos Zoulas <christos@zoulas.com> 41 42 * Switch decompression code to use vfork() because 43 tools like rpmdiff and rpmbuild call libmagic 44 with large process footprints (Denys Vlasenko) 45 462019-04-07 14:05 Christos Zoulas <christos@zoulas.com> 47 48 * PR/75: --enable-zlib, did not work. 49 502019-02-27 11:54 Christos Zoulas <christos@zoulas.com> 51 52 * Improve regex efficiency (Michael Schroeder) by: 53 1. Prefixing regex searches with regular search 54 for keywords where possible 55 2. Using memmem(3) where available 56 572019-02-20 10:16 Christos Zoulas <christos@zoulas.com> 58 59 * release 5.36 60 612019-02-19 15:30 Christos Zoulas <christos@zoulas.com> 62 63 * Fix cast to use cast macros 64 * Add UCS-32 builtin detection (PR/61) reported by tmc 65 662019-02-18 18:24 Christos Zoulas <christos@zoulas.com> 67 68 * Fix stack read (PR/62) and write (PR/64) stack overflows 69 reported by spinpx 70 712018-10-18 19:32 Christos Zoulas <christos@zoulas.com> 72 73 * release 5.35 74 752018-09-10 20:38 Christos Zoulas <christos@zoulas.com> 76 77 * Add FreeBSD ELF core file support (John Baldwin) 78 792018-08-20 18:40 Christos Zoulas <christos@zoulas.com> 80 81 * PR/30: Allow all parameter values to be set (don't treat 0 specially) 82 * handle default annotations on the softmagic match instead at the 83 end. 84 852018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 86 87 * PR/23: Recognize JSON files 88 892018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 90 91 * PR/18: file --mime-encoding should not print mime-type 92 932018-07-25 8:50 Christos Zoulas <christos@zoulas.com> 94 95 * release 5.34 96 972018-06-22 16:38 Christos Zoulas <christos@zoulas.com> 98 99 * Add Quad indirect offsets 100 1012018-05-24 14:10 Christos Zoulas <christos@zoulas.com> 102 103 * Enable parsing of ELF dynamic sections to handle PIE better 104 1052018-04-15 14:52 Christos Zoulas <christos@zoulas.com> 106 107 * release 5.33 108 1092018-02-24 14:50 Christos Zoulas <christos@zoulas.com> 110 111 * extend the support for ${x?:} expansions for magic descriptions 112 1132018-02-21 16:25 Christos Zoulas <christos@zoulas.com> 114 115 * add support for ${x?:} in mime types to handle 116 pie binaries. 117 1182017-11-03 9:23 Christos Zoulas <christos@zoulas.com> 119 120 * add support for negative offsets (offsets from the end of file) 121 1222017-09-26 8:22 Christos Zoulas <christos@zoulas.com> 123 124 * close the file on error when writing magic (Steve Grubb) 125 1262017-09-24 12:02 Christos Zoulas <christos@zoulas.com> 127 128 * seccomp support (Paul Moore) 129 1302017-09-02 11:53 Christos Zoulas <christos@zoulas.com> 131 132 * release 5.32 133 1342017-08-28 16:37 Christos Zoulas <christos@zoulas.com> 135 136 * Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski) 137 1382017-08-27 03:55 Christos Zoulas <christos@zoulas.com> 139 140 * Fix always true condition (Thomas Jarosch) 141 1422017-05-24 17:30 Christos Zoulas <christos@zoulas.com> 143 144 * pickier parsing of numeric values in magic files. 145 1462017-05-23 17:55 Christos Zoulas <christos@zoulas.com> 147 148 * PR/615 add magic_getflags() 149 1502017-05-23 13:55 Christos Zoulas <christos@zoulas.com> 151 152 * release 5.31 153 1542017-03-17 20:32 Christos Zoulas <christos@zoulas.com> 155 156 * remove trailing spaces from magic files 157 * refactor is_tar 158 * better bounds checks for cdf 159 1602017-02-10 12:24 Christos Zoulas <christos@zoulas.com> 161 162 * release 5.30 163 1642017-02-07 23:27 Christos Zoulas <christos@zoulas.com> 165 166 * If we exceeded the offset in a search return no match 167 (Christoph Biedl) 168 * Be more lenient on corrupt CDF files (Christoph Biedl) 169 1702017-02-04 16:46 Christos Zoulas <christos@zoulas.com> 171 172 * pacify ubsan sign extension (oss-fuzz/524) 173 1742017-02-01 12:42 Christos Zoulas <christos@zoulas.com> 175 176 * off by one in cdf parsing (PR/593) 177 * report debugging sections in elf (PR/591) 178 1792016-11-06 10:52 Christos Zoulas <christos@zoulas.com> 180 181 * Allow @@@ in extensions 182 * Add missing overflow check in der magic (Jonas Wagner) 183 1842016-10-25 10:40 Christos Zoulas <christos@zoulas.com> 185 186 * release 5.29 187 1882016-10-24 11:20 Christos Zoulas <christos@zoulas.com> 189 190 * der getlength overflow (Jonas Wagner) 191 * multiple magic file load failure (Christoph Biedl) 192 1932016-10-17 11:26 Christos Zoulas <christos@zoulas.com> 194 195 * CDF parsing improvements (Guy Helmer) 196 1972016-07-20 7:26 Christos Zoulas <christos@zoulas.com> 198 199 * Add support for signed indirect offsets 200 2012016-07-18 7:41 Christos Zoulas <christos@zoulas.com> 202 203 * cat /dev/null | file - should print empty (Christoph Biedl) 204 2052016-07-05 15:20 Christos Zoulas <christos@zoulas.com> 206 207 * Bump string size from 64 to 96. 208 2092016-06-13 20:20 Christos Zoulas <christos@zoulas.com> 210 211 * PR/556: Fix separators on annotations. 212 2132016-06-13 19:40 Christos Zoulas <christos@zoulas.com> 214 215 * release 5.28 216 * fix leak on allocation failure 217 2182016-06-01 1:20 Christos Zoulas <christos@zoulas.com> 219 220 * PR/555: Avoid overflow for offset > nbytes 221 * PR/550: Segv on DER parsing: 222 - use the correct variable for length 223 - set offset to 0 on failure. 224 2252016-05-13 12:00 Christos Zoulas <christos@zoulas.com> 226 227 * release 5.27 228 2292016-04-18 9:35 Christos Zoulas <christos@zoulas.com> 230 231 * Errors comparing DER entries or computing offsets 232 are just indications of malformed non-DER files. 233 Don't print them. 234 * Offset comparison was off-by-one. 235 * Fix compression code (Werner Fink) 236 * Put new bytes constant in the right file (not the generated one) 237 2382016-04-16 18:34 Christos Zoulas <christos@zoulas.com> 239 240 * release 5.26 241 2422016-03-31 13:50 Christos Zoulas <christos@zoulas.com> 243 244 * make the number of bytes read from files configurable. 245 2462016-03-21 13:40 Christos Zoulas <christos@zoulas.com> 247 248 * Add bounds checks for DER code (discovered by Thomas Jarosch) 249 * Change indirect recursion limit to indirect use count and 250 bump from 15 to 50 to prevent abuse. 251 2522016-03-13 20:39 Christos Zoulas <christos@zoulas.com> 253 254 * Add -00 which prints filename\0description\0 255 2562016-03-01 13:28 Christos Zoulas <christos@zoulas.com> 257 258 * Fix ID3 indirect parsing 259 2602016-01-19 10:18 Christos Zoulas <christos@zoulas.com> 261 262 * add DER parsing capability 263 2642015-11-13 10:35 Christos Zoulas <christos@zoulas.com> 265 266 * provide dprintf(3) for the OS's that don't have it. 267 2682015-11-11 16:25 Christos Zoulas <christos@zoulas.com> 269 270 * redo the compression code report decompression errors 271 2722015-11-10 23:25 Christos Zoulas <christos@zoulas.com> 273 274 * REG_STARTEND code is not working as expected, delete it. 275 2762015-11-09 16:05 Christos Zoulas <christos@zoulas.com> 277 278 * Add zlib support if we have it. 279 2802015-11-05 11:22 Christos Zoulas <christos@zoulas.com> 281 282 * PR/492: compression forking was broken with magic_buffer. 283 2842015-09-16 9:50 Christos Zoulas <christos@zoulas.com> 285 286 * release 5.25 287 2882015-09-11 13:25 Christos Zoulas <christos@zoulas.com> 289 290 * add a limit to the length of regex searches 291 2922015-09-08 9:50 Christos Zoulas <christos@zoulas.com> 293 294 * fix problems with --parameter (Christoph Biedl) 295 2962015-07-11 10:35 Christos Zoulas <christos@zoulas.com> 297 298 * Windows fixes PR/466 (Jason Hood) 299 3002015-07-09 10:35 Christos Zoulas <christos@zoulas.com> 301 302 * release 5.24 303 3042015-06-11 8:52 Christos Zoulas <christos@zoulas.com> 305 306 * redo long option encoding to fix off-by-one in 5.23 307 3082015-06-10 13:50 Christos Zoulas <christos@zoulas.com> 309 310 * release 5.23 311 3122015-06-09 16:10 Christos Zoulas <christos@zoulas.com> 313 314 * Fix issue with regex range for magic with offset 315 * Always return true from mget with USE (success to mget not match 316 indication). Fixes mime evaluation after USE magic 317 * PR/459: Don't insert magic entries to the list if there are parsing 318 errors for them. 319 3202015-06-03 16:00 Christos Zoulas <christos@zoulas.com> 321 322 * PR/455: Add utf-7 encoding 323 3242015-06-03 14:30 Christos Zoulas <christos@zoulas.com> 325 326 * PR/455: Implement -Z, look inside, but don't report on compression 327 * PR/454: Fix allocation error on bad magic. 328 3292015-05-29 10:30 Christos Zoulas <christos@zoulas.com> 330 331 * handle MAGIC_CONTINUE everywhere, not just in softmagic 332 3332015-05-21 14:30 Christos Zoulas <christos@zoulas.com> 334 335 * don't print descriptions for NAME types when mime. 336 3372015-04-09 15:59 Christos Zoulas <christos@zoulas.com> 338 339 * Add --extension to list the known extensions for this file type 340 Idea by Andrew J Roazen 341 3422015-02-14 12:23 Christos Zoulas <christos@zoulas.com> 343 344 * Bump file search buffer size to 1M. 345 3462015-01-09 14:35 Christos Zoulas <christos@zoulas.com> 347 348 * Fix multiple issues with date formats reported by Christoph Biedl: 349 - T_LOCAL meaning was reversed 350 - Arithmetic did not work 351 Also stop adjusting daylight savings for gmt printing. 352 3532015-01-05 13:00 Christos Zoulas <christos@zoulas.com> 354 355 * PR/411: Fix memory corruption from corrupt cdf file. 356 3572015-01-02 15:15 Christos Zoulas <christos@zoulas.com> 358 359 * release 5.22 360 3612015-01-01 12:01 Christos Zoulas <christos@zoulas.com> 362 363 * add indirect relative for TIFF/Exif 364 3652014-12-16 18:10 Christos Zoulas <christos@zoulas.com> 366 367 * restructure elf note printing to avoid repeated messages 368 * add note limit, suggested by Alexander Cherepanov 369 3702014-12-16 16:53 Christos Zoulas <christos@zoulas.com> 371 372 * Bail out on partial pread()'s (Alexander Cherepanov) 373 * Fix incorrect bounds check in file_printable (Alexander Cherepanov) 374 3752014-12-11 20:01 Christos Zoulas <christos@zoulas.com> 376 377 * PR/405: ignore SIGPIPE from uncompress programs 378 * change printable -> file_printable and use it in 379 more places for safety 380 * in ELF, instead of "(uses dynamic libraries)" when PT_INTERP 381 is present print the interpreter name. 382 3832014-12-10 20:01 Christos Zoulas <christos@zoulas.com> 384 385 * release 5.21 386 3872014-11-27 18:40 Christos Zoulas <christos@zoulas.com> 388 389 * Allow setting more parameters from the command line. 390 * Split name/use and indirect magic recursion limits. 391 3922014-11-27 11:12 Christos Zoulas <christos@zoulas.com> 393 394 * Adjust ELF parameters and the default recursion 395 level. 396 * Allow setting the recursion level dynamically. 397 3982014-11-24 8:55 Christos Zoulas <christos@zoulas.com> 399 400 * The following fixes resulted from Thomas Jarosch's fuzzing 401 tests that revealed severe performance issues on pathological 402 input: 403 - limit number of elf program and sections processing 404 - abort elf note processing quickly 405 - reduce the number of recursion levels from 20 to 10 406 - preserve error messages in indirect magic handling 407 408 This is tracked as CVE-2014-8116 and CVE-2014-8117 409 4102014-11-12 10:30 Christos Zoulas <christos@zoulas.com> 411 412 * fix bogus free in the user buffer case. 413 4142014-11-11 12:35 Christos Zoulas <christos@zoulas.com> 415 416 * fix out of bounds read for pascal strings 417 * fix memory leak (not freeing the head of each mlist) 418 4192014-11-07 10:25 Christos Zoulas <christos@zoulas.com> 420 421 * When printing strings from a file, convert them to printable 422 on a byte by byte basis, so that we don't get issues with 423 locale's trying to interpret random byte streams as UTF-8 and 424 having printf error out with EILSEQ. 425 4262014-10-17 11:48 Christos Zoulas <christos@zoulas.com> 427 428 * fix bounds in note reading (Francisco Alonso / Red Hat) 429 4302014-10-11 15:02 Christos Zoulas <christos@zoulas.com> 431 432 * fix autoconf glue for setlocale and locale_t; some OS's 433 have locale_t in xlocale.h 434 4352014-10-10 15:01 Christos Zoulas <christos@zoulas.com> 436 437 * release 5.20 438 4392014-08-17 10:01 Christos Zoulas <christos@zoulas.com> 440 441 * recognize encrypted CDF documents 442 4432014-08-04 9:18 Christos Zoulas <christos@zoulas.com> 444 445 * add magic_load_buffers from Brooks Davis 446 4472014-07-24 16:40 Christos Zoulas <christos@zoulas.com> 448 449 * add thumbs.db support 450 4512014-06-12 12:28 Christos Zoulas <christos@zoulas.com> 452 453 * release 5.19 454 4552014-06-09 9:04 Christos Zoulas <christos@zoulas.com> 456 457 * Misc buffer overruns and missing buffer size tests in cdf parsing 458 (Francisco Alonso, Jan Kaluza) 459 4602014-06-02 14:50 Christos Zoulas <christos@zoulas.com> 461 462 * Enforce limit of 8K on regex searches that have no limits 463 * Allow the l modifier for regex to mean line count. Default 464 to byte count. If line count is specified, assume a max 465 of 80 characters per line to limit the byte count. 466 * Don't allow conversions to be used for dates, allowing 467 the mask field to be used as an offset. 468 4692014-05-30 12:51 Christos Zoulas <christos@zoulas.com> 470 471 * Make the range operator limit the length of the 472 regex search. 473 4742014-05-14 19:23 Christos Zoulas <christos@zoulas.com> 475 476 * PR/347: Windows fixes 477 * PR/352: Hangul word processor recognition 478 * PR/354: Encoding irregularities in text files 479 4802014-05-06 6:12 Christos Zoulas <christos@zoulas.com> 481 482 * Fix uninitialized title in CDF files (Jan Kaluza) 483 4842014-05-04 14:55 Christos Zoulas <christos@zoulas.com> 485 486 * PR/351: Fix compilation of empty files 487 4882014-04-30 17:39 Christos Zoulas <christos@zoulas.com> 489 490 * Fix integer formats: We don't specify 'l' or 491 'h' and 'hh' specifiers anymore, only 'll' for 492 quads and nothing for the rest. This is so that 493 magic writing is simpler. 494 4952014-04-01 15:25 Christos Zoulas <christos@zoulas.com> 496 497 * PR/341: Jan Kaluza, fix memory leak 498 * PR/342: Jan Kaluza, fix out of bounds read 499 5002014-03-28 15:25 Christos Zoulas <christos@zoulas.com> 501 502 * Fix issue with long formats not matching fmtcheck 503 5042014-03-26 11:25 Christos Zoulas <christos@zoulas.com> 505 506 * release 5.18 507 5082014-03-15 17:45 Christos Zoulas <christos@zoulas.com> 509 510 * add fmtcheck(3) for those who don't have it 511 5122014-03-14 15:12 Christos Zoulas <christos@zoulas.com> 513 514 * prevent mime entries from being attached to magic 515 entries with no descriptions 516 517 * adjust magic strength for regex type 518 519 * remove superfluous ascmagic with encoding test 520 5212014-03-06 12:01 Christos Zoulas <christos@zoulas.com> 522 523 * fix regression fix echo -ne "\012\013\014" | file -i - 524 which printed "binary" instead of "application/octet-stream" 525 526 * add size_t overflow check for magic file size 527 5282014-02-27 16:01 Christos Zoulas <christos@zoulas.com> 529 530 * experimental support for matching with CFD CLSID 531 5322014-02-18 13:04 Kimmo Suominen (kimmo@suominen.com) 533 534 * Cache old LC_CTYPE locale before setting it to "C", so 535 we can use it to restore LC_CTYPE instead of asking 536 setlocale() to scan the environment variables. 537 5382014-02-12 18:21 Christos Zoulas <christos@zoulas.com> 539 540 * Count recursion levels through indirect magic 541 5422014-02-11 10:40 Christos Zoulas <christos@zoulas.com> 543 544 * Prevent infinite recursion on files with indirect offsets of 0 545 5462014-01-30 21:00 Christos Zoulas <christos@zoulas.com> 547 548 * Add -E flag that makes file print filesystem errors to stderr 549 and exit. 550 5512014-01-08 17:20 Christos Zoulas <christos@zoulas.com> 552 553 * mime printing could print results from multiple magic entries 554 if there were multiple matches. 555 * in some cases overflow was not detected when computing offsets 556 in softmagic. 557 5582013-12-05 12:00 Christos Zoulas <christos@zoulas.com> 559 560 * use strcasestr() to for cdf strings 561 * reset to the "C" locale while doing regex operations, or case 562 insensitive comparisons; this is provisional 563 5642013-11-19 20:10 Christos Zoulas <christos@zoulas.com> 565 566 * always leave magic file loaded, don't unload for magic_check, etc. 567 * fix default encoding to binary instead of unknown which broke recently 568 * handle empty and one byte files, less specially so that 569 --mime-encoding does not break completely. 570 ` 5712013-11-06 14:40 Christos Zoulas <christos@zoulas.com> 572 573 * fix erroneous non-zero exit code from non-existent file and message 574 5752013-10-29 14:25 Christos Zoulas <christos@zoulas.com> 576 577 * add CDF MSI file detection (Guy Helmer) 578 5792013-09-03 11:56 Christos Zoulas <christos@zoulas.com> 580 581 * Don't mix errors and regular output if there was an error 582 * in magic_descriptor() don't close the file and try to restore 583 its position 584 5852013-05-30 17:25 Christos Zoulas <christos@zoulas.com> 586 587 * Don't treat magic as an error if offset was past EOF (Christoph Biedl) 588 5892013-05-28 17:25 Christos Zoulas <christos@zoulas.com> 590 591 * Fix spacing issues in softmagic and elf (Jan Kaluza) 592 5932013-05-02 18:00 Christos Zoulas <christos@zoulas.com> 594 595 * Fix segmentation fault with multiple magic_load commands. 596 5972013-04-22 11:20 Christos Zoulas <christos@zoulas.com> 598 599 * The way "default" was implemented was not very useful 600 because the "if something was printed at that level" 601 was not easily controlled by the user, and the format 602 was bound to a string which is too restrictive. Add 603 a "clear" for that level keyword and make "default" 604 void. This way one can do: 605 606 >>13 clear x 607 >>13 lelong 1 foo 608 >>13 lelong 2 bar 609 >>13 default x 610 >>>13 lelong x unknown %x 611 6122013-03-25 13:20 Christos Zoulas <christos@zoulas.com> 613 614 * disallow strength setting in "name" entries 615 6162013-03-06 21:24 Christos Zoulas <christos@zoulas.com> 617 618 * fix recursive magic separator printing 619 6202013-02-26 19:28 Christos Zoulas <christos@zoulas.com> 621 622 * limit recursion level for mget 623 * fix pread() related breakage in cdf 624 * handle offsets properly in recursive "use" 625 6262013-02-18 10:39 Christos Zoulas <christos@zoulas.com> 627 628 * add elf reading of debug info to determine if file is stripped 629 (Jan Kaluza) 630 * use pread() 631 6322013-01-25 18:05 Christos Zoulas <christos@zoulas.com> 633 634 * change mime description size from 64 to 80 to accommodate OOXML. 635 6362013-01-11 14:50 Christos Zoulas <christos@zoulas.com> 637 638 * Warn about inconsistent continuation levels. 639 * Change fsmagic to add a space after it prints. 640 6412013-01-10 21:00 Christos Zoulas <christos@zoulas.com> 642 643 * Make getline public so that file can link against it. 644 Perhaps it is better to rename it, or hide it differently. 645 Fixes builds on platforms that do not provide it. 646 6472013-01-07 16:30 Christos Zoulas <christos@zoulas.com> 648 649 * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document 650 what long, int, short, etc is (Guy Harris) 651 6522013-01-06 11:20 Christos Zoulas <christos@zoulas.com> 653 654 * add magic_version function and constant 655 * Redo memory allocation and de-allocation. 656 (prevents double frees on non mmap platforms) 657 * Fix bug with name/use having to do with passing 658 found state from the parent to the child and back. 659 6602012-12-19 8:47 Christos Zoulas <christos@zoulas.com> 661 662 * Only print elf capabilities for archs we know (Jan Kaluza) 663 6642012-10-30 19:14 Christos Zoulas <christos@zoulas.com> 665 666 * Add "name" and "use" file types in order to look 667 inside mach-o files. 668 6692012-09-06 10:40 Christos Zoulas <christos@zoulas.com> 670 671 * make --version exit 0 (Matthew Schultz) 672 * add string/T (Jan Kaluza) 673 6742012-08-09 2:15 Christos Zoulas <christos@zoulas.com> 675 676 * add z and t modifiers for our own vasprintf 677 * search for $HOME/.magic.mgc if it is there first 678 * fix reads from a pipe, and preserve errno 679 6802012-05-15 13:12 Christos Zoulas <christos@zoulas.com> 681 682 * use ctime_r, asctime_r 683 6842012-04-06 17:18 Christos Zoulas <christos@zoulas.com> 685 686 * Fixes for indirect offsets to handle apple disk formats 687 6882012-04-03 18:26 Christos Zoulas <christos@zoulas.com> 689 690 * Add windows date field types 691 * More info for windows shortcuts (incomplete) 692 6932012-02-20 17:33 Christos Zoulas <christos@zoulas.com> 694 695 * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann) 696 6972011-12-15 12:17 Chris Metcalf <cmetcalf@tilera.com> 698 699 * Support Tilera architectures (tile64, tilepro, tilegx). 700 7012011-12-16 16:33 Reuben Thomas <rrt@sc3d.org> 702 703 * Add magic for /usr/bin/env Perl scripts 704 * Weaken generic script magic to avoid clashing with 705 language-specific magic. 706 7072011-12-08 13:37 Reuben Thomas <rrt@sc3d.org> 708 709 * Simplify if (p) free(p) to free(p). 710 7112011-12-08 13:07 Reuben Thomas <rrt@sc3d.org> 712 713 * Remove hardwired token finding (names.h), turning it into soft 714 magic. Patterns are either anchored regexs or search/8192. English 715 language detection and PL/1 detection have been removed as they 716 were too fragile. -e tokens is still accepted for backwards 717 compatibility. 718 * Move 3ds patterns (which are commented out anyway) into autodesk 719 (they were, oddly, in c-lang). 720 7212011-12-06 00:16 Reuben Thomas <rrt@sc3d.org> 722 723 * Tweak strength of generic hash-bang detectors to be less than 724 specific ones. 725 * Make an inconsistent description of Python scripts consistent. 726 7272011-12-05 23:58 Reuben Thomas <rrt@sc3d.org> 728 729 * Fix minor error in file(1). 730 7312011-11-05 00:00 Reuben Thomas <rrt@sc3d.org> 732 733 * Fix issue #150 (I hope). 734 7352011-09-22 12:57 Christos Zoulas <christos@zoulas.com> 736 737 * Python3 binding fixes from Kelly Anderson 738 7392011-09-20 11:32 Christos Zoulas <christos@zoulas.com> 740 741 * If a string type magic entry is marked as text or binary 742 only match text files against text entries and binary 743 files against binary entries. 744 7452011-09-01 12:12 Christos Zoulas <christos@zoulas.com> 746 747 * Don't wait for any subprocess, just the one we forked. 748 7492011-08-26 16:40 Christos Zoulas <christos@zoulas.com> 750 751 * If the application name is not set in a cdf file, try to see 752 if it has a directory with the application name on it. 753 7542011-08-17 14:32 Christos Zoulas <christos@zoulas.com> 755 756 * Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza 757 7582011-08-14 09:03 Christos Zoulas <christos@zoulas.com> 759 760 * Don't use variable string formats. 761 7622011-07-12 12:32 Reuben Thomas <rrt@sc3d.org> 763 764 * Fix detection of Zip files (Mantis #128). 765 * Make some minor improvements to file(1). 766 * Rename MIME types for filesystem objects for consistency with 767 xdg-utils. Typically this means that application/x-foo becomes 768 inode/foo, but some names also change slightly, e.g. 769 application/x-character-device becomes inode/chardevice. 770 7712011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 772 773 * fix mingw compilation (Abradoks) 774 7752011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 776 777 * remove patchlevel.h 778 * Fix read past allocated memory caused by double-incrementing 779 a pointer in a loop (reported by Roberto Maar) 780 7812011-03-30 15:45 Christos Zoulas <christos@zoulas.com> 782 783 * Fix cdf string buffer setting (Sven Anders) 784 7852011-03-20 16:35 Christos Zoulas <christos@zoulas.com> 786 787 * Eliminate MAXPATHLEN and use dynamic allocation for 788 path and file buffers. 789 7902011-03-15 18:15 Christos Zoulas <christos@zoulas.com> 791 792 * binary tests on magic entries with masks could spuriously 793 get converted to ascii. 794 7952011-03-12 18:06 Reuben Thomas <rrt@sc3d.org> 796 797 * Improve file.man (remove BUGS, present email addresses consistently). 798 7992011-03-07 19:38 Christos Zoulas <christos@zoulas.com> 800 801 * add lrzip support (from Ville Skytta) 802 8032011-02-10 16:36 Christos Zoulas <christos@zoulas.com> 804 805 * fix CDF bounds checking (Guy Helmer) 806 8072011-02-10 12:03 Christos Zoulas <christos@zoulas.com> 808 809 * add cdf_ctime() that prints a meaningful error when time cannot 810 be converted. 811 8122011-02-02 20:40 Christos Zoulas <christos@zoulas.com> 813 814 * help and version output to stdout. 815 816 * When matching softmagic for ascii files, don't just print 817 the softmagic classification, keep going and print the 818 text classification too. This fixes broken troff files when 819 we moved them from keyword recognition to softmagic 820 (they stopped printing "with CRLF" etc.) 821 Reported by Doug McIlroy. 822 8232011-01-16 19:31 Reuben Thomas <rrt@sc3d.org> 824 825 * Fix two potential buffer overruns in apprentice_list. 826 8272011-01-14 22:33 Reuben Thomas <rrt@sc3d.org> 828 829 * New Python binding in pure Python. 830 * Update libmagic(3). 831 8322011-01-06 21:40 Reuben Thomas <rrt@sc3d.org> 833 834 * Fix Python bindings (including recent Python 3 compatibility 835 update). 836 8372011-01-04 18:43 Reuben Thomas <rrt@sc3d.org> 838 839 * magic/Makefile.am: make it easier to recover from magic build failures. 840 * Fix pstring length specifier parsing to avoid generating invalid 841 magic files. 842 * Add pstring length "J" (for "JPEG") to specify that the length 843 include itself. 844 * Fix JPEG comment parsing at last using pstring/HJ! 845 * Ignore section 5 man pages in doc/.cvsignore. 846 8472010-12-22 13:12 Christos Zoulas <christos@zoulas.com> 848 849 * Add pstring/BHhLl to specify the type of the length of pascal 850 strings. 851 8522010-11-26 18:39 Reuben Thomas <rrt@sc3d.org> 853 854 * Fix "-e soft": it was ignored when softmagic was called 855 during asciimagic. 856 * Improve comments and use "unsigned char" in tar.h/is_tar.c. 857 8582010-11-05 17:26 Reuben Thomas <rrt@sc3d.org> 859 860 * Make bug reporting addresses more visible. 861 8622010-11-01 18:35 Reuben Thomas <rrt@sc3d.org> 863 864 * Add tcl magic from Gustaf Neumann 865 8662010-10-24 10:42 Christos Zoulas <christos@zoulas.com> 867 868 * Fix the whitespace comparing code (Christopher Chittleborough) 869 8702010-10-06 21:05 Christos Zoulas <christos@zoulas.com> 871 872 * allow string/t to work (Jan Kaluza) 873 8742010-09-20 22:11 Reuben Thomas <rrt@sc3d.org> 875 876 * Apply some patches from Ubuntu and Fedora. 877 8782010-09-20 21:16 Reuben Thomas <rrt@sc3d.org> 879 880 * Apply all patches from Debian package 5.04-6 which have not 881 already been applied and are not Debian-specific. 882 8832010-09-20 15:24 Reuben Thomas <rrt@sc3d.org> 884 885 * Minor security fix to softmagic.c (don't use untrusted 886 string as printf format). 887 8882010-07-21 12:20 Christos Zoulas <christos@zoulas.com> 889 890 * MINGW32 portability from LRN 891 892 * Don't warn about escaping magic regex chars when we are in a regex. 893 8942010-07-19 10:55 Christos Zoulas <christos@zoulas.com> 895 896 * Only try to print prpsinfo for core files. (Jan Kaluza) 897 8982010-04-22 12:55 Christos Zoulas <christos@zoulas.com> 899 900 * Try more elf offsets for Debian core files. (Arnaud Giersch) 901 9022010-02-20 15:18 Reuben Thomas <rrt@sc3d.org> 903 904 * Clarify which sort of CDF we mean. 905 9062010-02-14 22:58 Reuben Thomas <rrt@sc3d.org> 907 908 * Re-jig Zip file type magic so that unsupported special 909 Zip types (those with "mimetype" at offset 30) can be 910 recognized. 911 9122010-02-02 21:50 Reuben Thomas <rrt@sc3d.org> 913 914 * Add support for OCF (EPUB) files (application/epub+zip) 915 9162010-01-28 18:25 Christos Zoulas <christos@zoulas.com> 917 918 * Fix core-dump from unbound loop: 919 https://bugzilla.redhat.com/show_bug.cgi?id=533245 920 9212010-01-22 15:45 Christos Zoulas <christos@zoulas.com> 922 923 * print proper mime for crystal reports file 924 925 * print the last summary information of a cdf document, not the 926 first so that nested documents print the right info 927 9282010-01-16 18:42 Charles Longeau <chl@tuxfamily.org> 929 930 * bring back some fixes from OpenBSD: 931 - make gcc2 builds file 932 - fix typos in a magic file comment 933 9342009-11-17 18:35 Christos Zoulas <christos@zoulas.com> 935 936 * ctime/asctime can return NULL on some OS's although 937 they should not (Toshit Antani) 938 9392009-09-14 13:49 Christos Zoulas <christos@zoulas.com> 940 941 * Centralize magic path handling routines and remove the 942 special-casing from file.c so that the python module for 943 example comes up with the same magic path (Fixes ~/.magic 944 handling) (from Gab) 945 9462009-09-11 23:38 Reuben Thomas <rrt@sc3d.org> 947 948 * When magic argument is a directory, read the files in 949 strcmp-sorted order (fixes Debian bug #488562 and our own FIXME). 950 9512009-09-11 13:11 Reuben Thomas <rrt@sc3d.org> 952 953 * Combine overlapping epoc and psion magic files into one (epoc). 954 955 * Add some more EPOC MIME types. 956 9572009-08-19 15:55 Christos Zoulas <christos@zoulas.com> 958 959 * Fix 3 bugs (From Ian Darwin): 960 - file_showstr could move one past the end of the array 961 - parse_apple did not nul terminate the string in the overflow case 962 - parse_mime truncated the wrong string in the overflow case 963 9642009-08-12 12:28 Robert Byrnes <byrnes@wildpumpkin.net> 965 966 * Include Localstuff when compiling magic. 967 9682009-07-15 10:05 Christos Zoulas <christos@zoulas.com> 969 970 * Fix logic for including mygetopts.h 971 972 * Make cdf.c compile again with debugging 973 974 * Add the necessary field handling for crystal reports files to work 975 9762009-06-23 01:34 Reuben Thomas <rrt@sc3d.org> 977 978 * Stop "(if" identifying Lisp files, that's plain dumb! 979 9802009-06-09 22:13 Reuben Thomas <rrt@sc3d.org> 981 982 * Add a couple of missing MP3 MIME types. 983 9842009-05-27 23:00 Reuben Thomas <rrt@sc3d.org> 985 986 * Add full range of hash-bang tests for Python and Ruby. 987 988 * Add MIME types for Python and Ruby scripts. 989 9902009-05-13 10:44 Christos Zoulas <christos@zoulas.com> 991 992 * off by one in parsing hw capabilities in elf 993 (Cheng Renquan) 994 9952009-05-08 13:40 Christos Zoulas <christos@zoulas.com> 996 997 * lint fixes and more from NetBSD 998 9992009-05-06 10:25 Christos Zoulas <christos@zoulas.com> 1000 1001 * Avoid null dereference in cdf code (Drew Yao) 1002 1003 * More cdf bounds checks and overflow checks 1004 10052009-05-01 18:37 Christos Zoulas <christos@zoulas.com> 1006 1007 * Buffer overflow fixes from Drew Yao 1008 10092009-04-30 17:10 Christos Zoulas <christos@zoulas.com> 1010 1011 * Fix more cdf lossage. All the documents I have 1012 right now print the correct information. 1013 10142009-03-27 18:43 Christos Zoulas <christos@zoulas.com> 1015 1016 * don't print \012- separators in the same magic entry 1017 if it consists of multiple magic printing lines. 1018 10192009-03-23 10:20 Christos Zoulas <christos@zoulas.com> 1020 1021 * Avoid file descriptor leak in compress code from 1022 (Daniel Novotny) 1023 10242009-03-18 16:50 Christos Zoulas <christos@zoulas.com> 1025 1026 * Allow escaping of relation characters, so that we can say \^[A-Z] 1027 and the ^ is not eaten as a relation char. 1028 1029 * Fix troff and fortran to their previous glory using 1030 regex. This was broken since their removel from ascmagic. 1031 10322009-03-10 16:50 Christos Zoulas <christos@zoulas.com> 1033 1034 * don't use strlen in strndup() (Toby Peterson) 1035 10362009-03-10 7:45 Christos Zoulas <christos@zoulas.com> 1037 1038 * avoid c99 syntax. 1039 10402009-02-23 15:45 Christos Zoulas <christos@zoulas.com> 1041 1042 * make the cdf code use the buffer first if available, 1043 and then the fd code. 1044 10452009-02-13 13:45 Christos Zoulas <christos@zoulas.com> 1046 1047 * look for struct option to determine if getopt.h is usable for IRIX. 1048 1049 * sanitize cdf document strings 1050 10512009-02-04 13:25 Christos Zoulas <christos@zoulas.com> 1052 1053 * fix OS/2 warnings. 1054 10552008-12-12 15:50 Christos Zoulas <christos@zoulas.com> 1056 1057 * fix initial offset calculation for non 4K sector files 1058 1059 * add loop limits to avoid DoS attacks by constructing 1060 looping sector references. 1061 10622008-12-03 13:05 Christos Zoulas <christos@zoulas.com> 1063 1064 * fix memory botches on cdf file parsing. 1065 1066 * exit with non-zero value for any error, not just for the last 1067 file processed. 1068 10692008-11-09 20:42 Charles Longeau <chl@tuxfamily.org> 1070 1071 * Replace all str{cpy,cat} functions with strl{cpy,cat} 1072 * Ensure that strl{cpy,cat} are included in libmagic, 1073 as needed. 1074 10752008-11-06 18:18 Christos Zoulas <christos@zoulas.com> 1076 1077 * Handle ID3 format files. 1078 10792008-11-06 23:00 Reuben Thomas <rrt@sc3d.org> 1080 1081 * Fix --mime, --mime-type and --mime-encoding under new scheme. 1082 1083 * Rename "ascii" to "text" and add "encoding" test. 1084 1085 * Return a precise ("utf-16le" or "utf-16be") MIME charset for 1086 UTF-16. 1087 1088 * Fix error in comment caused by automatic indentation adding 1089 words! 1090 10912008-11-06 10:35 Christos Zoulas <christos@astron.com> 1092 1093 * use memchr instead of strchr because the string 1094 might not be NUL terminated (Scott MacVicar) 1095 10962008-11-03 07:31 Reuben Thomas <rrt@sc3d.org> 1097 1098 * Fix a printf with a non-literal format string. 1099 1100 * Fix formatting and punctuation of help for "--apple". 1101 11022008-10-30 11:00 Reuben Thomas <rrt@sc3d.org> 1103 1104 * Correct words counts in comments of struct magic. 1105 1106 * Fix handle_annotation to allow both Apple and MIME types to be 1107 printed, and to return correct code if MIME type is 1108 printed (1, not 0) or if there's an error (-1 not 1). 1109 1110 * Fix output of charset for MIME type (precede with semi-colon; 1111 fixes Debian bug #501460). 1112 1113 * Fix potential attacks via conversion specifications in magic 1114 strings. 1115 1116 * Add a FIXME for Debian bug #488562 (magic files should be 1117 read in a defined order, by sorting the names). 1118 11192008-10-18 16:45 Christos Zoulas <christos@astron.com> 1120 1121 * Added APPLE file creator/type 1122 11232008-10-12 10:20 Christos Zoulas <christos@astron.com> 1124 1125 * Added CDF parsing 1126 11272008-10-09 16:40 Christos Zoulas <christos@astron.com> 1128 1129 * filesystem and msdos patches (Joerg Jenderek) 1130 11312008-10-09 13:20 Christos Zoulas <christos@astron.com> 1132 1133 * correct --exclude documentation issues: remove troff and fortran 1134 and rename "token" to "tokens". (Randy McMurchy) 1135 11362008-10-01 10:30 Christos Zoulas <christos@astron.com> 1137 1138 * Read ~/.magic in addition to the default magic file not instead 1139 of, as documented in the man page. 1140 11412008-09-10 21:30 Reuben Thomas <rrt@sc3d.org> 1142 1143 * Comment out graphviz patterns, as they match too many files. 1144 11452008-08-30 12:54 Christos Zoulas <christos@astron.com> 1146 1147 * Don't eat trailing \n in magic enties. 1148 1149 * Cast defines to allow compilation using a c++ compiler. 1150 11512008-08-25 23:56 Reuben Thomas <rrt@sc3d.org> 1152 1153 * Add text/x-lua MIME type for Lua scripts. 1154 1155 * Escape { in regex in graphviz patterns. 1156 11572008-07-26 00:59 Reuben Thomas <rrt@sc3d.org> 1158 1159 * Add MIME types for special files. 1160 1161 * Use access to give more accurate information for files that 1162 can't be opened. 1163 1164 * Add a TODO list. 1165 11662008-07-02 11:15 Christos Zoulas <christos@astron.com> 1167 1168 * add !:strength op to adjust magic strength (experimental) 1169 11702008-06-16 21:41 Reuben Thomas <rrt@sc3d.org> 1171 1172 * Fix automake error in configure.ac. 1173 1174 * Add MIME type for Psion Sketch files. 1175 11762008-06-05 08:59 Christos Zoulas <christos@astron.com> 1177 1178 * Don't print warnings about bad namesize in stripped 1179 binaries with PT_NOTE is still there, and the actual 1180 note is gone (Jakub Jelinek) 1181 11822008-05-28 15:12 Robert Byrnes <byrnes@wildpumpkin.net> 1183 1184 * magic/Magdir/elf: 1185 Note invalid byte order for little-endian SPARC32PLUS. 1186 Add SPARC V9 vendor extensions and memory model. 1187 1188 * src/elfclass.h: 1189 Pass target machine to doshn (for Solaris hardware capabilities). 1190 1191 * src/readelf.c (doshn): 1192 Add support for Solaris hardware/software capabilities. 1193 1194 * src/readelf.h: 1195 Ditto. 1196 1197 * src/vasprintf.c (dispatch): 1198 Add support for ll modifier. 1199 12002008-05-16 10:25 Christos Zoulas <christos@astron.com> 1201 1202 * Fix compiler warnings. 1203 1204 * remove stray printf, and fix a vprintf bug. (Martin Dorey) 1205 12062008-05-06 00:13 Robert Byrnes <byrnes@wildpumpkin.net> 1207 1208 * src/Makefile.am: 1209 Ensure that getopt_long and [v]asprintf are included in libmagic, 1210 as needed. 1211 1212 Remove unnecessary EXTRA_DIST. 1213 1214 * src/Makefile.in: 1215 Rerun automake. 1216 1217 * src/vasprintf.c (dispatch): 1218 Fix variable precision bug: be sure to step past '*'. 1219 1220 * src/vasprintf.c (core): 1221 Remove unreachable code. 1222 1223 * src/apprentice.c (set_test_type): 1224 Add cast to avoid compiler warning. 1225 12262008-04-22 23:45 Christos Zoulas <christos@astron.com> 1227 1228 * Add magic submission guidelines (Abel Cheung) 1229 1230 * split msdos and windows magic (Abel Cheung) 1231 12322008-04-04 11:00 Christos Zoulas <christos@astron.com> 1233 1234 * >= <= is not supported, so fix the magic and warn about it. 1235 reported by: Thien-Thi Nguyen <ttn@gnuvola.org> 1236 12372008-03-27 16:16 Robert Byrnes <byrnes@wildpumpkin.net> 1238 1239 * src/readelf.c (donote): 1240 ELF core file command name/line bug fixes and enhancements: 1241 1242 Try larger offsets first to avoid false matches 1243 from earlier data that happen to look like strings; 1244 this primarily affected SunOS 5.x 32-bit Intel core files. 1245 1246 Add support for command line (instead of just short name) 1247 for SunOS 5.x. 1248 1249 Add information about NT_PSINFO for SunOS 5.x. 1250 1251 Only trim whitespace from end of command line. 1252 12532007-02-11 01:36 Reuben Thomas <rrt@sc3d.org> 1254 1255 * Change strength of ! from MULT to 0, as it matches almost 1256 anything (Reuben Thomas) 1257 1258 * Debian fixes (Reuben Thomas) 1259 12602007-02-11 00:17 Reuben Thomas <rrt@sc3d.org> 1261 1262 * Clarify UTF-8 BOM message (Reuben Thomas) 1263 1264 * Add HTML comment to token list in names.h 1265 12662007-02-04 15:50 Christos Zoulas <christos@astron.com> 1267 1268 * Debian fixes (Reuben Thomas) 1269 12702007-02-04 11:31 Christos Zoulas <christos@astron.com> 1271 1272 * !:mime annotations in magic files (Reuben Thomas) 1273 12742007-01-29 15:35 Christos Zoulas <christos@astron.com> 1275 1276 * zero out utime/utimes structs (Gavin Atkinson) 1277 12782007-01-26 13:45 Christos Zoulas <christos@astron.com> 1279 1280 * reduce writable data from Diego "Flameeyes" Petten 1281 12822007-12-28 15:06 Christos Zoulas <christos@astron.com> 1283 1284 * strtof detection 1285 1286 * remove bogus regex magic that could cause a DoS 1287 1288 * better mismatch version message 1289 12902007-12-27 11:35 Christos Zoulas <christos@astron.com> 1291 1292 * bring back some fixes from OpenBSD 1293 1294 * treat ELF dynamic objects as executables 1295 1296 * fix gcc warnings 1297 12982007-12-01 19:55 Christos Zoulas <christos@astron.com> 1299 1300 * make sure we have zlib.h and libz to compile the builtin 1301 decompress code 1302 13032007-10-28 20:48 Christos Zoulas <christos@astron.com> 1304 1305 * float and double magic support (Behan Webster) 1306 13072007-10-28 20:48 Christos Zoulas <christos@astron.com> 1308 1309 * Convert fortran to a soft test (Reuben Thomas) 1310 13112007-10-23 5:25 Christos Zoulas <christos@astron.com> 1312 1313 * Add --with-filename, and --no-filename (Reuben Thomas) 1314 13152007-10-23 3:59 Christos Zoulas <christos@astron.com> 1316 1317 * Rest of the mime split (Reuben Thomas) 1318 1319 * Make usage message generated from the flags so that 1320 they stay consistent (Reuben Thomas) 1321 13222007-10-20 3:06 Christos Zoulas <christos@astron.com> 1323 1324 * typo in comment, missing ifdef QUICK, remove unneeded code 1325 (Charles Longeau) 1326 13272007-10-17 3:33 Christos Zoulas <christos@astron.com> 1328 1329 * Fix problem printing -\012 in some entries 1330 1331 * Separate magic type and encoding flags (Reuben Thomas) 1332 13332007-10-09 3:55 Christos Zoulas <christos@astron.com> 1334 1335 * configure fix for int64 and strndup (Reuben Thomas) 1336 13372007-09-26 4:45 Christos Zoulas <christos@astron.com> 1338 1339 * Add magic_descriptor() function. 1340 1341 * Fix regression in elf reading code where the core name was 1342 not being printed. 1343 1344 * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) 1345 13462007-08-19 6:30 Christos Zoulas <christos@astron.com> 1347 1348 * Make mime format consistent so that it can 1349 be easily parsed: 1350 mimetype [charset=character-set] [encoding=encoding-mime-type] 1351 1352 Remove spurious extra text from some MIME type printouts 1353 (mostly in is_tar). 1354 1355 Fix one case where -i produced nothing at all (for a 1-byte file, 1356 which is now classed as application/octet-stream). 1357 1358 Remove 7/8bit classifications, since they were arbitrary 1359 and not based on the file data. 1360 1361 This work was done by Reuben Thomas 1362 13632007-05-24 10:00 Christos Zoulas <christos@astron.com> 1364 1365 * Fix another integer overflow (Colin Percival) 1366 13672007-03-26 13:58 Christos Zoulas <christos@astron.com> 1368 1369 * make sure that all of struct magic_set is initialized appropriately 1370 (Brett) 1371 13722007-03-25 17:44 Christos Zoulas <christos@astron.com> 1373 1374 * reset left bytes in the buffer (Dmitry V. Levin) 1375 1376 * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS 1377 (Peter Avalos) 1378 13792007-03-15 10:51 Christos Zoulas <christos@astron.com> 1380 1381 * fix fortran and nroff reversed tests (Dmitry V. Levin) 1382 1383 * fix exclude option (Dmitry V. Levin) 1384 13852007-02-08 17:30 Christos Zoulas <christos@astron.com> 1386 1387 * fix integer underflow in file_printf which can lead to 1388 to exploitable heap overflow (Jean-Sebastien Guay-Lero) 1389 13902007-02-05 11:35 Christos Zoulas <christos@astron.com> 1391 1392 * make socket/pipe reading more robust 1393 13942007-01-25 16:01 Christos Zoulas <christos@astron.com> 1395 1396 * Centralize all the tests in file_buffer. 1397 1398 * Add exclude flag. 1399 14002007-01-18 05:29 Anon Ymous <do@not.spam.me> 1401 1402 * Move the "type" detection code from parse() into its own table 1403 driven routine. This avoids maintaining multiple lists in 1404 file.h. 1405 1406 * Add an optional conditional field (ust before the type field). 1407 This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is 1408 likely to go away. 1409 14102007-01-16 23:24 Anon Ymous <do@not.spam.me> 1411 1412 * Fix an initialization bug in check_mem(). 1413 14142007-01-16 14:58 Anon Ymous <do@not.spam.me> 1415 1416 * Add a "default" type to print a message if nothing previously 1417 matched at that level or since the last default at that 1418 level. This is useful for setting up switch-like statements. 1419 It can also be used to do if/else constructions without a 1420 redundant second test. 1421 1422 * Fix the "x" special case test so that one can test for that 1423 string with "=x". 1424 1425 * Allow "search" to search the entire buffer if the "/N" 1426 search count is missing. 1427 1428 * Make "regex" work! It now starts its search at the 1429 specified offset and takes an (optional) "/N" line count to 1430 specify the search range; otherwise it searches to the end 1431 of the file. The match is now grabbed correctly for format 1432 strings and the offset set to the end of the match. 1433 1434 * Add a "/s" flag to "regex" and "search" to set the offset to 1435 the start of the match. By default the offset is set to the 1436 end of the match, as it is with other tests. This is mostly 1437 useful for "regex". 1438 1439 * Make "search", "string" and "pstring" use the same 1440 file_strncmp() routine so that they support the same flags; 1441 "bestring16" and "lestring16" call the same routine, but 1442 with flags = 0. Also add a "/C" flag (in analogy to "/c") 1443 to ignore the case on uppercase (lowercase) characters in 1444 the test string. 1445 1446 * Strict adherence to C style string escapes. A warnings are 1447 printed when compiling. Note: previously "\a" was 1448 incorrectly translated to 'a' instead of an <alert> (i.e., 1449 BELL, typically 0x07). 1450 1451 * Make this compile with "-Wall -Wextra" and all the warning 1452 flags used with WARNS=4 in the NetBSD source. Also make it 1453 pass lint. 1454 1455 * Many "cleanups" and hopefully not too many new bugs! 1456 14572007-01-16 14:56 Anon Ymous <do@not.spam.me> 1458 1459 * make several more files compile with gcc warnings 1460 on and also make them pass lint. 1461 14622007-01-16 14:54 Anon Ymous <do@not.spam.me> 1463 1464 * fix a puts()/putc() usage goof in file.c 1465 1466 * make file.c compile with gcc warnings and pass lint 1467 14682006-12-11 16:49 Christos Zoulas <christos@astron.com> 1469 1470 * fix byteswapping issue 1471 1472 * report the number of bytes we tried to 1473 allocate when allocation fails 1474 1475 * add a few missed cases in the strength routine 1476 14772006-12-08 16:32 Christos Zoulas <christos@astron.com> 1478 1479 * store and print the line number of the magic 1480 entry for debugging. 1481 1482 * if the magic entry did not print anything, 1483 don't treat it as a match 1484 1485 * change the magic strength algorithm to take 1486 into account the relationship op. 1487 1488 * fix a bug in search where we could accidentally 1489 return a match. 1490 1491 * propagate the error return from match to 1492 file_softmagic. 1493 14942006-11-25 13:35 Christos Zoulas <christos@astron.com> 1495 1496 * Don't store the current offset in the magic 1497 struct, because it needs to be restored and 1498 it was not done properly all the time. Bug 1499 found by: Arkadiusz Miskiewicz 1500 1501 * Fix problem in the '\0' separator; and don't 1502 print it as an additional separator; print 1503 it as the only separator. 1504 15052006-11-17 10:51 Christos Zoulas <christos@astron.com> 1506 1507 * Added a -0 option to print a '\0' separator 1508 Etienne Buira <etienne.buira@free.fr> 1509 15102006-10-31 15:14 Christos Zoulas <christos@astron.com> 1511 1512 * Check offset before copying (Mike Frysinger) 1513 1514 * merge duplicated code 1515 1516 * add quad date support 1517 1518 * make sure that we nul terminate desc (Ryoji Kanai) 1519 1520 * don't process elf notes multiple times 1521 1522 * allow -z to report empty compressed files 1523 1524 * use calloc to initialize the ascii buffers (Jos van den Oever) 1525 15262006-06-08 11:11 Christos Zoulas <christos@astron.com> 1527 1528 * QNX fixes (Mike Gorchak) 1529 1530 * Add quad support. 1531 1532 * FIFO checks (Dr. Werner Fink) 1533 1534 * Linux ELF fixes (Dr. Werner Fink) 1535 1536 * Magic format checks (Dr. Werner Fink) 1537 1538 * Magic format function improvent (Karl Chen) 1539 15402006-05-03 11:11 Christos Zoulas <christos@astron.com> 1541 1542 * Pick up some elf changes and some constant fixes from SUSE 1543 1544 * Identify gnu tar vs. posix tar 1545 1546 * When keep going, don't print spurious newlines (Radek Vokal) 1547 15482006-04-01 12:02 Christos Zoulas <christos@astron.com> 1549 1550 * Use calloc instead of malloc (Mike Frysinger) 1551 1552 * Fix configure script to detect wctypes.h (Mike Frysinger) 1553 15542006-03-02 16:06 Christos Zoulas <christos@astron.com> 1555 1556 * Print empty if the file is (Mike Frysinger) 1557 1558 * Don't try to read past the end of the buffer (Mike Frysinger) 1559 1560 * Sort magic entries by strength [experimental] 1561 15622005-11-29 13:26 Christos Zoulas <christos@astron.com> 1563 1564 * Use iswprint() to convert the output string. 1565 (Bastien Nocera) 1566 15672005-10-31 8:54 Christos Zoulas <christos@astron.com> 1568 1569 * Fix regression where the core info was not completely processed 1570 (Radek Vokal) 1571 15722005-10-20 11:15 Christos Zoulas <christos@astron.com> 1573 1574 * Middle Endian magic (Diomidis Spinellis) 1575 15762005-10-17 11:15 Christos Zoulas <christos@astron.com> 1577 1578 * Open with O_BINARY for CYGWIN (Corinna Vinschen) 1579 1580 * Don't close stdin (Arkadiusz Miskiewicz) 1581 1582 * Look for note sections in non executables. 1583 15842005-09-20 13:33 Christos Zoulas <christos@astron.com> 1585 1586 * Don't print SVR4 Style in core files multiple times 1587 (Radek Vokal) 1588 15892005-08-27 04:09 Christos Zoulas <christos@astron.com> 1590 1591 * Cygwin changes Corinna Vinschen 1592 15932005-08-18 09:53 Christos Zoulas <christos@astron.com> 1594 1595 * Remove erroreous mention of /etc/magic in the file man page 1596 This is gentoo bug 101639. (Mike Frysinger) 1597 1598 * Cross-compile support and detection (Mike Frysinger) 1599 16002005-08-12 10:17 Christos Zoulas <christos@astron.com> 1601 1602 * Add -h flag and dereference symlinks if POSIXLY_CORRECT 1603 is set. 1604 16052005-07-29 13:57 Christos Zoulas <christos@astron.com> 1606 1607 * Avoid search and regex buffer overflows (Kelledin) 1608 16092005-07-12 11:48 Christos Zoulas <christos@astron.com> 1610 1611 * Provide stub implementations for {v,}nsprintf() for older 1612 OS's that don't have them. 1613 * Change mbstate_t autoconf detection macro from AC_MBSTATE_T 1614 to AC_TYPE_MBSTATE_T. 1615 16162005-06-25 11:48 Christos Zoulas <christos@astron.com> 1617 1618 * Dynamically allocate the string buffers and make the 1619 default read size 256K. 1620 16212005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de> 1622 1623 * Dragonfly ELF note support 1624 16252005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it> 1626 1627 * Avoid NULL pointer dereference in time conversion. 1628 16292005-03-06 00:00 Joerg Walter <jwalt@mail.garni.ch> 1630 1631 * Add indirect magic offset support, and search mode. 1632 16332005-01-12 00:00 Stepan Kasal <kasal@ucw.cz> 1634 1635 * src/ascmagic.c (file_ascmagic): Fix three bugs about text files: 1636 If a CRLF text file happens to have CR at offset HOWMANY - 1 1637 (currently 0xffff), it should not be counted as CR line 1638 terminator. 1639 If a line has length exactly MAXLINELEN, it should not yet be 1640 treated as a ``very long line'', as MAXLINELEN is ``longest sane 1641 line length''. 1642 With CRLF, the line length was not computed correctly, and even 1643 lines of length MAXLINELEN - 1 were treated as ``very long''. 1644 16452004-12-07 14:15 Christos Zoulas <christos@astron.com> 1646 1647 * bzip2 needs a lot of input buffer space on some files 1648 before it can begin uncompressing. This makes file -z 1649 fail on some bz2 files. Fix it by giving it a copy of 1650 the file descriptor to read as much as it wants if we 1651 have access to it. <christos@astron.com> 1652 16532004-11-24 12:39 Christos Zoulas <christos@astron.com> 1654 1655 * Stack smash fix, and ELF more conservative reading. 1656 Jakub Bogusz <qboosh@pld-linux.org> 1657 16582004-11-20 18:50 Christos Zoulas <christos@astron.com> 1659 1660 * New FreeBSD version parsing code: 1661 Jon Noack <noackjr@alumni.rice.edu> 1662 1663 * Hackish support for ucs16 strings <christos@astron.com> 1664 16652004-11-13 03:07 Christos Zoulas <christos@astron.com> 1666 1667 * print the file name and line number in syntax errors. 1668 16692004 10-12 10:50 Christos Zoulas <christos@astron.com> 1670 1671 * Fix stack overwriting on 0 length strings: Tim Waugh 1672 <twaugh@redhat.com> Ned Ludd <solar@gentoo.org> 1673 16742004-09-27 11:30 Christos Zoulas <christos@astron.com> 1675 1676 * Remove 3rd and 4th copyright clause; approved by Ian Darwin. 1677 1678 * Fix small memory leaks; caught by: Tamas Sarlos 1679 <stamas@csillag.ilab.sztaki.hu> 1680 16812004-07-24 16:33 Christos Zoulas <christos@astron.com> 1682 1683 * magic.mime update Danny Milosavljevic <danny.milo@gmx.net> 1684 1685 * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com> 1686 1687 * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com> 1688 1689 * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org> 1690 16912004-04-12 10:55 Christos Zoulas <christos@astron.com> 1692 1693 * make sure that magic formats match magic types during compilation 1694 1695 * fix broken sgi magic file 1696 16972004-04-06 20:36 Christos Zoulas <christos@astron.com> 1698 1699 * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com> 1700 1701 * magic fixes 1702 17032004-03-22 15:25 Christos Zoulas <christos@astron.com> 1704 1705 * Lots of mime fixes 1706 (Joerg Ostertag) <ostertag@rechengilde.de> 1707 1708 * FreeBSD ELF version handling 1709 (Edwin Groothuis) <edwin@mavetju.org> 1710 1711 * correct cleanup in all cases; don't just close the file. 1712 (Christos Zoulas) <christos@astron.com> 1713 1714 * add gettext message catalogue support 1715 (Michael Piefel) <piefel@debian.org> 1716 1717 * better printout for unreadable files 1718 (Michael Piefel) <piefel@debian.org> 1719 1720 * compensate for missing MAXPATHLEN 1721 (Michael Piefel) <piefel@debian.org> 1722 1723 * add wide character string length computation 1724 (Michael Piefel) <piefel@debian.org> 1725 1726 * Avoid infinite loops caused by bad elf alignments 1727 or name and description note sizes. Reported by 1728 (Mikael Magnusson) <mmikael@comhem.se> 1729 17302004-03-09 13:55 Christos Zoulas <christos@astron.com> 1731 1732 * Fix possible memory leak on error and add missing regfree 1733 (Dmitry V. Levin) <ldv@altlinux.org> 1734 17352003-12-23 12:12 Christos Zoulas <christos@astron.com> 1736 1737 * fix -k flag (Maciej W. Rozycki) 1738 17392003-11-18 14:10 Christos Zoulas <christos@astron.com> 1740 1741 * Try to give us much info as possible on corrupt elf files. 1742 (Willy Tarreau) <willy@w.ods.org> 1743 * Updated python bindings (Brett Funderburg) 1744 <brettf@deepfile.com> 1745 17462003-11-11 15:03 Christos Zoulas <christos@astron.com> 1747 1748 * Include file.h first, because it includes config.h 1749 breaks largefile test macros otherwise. 1750 (Paul Eggert <eggert@CS.UCLA.EDU> via 1751 Lars Hecking <lhecking@nmrc.ie>) 1752 17532003-10-14 21:39 Christos Zoulas <christos@astron.com> 1754 1755 * Python bindings (Brett Funderburg) <brettf@deepfile.com> 1756 * Don't lookup past the end of the buffer 1757 (Chad Hanson) <chanson@tcs-sec.com> 1758 * Add MAGIC_ERROR and api on magic_errno() 1759 17602003-10-08 12:40 Christos Zoulas <christos@astron.com> 1761 1762 * handle error conditions from compile as fatal 1763 (Antti Kantee) <pooka@netbsd.org> 1764 * handle magic filename parsing sanely 1765 * more magic fixes. 1766 * fix a memory leak (Illes Marton) <illes.marton@balabit.hu> 1767 * describe magic file handling 1768 (Bryan Henderson) <bryanh@giraffe-data.com> 1769 17702003-09-12 15:09 Christos Zoulas <christos@astron.com> 1771 1772 * update magic files. 1773 * remove largefile support from file.h; it breaks things on most OS's 1774 17752003-08-10 10:25 Christos Zoulas <christos@astron.com> 1776 1777 * fix unmapping'ing of mmaped files. 1778 17792003-07-10 12:03 Christos Zoulas <christos@astron.com> 1780 1781 * don't exit with -1 on error; always exit 1 (Marty Leisner) 1782 * restore utimes code. 1783 17842003-06-10 17:03 Christos Zoulas <christos@astron.com> 1785 1786 * make sure we don't access uninitialized memory. 1787 * pass lint 1788 * #ifdef __cplusplus in magic.h 1789 17902003-05-25 19:23 Christos Zoulas <christos@astron.com> 1791 1792 * rename cvs magic file to revision to deal with 1793 case insensitive filesystems. 1794 17952003-05-23 17:03 Christos Zoulas <christos@astron.com> 1796 1797 * documentation fixes from Michael Piefel <piefel@debian.org> 1798 * magic fixes (various) 1799 * revert basename magic in .mgc name determination 1800 * buffer protection in uncompress, 1801 signness issues, 1802 close files 1803 Maciej W. Rozycki <macro@ds2.pg.gda.pl 1804 18052003-04-21 20:12 Christos Zoulas <christos@astron.com> 1806 1807 * fix zsh magic 1808 18092003-04-04 16:59 Christos Zoulas <christos@astron.com> 1810 1811 * fix operand sort order in string. 1812 18132003-04-02 17:30 Christos Zoulas <christos@astron.com> 1814 1815 * cleanup namespace in magic.h 1816 18172003-04-02 13:50 Christos Zoulas <christos@astron.com> 1818 1819 * Magic additions (Alex Ott) 1820 * Fix bug that broke VPATH compilation (Peter Breitenlohner) 1821 18222003-03-28 16:03 Christos Zoulas <christos@astron.com> 1823 1824 * remove packed attribute from magic struct. 1825 * make the magic struct properly aligned. 1826 * bump version number of compiled files to 2. 1827 18282003-03-27 13:10 Christos Zoulas <christos@astron.com> 1829 1830 * separate tar detection and run it before softmagic. 1831 * fix reversed symlink test. 1832 * fix version printing. 1833 * make separator a string instead of a char. 1834 * update manual page and sort options. 1835 18362003-03-26 11:00 Christos Zoulas <christos@astron.com> 1837 1838 * Pass lint 1839 * make NULL in magic_file mean stdin 1840 * Fix "-" argument to file to pass NULL to magic_file 1841 * avoid pointer casts by using memcpy 1842 * rename magic_buf -> magic_buffer 1843 * keep only the first error 1844 * manual page: new sentence, new line 1845 * fix typo in api function (magic_buf -> magic_buffer) 1846