12019-05-14 22:26 Christos Zoulas <christos@zoulas.com> 2 3 * release 5.37 4 52019-05-09 22:27 Christos Zoulas <christos@zoulas.com> 6 7 * Make sure that continuation separators are printed 8 with -k within softmagic 9 102019-05-06 22:27 Christos Zoulas <christos@zoulas.com> 11 12 * Change SIGPIPE saving and restoring during compression to use 13 sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko) 14 * Cache stat(2) calls more to reduce number of calls (Denys Vlasenko) 15 162019-05-06 17:25 Christos Zoulas <christos@zoulas.com> 17 18 * PR/77: Handle --mime-type and -k correctly. 19 202019-05-03 15:26 Christos Zoulas <christos@zoulas.com> 21 22 * Switch decompression code to use vfork() because 23 tools like rpmdiff and rpmbuild call libmagic 24 with large process footprints (Denys Vlasenko) 25 262019-04-07 14:05 Christos Zoulas <christos@zoulas.com> 27 28 * PR/75: --enable-zlib, did not work. 29 302019-02-27 11:54 Christos Zoulas <christos@zoulas.com> 31 32 * Improve regex efficiency (Michael Schroeder) by: 33 1. Prefixing regex searches with regular search 34 for keywords where possible 35 2. Using memmem(3) where available 36 372019-02-20 10:16 Christos Zoulas <christos@zoulas.com> 38 39 * release 5.36 40 412019-02-19 15:30 Christos Zoulas <christos@zoulas.com> 42 43 * Fix cast to use cast macros 44 * Add UCS-32 builtin detection (PR/61) reported by tmc 45 462019-02-18 18:24 Christos Zoulas <christos@zoulas.com> 47 48 * Fix stack read (PR/62) and write (PR/64) stack overflows 49 reported by spinpx 50 512018-10-18 19:32 Christos Zoulas <christos@zoulas.com> 52 53 * release 5.35 54 552018-09-10 20:38 Christos Zoulas <christos@zoulas.com> 56 57 * Add FreeBSD ELF core file support (John Baldwin) 58 592018-08-20 18:40 Christos Zoulas <christos@zoulas.com> 60 61 * PR/30: Allow all parameter values to be set (don't treat 0 specially) 62 * handle default annotations on the softmagic match instead at the 63 end. 64 652018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 66 67 * PR/23: Recognize JSON files 68 692018-07-25 10:17 Christos Zoulas <christos@zoulas.com> 70 71 * PR/18: file --mime-encoding should not print mime-type 72 732018-07-25 8:50 Christos Zoulas <christos@zoulas.com> 74 75 * release 5.34 76 772018-06-22 16:38 Christos Zoulas <christos@zoulas.com> 78 79 * Add Quad indirect offsets 80 812018-05-24 14:10 Christos Zoulas <christos@zoulas.com> 82 83 * Enable parsing of ELF dynamic sections to handle PIE better 84 852018-04-15 14:52 Christos Zoulas <christos@zoulas.com> 86 87 * release 5.33 88 892018-02-24 14:50 Christos Zoulas <christos@zoulas.com> 90 91 * extend the support for ${x?:} expansions for magic descriptions 92 932018-02-21 16:25 Christos Zoulas <christos@zoulas.com> 94 95 * add support for ${x?:} in mime types to handle 96 pie binaries. 97 982017-11-03 9:23 Christos Zoulas <christos@zoulas.com> 99 100 * add support for negative offsets (offsets from the end of file) 101 1022017-09-26 8:22 Christos Zoulas <christos@zoulas.com> 103 104 * close the file on error when writing magic (Steve Grubb) 105 1062017-09-24 12:02 Christos Zoulas <christos@zoulas.com> 107 108 * seccomp support (Paul Moore) 109 1102017-09-02 11:53 Christos Zoulas <christos@zoulas.com> 111 112 * release 5.32 113 1142017-08-28 16:37 Christos Zoulas <christos@zoulas.com> 115 116 * Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski) 117 1182017-08-27 03:55 Christos Zoulas <christos@zoulas.com> 119 120 * Fix always true condition (Thomas Jarosch) 121 1222017-05-24 17:30 Christos Zoulas <christos@zoulas.com> 123 124 * pickier parsing of numeric values in magic files. 125 1262017-05-23 17:55 Christos Zoulas <christos@zoulas.com> 127 128 * PR/615 add magic_getflags() 129 1302017-05-23 13:55 Christos Zoulas <christos@zoulas.com> 131 132 * release 5.31 133 1342017-03-17 20:32 Christos Zoulas <christos@zoulas.com> 135 136 * remove trailing spaces from magic files 137 * refactor is_tar 138 * better bounds checks for cdf 139 1402017-02-10 12:24 Christos Zoulas <christos@zoulas.com> 141 142 * release 5.30 143 1442017-02-07 23:27 Christos Zoulas <christos@zoulas.com> 145 146 * If we exceeded the offset in a search return no match 147 (Christoph Biedl) 148 * Be more lenient on corrupt CDF files (Christoph Biedl) 149 1502017-02-04 16:46 Christos Zoulas <christos@zoulas.com> 151 152 * pacify ubsan sign extension (oss-fuzz/524) 153 1542017-02-01 12:42 Christos Zoulas <christos@zoulas.com> 155 156 * off by one in cdf parsing (PR/593) 157 * report debugging sections in elf (PR/591) 158 1592016-11-06 10:52 Christos Zoulas <christos@zoulas.com> 160 161 * Allow @@@ in extensions 162 * Add missing overflow check in der magic (Jonas Wagner) 163 1642016-10-25 10:40 Christos Zoulas <christos@zoulas.com> 165 166 * release 5.29 167 1682016-10-24 11:20 Christos Zoulas <christos@zoulas.com> 169 170 * der getlength overflow (Jonas Wagner) 171 * multiple magic file load failure (Christoph Biedl) 172 1732016-10-17 11:26 Christos Zoulas <christos@zoulas.com> 174 175 * CDF parsing improvements (Guy Helmer) 176 1772016-07-20 7:26 Christos Zoulas <christos@zoulas.com> 178 179 * Add support for signed indirect offsets 180 1812016-07-18 7:41 Christos Zoulas <christos@zoulas.com> 182 183 * cat /dev/null | file - should print empty (Christoph Biedl) 184 1852016-07-05 15:20 Christos Zoulas <christos@zoulas.com> 186 187 * Bump string size from 64 to 96. 188 1892016-06-13 20:20 Christos Zoulas <christos@zoulas.com> 190 191 * PR/556: Fix separators on annotations. 192 1932016-06-13 19:40 Christos Zoulas <christos@zoulas.com> 194 195 * release 5.28 196 * fix leak on allocation failure 197 1982016-06-01 1:20 Christos Zoulas <christos@zoulas.com> 199 200 * PR/555: Avoid overflow for offset > nbytes 201 * PR/550: Segv on DER parsing: 202 - use the correct variable for length 203 - set offset to 0 on failure. 204 2052016-05-13 12:00 Christos Zoulas <christos@zoulas.com> 206 207 * release 5.27 208 2092016-04-18 9:35 Christos Zoulas <christos@zoulas.com> 210 211 * Errors comparing DER entries or computing offsets 212 are just indications of malformed non-DER files. 213 Don't print them. 214 * Offset comparison was off-by-one. 215 * Fix compression code (Werner Fink) 216 * Put new bytes constant in the right file (not the generated one) 217 2182016-04-16 18:34 Christos Zoulas <christos@zoulas.com> 219 220 * release 5.26 221 2222016-03-31 13:50 Christos Zoulas <christos@zoulas.com> 223 224 * make the number of bytes read from files configurable. 225 2262016-03-21 13:40 Christos Zoulas <christos@zoulas.com> 227 228 * Add bounds checks for DER code (discovered by Thomas Jarosch) 229 * Change indirect recursion limit to indirect use count and 230 bump from 15 to 50 to prevent abuse. 231 2322016-03-13 20:39 Christos Zoulas <christos@zoulas.com> 233 234 * Add -00 which prints filename\0description\0 235 2362016-03-01 13:28 Christos Zoulas <christos@zoulas.com> 237 238 * Fix ID3 indirect parsing 239 2402016-01-19 10:18 Christos Zoulas <christos@zoulas.com> 241 242 * add DER parsing capability 243 2442015-11-13 10:35 Christos Zoulas <christos@zoulas.com> 245 246 * provide dprintf(3) for the OS's that don't have it. 247 2482015-11-11 16:25 Christos Zoulas <christos@zoulas.com> 249 250 * redo the compression code report decompression errors 251 2522015-11-10 23:25 Christos Zoulas <christos@zoulas.com> 253 254 * REG_STARTEND code is not working as expected, delete it. 255 2562015-11-09 16:05 Christos Zoulas <christos@zoulas.com> 257 258 * Add zlib support if we have it. 259 2602015-11-05 11:22 Christos Zoulas <christos@zoulas.com> 261 262 * PR/492: compression forking was broken with magic_buffer. 263 2642015-09-16 9:50 Christos Zoulas <christos@zoulas.com> 265 266 * release 5.25 267 2682015-09-11 13:25 Christos Zoulas <christos@zoulas.com> 269 270 * add a limit to the length of regex searches 271 2722015-09-08 9:50 Christos Zoulas <christos@zoulas.com> 273 274 * fix problems with --parameter (Christoph Biedl) 275 2762015-07-11 10:35 Christos Zoulas <christos@zoulas.com> 277 278 * Windows fixes PR/466 (Jason Hood) 279 2802015-07-09 10:35 Christos Zoulas <christos@zoulas.com> 281 282 * release 5.24 283 2842015-06-11 8:52 Christos Zoulas <christos@zoulas.com> 285 286 * redo long option encoding to fix off-by-one in 5.23 287 2882015-06-10 13:50 Christos Zoulas <christos@zoulas.com> 289 290 * release 5.23 291 2922015-06-09 16:10 Christos Zoulas <christos@zoulas.com> 293 294 * Fix issue with regex range for magic with offset 295 * Always return true from mget with USE (success to mget not match 296 indication). Fixes mime evaluation after USE magic 297 * PR/459: Don't insert magic entries to the list if there are parsing 298 errors for them. 299 3002015-06-03 16:00 Christos Zoulas <christos@zoulas.com> 301 302 * PR/455: Add utf-7 encoding 303 3042015-06-03 14:30 Christos Zoulas <christos@zoulas.com> 305 306 * PR/455: Implement -Z, look inside, but don't report on compression 307 * PR/454: Fix allocation error on bad magic. 308 3092015-05-29 10:30 Christos Zoulas <christos@zoulas.com> 310 311 * handle MAGIC_CONTINUE everywhere, not just in softmagic 312 3132015-05-21 14:30 Christos Zoulas <christos@zoulas.com> 314 315 * don't print descriptions for NAME types when mime. 316 3172015-04-09 15:59 Christos Zoulas <christos@zoulas.com> 318 319 * Add --extension to list the known extensions for this file type 320 Idea by Andrew J Roazen 321 3222015-02-14 12:23 Christos Zoulas <christos@zoulas.com> 323 324 * Bump file search buffer size to 1M. 325 3262015-01-09 14:35 Christos Zoulas <christos@zoulas.com> 327 328 * Fix multiple issues with date formats reported by Christoph Biedl: 329 - T_LOCAL meaning was reversed 330 - Arithmetic did not work 331 Also stop adjusting daylight savings for gmt printing. 332 3332015-01-05 13:00 Christos Zoulas <christos@zoulas.com> 334 335 * PR/411: Fix memory corruption from corrupt cdf file. 336 3372015-01-02 15:15 Christos Zoulas <christos@zoulas.com> 338 339 * release 5.22 340 3412015-01-01 12:01 Christos Zoulas <christos@zoulas.com> 342 343 * add indirect relative for TIFF/Exif 344 3452014-12-16 18:10 Christos Zoulas <christos@zoulas.com> 346 347 * restructure elf note printing to avoid repeated messages 348 * add note limit, suggested by Alexander Cherepanov 349 3502014-12-16 16:53 Christos Zoulas <christos@zoulas.com> 351 352 * Bail out on partial pread()'s (Alexander Cherepanov) 353 * Fix incorrect bounds check in file_printable (Alexander Cherepanov) 354 3552014-12-11 20:01 Christos Zoulas <christos@zoulas.com> 356 357 * PR/405: ignore SIGPIPE from uncompress programs 358 * change printable -> file_printable and use it in 359 more places for safety 360 * in ELF, instead of "(uses dynamic libraries)" when PT_INTERP 361 is present print the interpreter name. 362 3632014-12-10 20:01 Christos Zoulas <christos@zoulas.com> 364 365 * release 5.21 366 3672014-11-27 18:40 Christos Zoulas <christos@zoulas.com> 368 369 * Allow setting more parameters from the command line. 370 * Split name/use and indirect magic recursion limits. 371 3722014-11-27 11:12 Christos Zoulas <christos@zoulas.com> 373 374 * Adjust ELF parameters and the default recursion 375 level. 376 * Allow setting the recursion level dynamically. 377 3782014-11-24 8:55 Christos Zoulas <christos@zoulas.com> 379 380 * The following fixes resulted from Thomas Jarosch's fuzzing 381 tests that revealed severe performance issues on pathological 382 input: 383 - limit number of elf program and sections processing 384 - abort elf note processing quickly 385 - reduce the number of recursion levels from 20 to 10 386 - preserve error messages in indirect magic handling 387 388 This is tracked as CVE-2014-8116 and CVE-2014-8117 389 3902014-11-12 10:30 Christos Zoulas <christos@zoulas.com> 391 392 * fix bogus free in the user buffer case. 393 3942014-11-11 12:35 Christos Zoulas <christos@zoulas.com> 395 396 * fix out of bounds read for pascal strings 397 * fix memory leak (not freeing the head of each mlist) 398 3992014-11-07 10:25 Christos Zoulas <christos@zoulas.com> 400 401 * When printing strings from a file, convert them to printable 402 on a byte by byte basis, so that we don't get issues with 403 locale's trying to interpret random byte streams as UTF-8 and 404 having printf error out with EILSEQ. 405 4062014-10-17 11:48 Christos Zoulas <christos@zoulas.com> 407 408 * fix bounds in note reading (Francisco Alonso / Red Hat) 409 4102014-10-11 15:02 Christos Zoulas <christos@zoulas.com> 411 412 * fix autoconf glue for setlocale and locale_t; some OS's 413 have locale_t in xlocale.h 414 4152014-10-10 15:01 Christos Zoulas <christos@zoulas.com> 416 417 * release 5.20 418 4192014-08-17 10:01 Christos Zoulas <christos@zoulas.com> 420 421 * recognize encrypted CDF documents 422 4232014-08-04 9:18 Christos Zoulas <christos@zoulas.com> 424 425 * add magic_load_buffers from Brooks Davis 426 4272014-07-24 16:40 Christos Zoulas <christos@zoulas.com> 428 429 * add thumbs.db support 430 4312014-06-12 12:28 Christos Zoulas <christos@zoulas.com> 432 433 * release 5.19 434 4352014-06-09 9:04 Christos Zoulas <christos@zoulas.com> 436 437 * Misc buffer overruns and missing buffer size tests in cdf parsing 438 (Francisco Alonso, Jan Kaluza) 439 4402014-06-02 14:50 Christos Zoulas <christos@zoulas.com> 441 442 * Enforce limit of 8K on regex searches that have no limits 443 * Allow the l modifier for regex to mean line count. Default 444 to byte count. If line count is specified, assume a max 445 of 80 characters per line to limit the byte count. 446 * Don't allow conversions to be used for dates, allowing 447 the mask field to be used as an offset. 448 4492014-05-30 12:51 Christos Zoulas <christos@zoulas.com> 450 451 * Make the range operator limit the length of the 452 regex search. 453 4542014-05-14 19:23 Christos Zoulas <christos@zoulas.com> 455 456 * PR/347: Windows fixes 457 * PR/352: Hangul word processor recognition 458 * PR/354: Encoding irregularities in text files 459 4602014-05-06 6:12 Christos Zoulas <christos@zoulas.com> 461 462 * Fix uninitialized title in CDF files (Jan Kaluza) 463 4642014-05-04 14:55 Christos Zoulas <christos@zoulas.com> 465 466 * PR/351: Fix compilation of empty files 467 4682014-04-30 17:39 Christos Zoulas <christos@zoulas.com> 469 470 * Fix integer formats: We don't specify 'l' or 471 'h' and 'hh' specifiers anymore, only 'll' for 472 quads and nothing for the rest. This is so that 473 magic writing is simpler. 474 4752014-04-01 15:25 Christos Zoulas <christos@zoulas.com> 476 477 * PR/341: Jan Kaluza, fix memory leak 478 * PR/342: Jan Kaluza, fix out of bounds read 479 4802014-03-28 15:25 Christos Zoulas <christos@zoulas.com> 481 482 * Fix issue with long formats not matching fmtcheck 483 4842014-03-26 11:25 Christos Zoulas <christos@zoulas.com> 485 486 * release 5.18 487 4882014-03-15 17:45 Christos Zoulas <christos@zoulas.com> 489 490 * add fmtcheck(3) for those who don't have it 491 4922014-03-14 15:12 Christos Zoulas <christos@zoulas.com> 493 494 * prevent mime entries from being attached to magic 495 entries with no descriptions 496 497 * adjust magic strength for regex type 498 499 * remove superfluous ascmagic with encoding test 500 5012014-03-06 12:01 Christos Zoulas <christos@zoulas.com> 502 503 * fix regression fix echo -ne "\012\013\014" | file -i - 504 which printed "binary" instead of "application/octet-stream" 505 506 * add size_t overflow check for magic file size 507 5082014-02-27 16:01 Christos Zoulas <christos@zoulas.com> 509 510 * experimental support for matching with CFD CLSID 511 5122014-02-18 13:04 Kimmo Suominen (kimmo@suominen.com) 513 514 * Cache old LC_CTYPE locale before setting it to "C", so 515 we can use it to restore LC_CTYPE instead of asking 516 setlocale() to scan the environment variables. 517 5182014-02-12 18:21 Christos Zoulas <christos@zoulas.com> 519 520 * Count recursion levels through indirect magic 521 5222014-02-11 10:40 Christos Zoulas <christos@zoulas.com> 523 524 * Prevent infinite recursion on files with indirect offsets of 0 525 5262014-01-30 21:00 Christos Zoulas <christos@zoulas.com> 527 528 * Add -E flag that makes file print filesystem errors to stderr 529 and exit. 530 5312014-01-08 17:20 Christos Zoulas <christos@zoulas.com> 532 533 * mime printing could print results from multiple magic entries 534 if there were multiple matches. 535 * in some cases overflow was not detected when computing offsets 536 in softmagic. 537 5382013-12-05 12:00 Christos Zoulas <christos@zoulas.com> 539 540 * use strcasestr() to for cdf strings 541 * reset to the "C" locale while doing regex operations, or case 542 insensitive comparisons; this is provisional 543 5442013-11-19 20:10 Christos Zoulas <christos@zoulas.com> 545 546 * always leave magic file loaded, don't unload for magic_check, etc. 547 * fix default encoding to binary instead of unknown which broke recently 548 * handle empty and one byte files, less specially so that 549 --mime-encoding does not break completely. 550 ` 5512013-11-06 14:40 Christos Zoulas <christos@zoulas.com> 552 553 * fix erroneous non-zero exit code from non-existent file and message 554 5552013-10-29 14:25 Christos Zoulas <christos@zoulas.com> 556 557 * add CDF MSI file detection (Guy Helmer) 558 5592013-09-03 11:56 Christos Zoulas <christos@zoulas.com> 560 561 * Don't mix errors and regular output if there was an error 562 * in magic_descriptor() don't close the file and try to restore 563 its position 564 5652013-05-30 17:25 Christos Zoulas <christos@zoulas.com> 566 567 * Don't treat magic as an error if offset was past EOF (Christoph Biedl) 568 5692013-05-28 17:25 Christos Zoulas <christos@zoulas.com> 570 571 * Fix spacing issues in softmagic and elf (Jan Kaluza) 572 5732013-05-02 18:00 Christos Zoulas <christos@zoulas.com> 574 575 * Fix segmentation fault with multiple magic_load commands. 576 5772013-04-22 11:20 Christos Zoulas <christos@zoulas.com> 578 579 * The way "default" was implemented was not very useful 580 because the "if something was printed at that level" 581 was not easily controlled by the user, and the format 582 was bound to a string which is too restrictive. Add 583 a "clear" for that level keyword and make "default" 584 void. This way one can do: 585 586 >>13 clear x 587 >>13 lelong 1 foo 588 >>13 lelong 2 bar 589 >>13 default x 590 >>>13 lelong x unknown %x 591 5922013-03-25 13:20 Christos Zoulas <christos@zoulas.com> 593 594 * disallow strength setting in "name" entries 595 5962013-03-06 21:24 Christos Zoulas <christos@zoulas.com> 597 598 * fix recursive magic separator printing 599 6002013-02-26 19:28 Christos Zoulas <christos@zoulas.com> 601 602 * limit recursion level for mget 603 * fix pread() related breakage in cdf 604 * handle offsets properly in recursive "use" 605 6062013-02-18 10:39 Christos Zoulas <christos@zoulas.com> 607 608 * add elf reading of debug info to determine if file is stripped 609 (Jan Kaluza) 610 * use pread() 611 6122013-01-25 18:05 Christos Zoulas <christos@zoulas.com> 613 614 * change mime description size from 64 to 80 to accommodate OOXML. 615 6162013-01-11 14:50 Christos Zoulas <christos@zoulas.com> 617 618 * Warn about inconsistent continuation levels. 619 * Change fsmagic to add a space after it prints. 620 6212013-01-10 21:00 Christos Zoulas <christos@zoulas.com> 622 623 * Make getline public so that file can link against it. 624 Perhaps it is better to rename it, or hide it differently. 625 Fixes builds on platforms that do not provide it. 626 6272013-01-07 16:30 Christos Zoulas <christos@zoulas.com> 628 629 * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document 630 what long, int, short, etc is (Guy Harris) 631 6322013-01-06 11:20 Christos Zoulas <christos@zoulas.com> 633 634 * add magic_version function and constant 635 * Redo memory allocation and de-allocation. 636 (prevents double frees on non mmap platforms) 637 * Fix bug with name/use having to do with passing 638 found state from the parent to the child and back. 639 6402012-12-19 8:47 Christos Zoulas <christos@zoulas.com> 641 642 * Only print elf capabilities for archs we know (Jan Kaluza) 643 6442012-10-30 19:14 Christos Zoulas <christos@zoulas.com> 645 646 * Add "name" and "use" file types in order to look 647 inside mach-o files. 648 6492012-09-06 10:40 Christos Zoulas <christos@zoulas.com> 650 651 * make --version exit 0 (Matthew Schultz) 652 * add string/T (Jan Kaluza) 653 6542012-08-09 2:15 Christos Zoulas <christos@zoulas.com> 655 656 * add z and t modifiers for our own vasprintf 657 * search for $HOME/.magic.mgc if it is there first 658 * fix reads from a pipe, and preserve errno 659 6602012-05-15 13:12 Christos Zoulas <christos@zoulas.com> 661 662 * use ctime_r, asctime_r 663 6642012-04-06 17:18 Christos Zoulas <christos@zoulas.com> 665 666 * Fixes for indirect offsets to handle apple disk formats 667 6682012-04-03 18:26 Christos Zoulas <christos@zoulas.com> 669 670 * Add windows date field types 671 * More info for windows shortcuts (incomplete) 672 6732012-02-20 17:33 Christos Zoulas <christos@zoulas.com> 674 675 * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann) 676 6772011-12-15 12:17 Chris Metcalf <cmetcalf@tilera.com> 678 679 * Support Tilera architectures (tile64, tilepro, tilegx). 680 6812011-12-16 16:33 Reuben Thomas <rrt@sc3d.org> 682 683 * Add magic for /usr/bin/env Perl scripts 684 * Weaken generic script magic to avoid clashing with 685 language-specific magic. 686 6872011-12-08 13:37 Reuben Thomas <rrt@sc3d.org> 688 689 * Simplify if (p) free(p) to free(p). 690 6912011-12-08 13:07 Reuben Thomas <rrt@sc3d.org> 692 693 * Remove hardwired token finding (names.h), turning it into soft 694 magic. Patterns are either anchored regexs or search/8192. English 695 language detection and PL/1 detection have been removed as they 696 were too fragile. -e tokens is still accepted for backwards 697 compatibility. 698 * Move 3ds patterns (which are commented out anyway) into autodesk 699 (they were, oddly, in c-lang). 700 7012011-12-06 00:16 Reuben Thomas <rrt@sc3d.org> 702 703 * Tweak strength of generic hash-bang detectors to be less than 704 specific ones. 705 * Make an inconsistent description of Python scripts consistent. 706 7072011-12-05 23:58 Reuben Thomas <rrt@sc3d.org> 708 709 * Fix minor error in file(1). 710 7112011-11-05 00:00 Reuben Thomas <rrt@sc3d.org> 712 713 * Fix issue #150 (I hope). 714 7152011-09-22 12:57 Christos Zoulas <christos@zoulas.com> 716 717 * Python3 binding fixes from Kelly Anderson 718 7192011-09-20 11:32 Christos Zoulas <christos@zoulas.com> 720 721 * If a string type magic entry is marked as text or binary 722 only match text files against text entries and binary 723 files against binary entries. 724 7252011-09-01 12:12 Christos Zoulas <christos@zoulas.com> 726 727 * Don't wait for any subprocess, just the one we forked. 728 7292011-08-26 16:40 Christos Zoulas <christos@zoulas.com> 730 731 * If the application name is not set in a cdf file, try to see 732 if it has a directory with the application name on it. 733 7342011-08-17 14:32 Christos Zoulas <christos@zoulas.com> 735 736 * Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza 737 7382011-08-14 09:03 Christos Zoulas <christos@zoulas.com> 739 740 * Don't use variable string formats. 741 7422011-07-12 12:32 Reuben Thomas <rrt@sc3d.org> 743 744 * Fix detection of Zip files (Mantis #128). 745 * Make some minor improvements to file(1). 746 * Rename MIME types for filesystem objects for consistency with 747 xdg-utils. Typically this means that application/x-foo becomes 748 inode/foo, but some names also change slightly, e.g. 749 application/x-character-device becomes inode/chardevice. 750 7512011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 752 753 * fix mingw compilation (Abradoks) 754 7552011-05-10 20:57 Christos Zoulas <christos@zoulas.com> 756 757 * remove patchlevel.h 758 * Fix read past allocated memory caused by double-incrementing 759 a pointer in a loop (reported by Roberto Maar) 760 7612011-03-30 15:45 Christos Zoulas <christos@zoulas.com> 762 763 * Fix cdf string buffer setting (Sven Anders) 764 7652011-03-20 16:35 Christos Zoulas <christos@zoulas.com> 766 767 * Eliminate MAXPATHLEN and use dynamic allocation for 768 path and file buffers. 769 7702011-03-15 18:15 Christos Zoulas <christos@zoulas.com> 771 772 * binary tests on magic entries with masks could spuriously 773 get converted to ascii. 774 7752011-03-12 18:06 Reuben Thomas <rrt@sc3d.org> 776 777 * Improve file.man (remove BUGS, present email addresses consistently). 778 7792011-03-07 19:38 Christos Zoulas <christos@zoulas.com> 780 781 * add lrzip support (from Ville Skytta) 782 7832011-02-10 16:36 Christos Zoulas <christos@zoulas.com> 784 785 * fix CDF bounds checking (Guy Helmer) 786 7872011-02-10 12:03 Christos Zoulas <christos@zoulas.com> 788 789 * add cdf_ctime() that prints a meaningful error when time cannot 790 be converted. 791 7922011-02-02 20:40 Christos Zoulas <christos@zoulas.com> 793 794 * help and version output to stdout. 795 796 * When matching softmagic for ascii files, don't just print 797 the softmagic classification, keep going and print the 798 text classification too. This fixes broken troff files when 799 we moved them from keyword recognition to softmagic 800 (they stopped printing "with CRLF" etc.) 801 Reported by Doug McIlroy. 802 8032011-01-16 19:31 Reuben Thomas <rrt@sc3d.org> 804 805 * Fix two potential buffer overruns in apprentice_list. 806 8072011-01-14 22:33 Reuben Thomas <rrt@sc3d.org> 808 809 * New Python binding in pure Python. 810 * Update libmagic(3). 811 8122011-01-06 21:40 Reuben Thomas <rrt@sc3d.org> 813 814 * Fix Python bindings (including recent Python 3 compatibility 815 update). 816 8172011-01-04 18:43 Reuben Thomas <rrt@sc3d.org> 818 819 * magic/Makefile.am: make it easier to recover from magic build failures. 820 * Fix pstring length specifier parsing to avoid generating invalid 821 magic files. 822 * Add pstring length "J" (for "JPEG") to specify that the length 823 include itself. 824 * Fix JPEG comment parsing at last using pstring/HJ! 825 * Ignore section 5 man pages in doc/.cvsignore. 826 8272010-12-22 13:12 Christos Zoulas <christos@zoulas.com> 828 829 * Add pstring/BHhLl to specify the type of the length of pascal 830 strings. 831 8322010-11-26 18:39 Reuben Thomas <rrt@sc3d.org> 833 834 * Fix "-e soft": it was ignored when softmagic was called 835 during asciimagic. 836 * Improve comments and use "unsigned char" in tar.h/is_tar.c. 837 8382010-11-05 17:26 Reuben Thomas <rrt@sc3d.org> 839 840 * Make bug reporting addresses more visible. 841 8422010-11-01 18:35 Reuben Thomas <rrt@sc3d.org> 843 844 * Add tcl magic from Gustaf Neumann 845 8462010-10-24 10:42 Christos Zoulas <christos@zoulas.com> 847 848 * Fix the whitespace comparing code (Christopher Chittleborough) 849 8502010-10-06 21:05 Christos Zoulas <christos@zoulas.com> 851 852 * allow string/t to work (Jan Kaluza) 853 8542010-09-20 22:11 Reuben Thomas <rrt@sc3d.org> 855 856 * Apply some patches from Ubuntu and Fedora. 857 8582010-09-20 21:16 Reuben Thomas <rrt@sc3d.org> 859 860 * Apply all patches from Debian package 5.04-6 which have not 861 already been applied and are not Debian-specific. 862 8632010-09-20 15:24 Reuben Thomas <rrt@sc3d.org> 864 865 * Minor security fix to softmagic.c (don't use untrusted 866 string as printf format). 867 8682010-07-21 12:20 Christos Zoulas <christos@zoulas.com> 869 870 * MINGW32 portability from LRN 871 872 * Don't warn about escaping magic regex chars when we are in a regex. 873 8742010-07-19 10:55 Christos Zoulas <christos@zoulas.com> 875 876 * Only try to print prpsinfo for core files. (Jan Kaluza) 877 8782010-04-22 12:55 Christos Zoulas <christos@zoulas.com> 879 880 * Try more elf offsets for Debian core files. (Arnaud Giersch) 881 8822010-02-20 15:18 Reuben Thomas <rrt@sc3d.org> 883 884 * Clarify which sort of CDF we mean. 885 8862010-02-14 22:58 Reuben Thomas <rrt@sc3d.org> 887 888 * Re-jig Zip file type magic so that unsupported special 889 Zip types (those with "mimetype" at offset 30) can be 890 recognized. 891 8922010-02-02 21:50 Reuben Thomas <rrt@sc3d.org> 893 894 * Add support for OCF (EPUB) files (application/epub+zip) 895 8962010-01-28 18:25 Christos Zoulas <christos@zoulas.com> 897 898 * Fix core-dump from unbound loop: 899 https://bugzilla.redhat.com/show_bug.cgi?id=533245 900 9012010-01-22 15:45 Christos Zoulas <christos@zoulas.com> 902 903 * print proper mime for crystal reports file 904 905 * print the last summary information of a cdf document, not the 906 first so that nested documents print the right info 907 9082010-01-16 18:42 Charles Longeau <chl@tuxfamily.org> 909 910 * bring back some fixes from OpenBSD: 911 - make gcc2 builds file 912 - fix typos in a magic file comment 913 9142009-11-17 18:35 Christos Zoulas <christos@zoulas.com> 915 916 * ctime/asctime can return NULL on some OS's although 917 they should not (Toshit Antani) 918 9192009-09-14 13:49 Christos Zoulas <christos@zoulas.com> 920 921 * Centralize magic path handling routines and remove the 922 special-casing from file.c so that the python module for 923 example comes up with the same magic path (Fixes ~/.magic 924 handling) (from Gab) 925 9262009-09-11 23:38 Reuben Thomas <rrt@sc3d.org> 927 928 * When magic argument is a directory, read the files in 929 strcmp-sorted order (fixes Debian bug #488562 and our own FIXME). 930 9312009-09-11 13:11 Reuben Thomas <rrt@sc3d.org> 932 933 * Combine overlapping epoc and psion magic files into one (epoc). 934 935 * Add some more EPOC MIME types. 936 9372009-08-19 15:55 Christos Zoulas <christos@zoulas.com> 938 939 * Fix 3 bugs (From Ian Darwin): 940 - file_showstr could move one past the end of the array 941 - parse_apple did not nul terminate the string in the overflow case 942 - parse_mime truncated the wrong string in the overflow case 943 9442009-08-12 12:28 Robert Byrnes <byrnes@wildpumpkin.net> 945 946 * Include Localstuff when compiling magic. 947 9482009-07-15 10:05 Christos Zoulas <christos@zoulas.com> 949 950 * Fix logic for including mygetopts.h 951 952 * Make cdf.c compile again with debugging 953 954 * Add the necessary field handling for crystal reports files to work 955 9562009-06-23 01:34 Reuben Thomas <rrt@sc3d.org> 957 958 * Stop "(if" identifying Lisp files, that's plain dumb! 959 9602009-06-09 22:13 Reuben Thomas <rrt@sc3d.org> 961 962 * Add a couple of missing MP3 MIME types. 963 9642009-05-27 23:00 Reuben Thomas <rrt@sc3d.org> 965 966 * Add full range of hash-bang tests for Python and Ruby. 967 968 * Add MIME types for Python and Ruby scripts. 969 9702009-05-13 10:44 Christos Zoulas <christos@zoulas.com> 971 972 * off by one in parsing hw capabilities in elf 973 (Cheng Renquan) 974 9752009-05-08 13:40 Christos Zoulas <christos@zoulas.com> 976 977 * lint fixes and more from NetBSD 978 9792009-05-06 10:25 Christos Zoulas <christos@zoulas.com> 980 981 * Avoid null dereference in cdf code (Drew Yao) 982 983 * More cdf bounds checks and overflow checks 984 9852009-05-01 18:37 Christos Zoulas <christos@zoulas.com> 986 987 * Buffer overflow fixes from Drew Yao 988 9892009-04-30 17:10 Christos Zoulas <christos@zoulas.com> 990 991 * Fix more cdf lossage. All the documents I have 992 right now print the correct information. 993 9942009-03-27 18:43 Christos Zoulas <christos@zoulas.com> 995 996 * don't print \012- separators in the same magic entry 997 if it consists of multiple magic printing lines. 998 9992009-03-23 10:20 Christos Zoulas <christos@zoulas.com> 1000 1001 * Avoid file descriptor leak in compress code from 1002 (Daniel Novotny) 1003 10042009-03-18 16:50 Christos Zoulas <christos@zoulas.com> 1005 1006 * Allow escaping of relation characters, so that we can say \^[A-Z] 1007 and the ^ is not eaten as a relation char. 1008 1009 * Fix troff and fortran to their previous glory using 1010 regex. This was broken since their removel from ascmagic. 1011 10122009-03-10 16:50 Christos Zoulas <christos@zoulas.com> 1013 1014 * don't use strlen in strndup() (Toby Peterson) 1015 10162009-03-10 7:45 Christos Zoulas <christos@zoulas.com> 1017 1018 * avoid c99 syntax. 1019 10202009-02-23 15:45 Christos Zoulas <christos@zoulas.com> 1021 1022 * make the cdf code use the buffer first if available, 1023 and then the fd code. 1024 10252009-02-13 13:45 Christos Zoulas <christos@zoulas.com> 1026 1027 * look for struct option to determine if getopt.h is usable for IRIX. 1028 1029 * sanitize cdf document strings 1030 10312009-02-04 13:25 Christos Zoulas <christos@zoulas.com> 1032 1033 * fix OS/2 warnings. 1034 10352008-12-12 15:50 Christos Zoulas <christos@zoulas.com> 1036 1037 * fix initial offset calculation for non 4K sector files 1038 1039 * add loop limits to avoid DoS attacks by constructing 1040 looping sector references. 1041 10422008-12-03 13:05 Christos Zoulas <christos@zoulas.com> 1043 1044 * fix memory botches on cdf file parsing. 1045 1046 * exit with non-zero value for any error, not just for the last 1047 file processed. 1048 10492008-11-09 20:42 Charles Longeau <chl@tuxfamily.org> 1050 1051 * Replace all str{cpy,cat} functions with strl{cpy,cat} 1052 * Ensure that strl{cpy,cat} are included in libmagic, 1053 as needed. 1054 10552008-11-06 18:18 Christos Zoulas <christos@zoulas.com> 1056 1057 * Handle ID3 format files. 1058 10592008-11-06 23:00 Reuben Thomas <rrt@sc3d.org> 1060 1061 * Fix --mime, --mime-type and --mime-encoding under new scheme. 1062 1063 * Rename "ascii" to "text" and add "encoding" test. 1064 1065 * Return a precise ("utf-16le" or "utf-16be") MIME charset for 1066 UTF-16. 1067 1068 * Fix error in comment caused by automatic indentation adding 1069 words! 1070 10712008-11-06 10:35 Christos Zoulas <christos@astron.com> 1072 1073 * use memchr instead of strchr because the string 1074 might not be NUL terminated (Scott MacVicar) 1075 10762008-11-03 07:31 Reuben Thomas <rrt@sc3d.org> 1077 1078 * Fix a printf with a non-literal format string. 1079 1080 * Fix formatting and punctuation of help for "--apple". 1081 10822008-10-30 11:00 Reuben Thomas <rrt@sc3d.org> 1083 1084 * Correct words counts in comments of struct magic. 1085 1086 * Fix handle_annotation to allow both Apple and MIME types to be 1087 printed, and to return correct code if MIME type is 1088 printed (1, not 0) or if there's an error (-1 not 1). 1089 1090 * Fix output of charset for MIME type (precede with semi-colon; 1091 fixes Debian bug #501460). 1092 1093 * Fix potential attacks via conversion specifications in magic 1094 strings. 1095 1096 * Add a FIXME for Debian bug #488562 (magic files should be 1097 read in a defined order, by sorting the names). 1098 10992008-10-18 16:45 Christos Zoulas <christos@astron.com> 1100 1101 * Added APPLE file creator/type 1102 11032008-10-12 10:20 Christos Zoulas <christos@astron.com> 1104 1105 * Added CDF parsing 1106 11072008-10-09 16:40 Christos Zoulas <christos@astron.com> 1108 1109 * filesystem and msdos patches (Joerg Jenderek) 1110 11112008-10-09 13:20 Christos Zoulas <christos@astron.com> 1112 1113 * correct --exclude documentation issues: remove troff and fortran 1114 and rename "token" to "tokens". (Randy McMurchy) 1115 11162008-10-01 10:30 Christos Zoulas <christos@astron.com> 1117 1118 * Read ~/.magic in addition to the default magic file not instead 1119 of, as documented in the man page. 1120 11212008-09-10 21:30 Reuben Thomas <rrt@sc3d.org> 1122 1123 * Comment out graphviz patterns, as they match too many files. 1124 11252008-08-30 12:54 Christos Zoulas <christos@astron.com> 1126 1127 * Don't eat trailing \n in magic enties. 1128 1129 * Cast defines to allow compilation using a c++ compiler. 1130 11312008-08-25 23:56 Reuben Thomas <rrt@sc3d.org> 1132 1133 * Add text/x-lua MIME type for Lua scripts. 1134 1135 * Escape { in regex in graphviz patterns. 1136 11372008-07-26 00:59 Reuben Thomas <rrt@sc3d.org> 1138 1139 * Add MIME types for special files. 1140 1141 * Use access to give more accurate information for files that 1142 can't be opened. 1143 1144 * Add a TODO list. 1145 11462008-07-02 11:15 Christos Zoulas <christos@astron.com> 1147 1148 * add !:strength op to adjust magic strength (experimental) 1149 11502008-06-16 21:41 Reuben Thomas <rrt@sc3d.org> 1151 1152 * Fix automake error in configure.ac. 1153 1154 * Add MIME type for Psion Sketch files. 1155 11562008-06-05 08:59 Christos Zoulas <christos@astron.com> 1157 1158 * Don't print warnings about bad namesize in stripped 1159 binaries with PT_NOTE is still there, and the actual 1160 note is gone (Jakub Jelinek) 1161 11622008-05-28 15:12 Robert Byrnes <byrnes@wildpumpkin.net> 1163 1164 * magic/Magdir/elf: 1165 Note invalid byte order for little-endian SPARC32PLUS. 1166 Add SPARC V9 vendor extensions and memory model. 1167 1168 * src/elfclass.h: 1169 Pass target machine to doshn (for Solaris hardware capabilities). 1170 1171 * src/readelf.c (doshn): 1172 Add support for Solaris hardware/software capabilities. 1173 1174 * src/readelf.h: 1175 Ditto. 1176 1177 * src/vasprintf.c (dispatch): 1178 Add support for ll modifier. 1179 11802008-05-16 10:25 Christos Zoulas <christos@astron.com> 1181 1182 * Fix compiler warnings. 1183 1184 * remove stray printf, and fix a vprintf bug. (Martin Dorey) 1185 11862008-05-06 00:13 Robert Byrnes <byrnes@wildpumpkin.net> 1187 1188 * src/Makefile.am: 1189 Ensure that getopt_long and [v]asprintf are included in libmagic, 1190 as needed. 1191 1192 Remove unnecessary EXTRA_DIST. 1193 1194 * src/Makefile.in: 1195 Rerun automake. 1196 1197 * src/vasprintf.c (dispatch): 1198 Fix variable precision bug: be sure to step past '*'. 1199 1200 * src/vasprintf.c (core): 1201 Remove unreachable code. 1202 1203 * src/apprentice.c (set_test_type): 1204 Add cast to avoid compiler warning. 1205 12062008-04-22 23:45 Christos Zoulas <christos@astron.com> 1207 1208 * Add magic submission guidelines (Abel Cheung) 1209 1210 * split msdos and windows magic (Abel Cheung) 1211 12122008-04-04 11:00 Christos Zoulas <christos@astron.com> 1213 1214 * >= <= is not supported, so fix the magic and warn about it. 1215 reported by: Thien-Thi Nguyen <ttn@gnuvola.org> 1216 12172008-03-27 16:16 Robert Byrnes <byrnes@wildpumpkin.net> 1218 1219 * src/readelf.c (donote): 1220 ELF core file command name/line bug fixes and enhancements: 1221 1222 Try larger offsets first to avoid false matches 1223 from earlier data that happen to look like strings; 1224 this primarily affected SunOS 5.x 32-bit Intel core files. 1225 1226 Add support for command line (instead of just short name) 1227 for SunOS 5.x. 1228 1229 Add information about NT_PSINFO for SunOS 5.x. 1230 1231 Only trim whitespace from end of command line. 1232 12332007-02-11 01:36 Reuben Thomas <rrt@sc3d.org> 1234 1235 * Change strength of ! from MULT to 0, as it matches almost 1236 anything (Reuben Thomas) 1237 1238 * Debian fixes (Reuben Thomas) 1239 12402007-02-11 00:17 Reuben Thomas <rrt@sc3d.org> 1241 1242 * Clarify UTF-8 BOM message (Reuben Thomas) 1243 1244 * Add HTML comment to token list in names.h 1245 12462007-02-04 15:50 Christos Zoulas <christos@astron.com> 1247 1248 * Debian fixes (Reuben Thomas) 1249 12502007-02-04 11:31 Christos Zoulas <christos@astron.com> 1251 1252 * !:mime annotations in magic files (Reuben Thomas) 1253 12542007-01-29 15:35 Christos Zoulas <christos@astron.com> 1255 1256 * zero out utime/utimes structs (Gavin Atkinson) 1257 12582007-01-26 13:45 Christos Zoulas <christos@astron.com> 1259 1260 * reduce writable data from Diego "Flameeyes" Petten 1261 12622007-12-28 15:06 Christos Zoulas <christos@astron.com> 1263 1264 * strtof detection 1265 1266 * remove bogus regex magic that could cause a DoS 1267 1268 * better mismatch version message 1269 12702007-12-27 11:35 Christos Zoulas <christos@astron.com> 1271 1272 * bring back some fixes from OpenBSD 1273 1274 * treat ELF dynamic objects as executables 1275 1276 * fix gcc warnings 1277 12782007-12-01 19:55 Christos Zoulas <christos@astron.com> 1279 1280 * make sure we have zlib.h and libz to compile the builtin 1281 decompress code 1282 12832007-10-28 20:48 Christos Zoulas <christos@astron.com> 1284 1285 * float and double magic support (Behan Webster) 1286 12872007-10-28 20:48 Christos Zoulas <christos@astron.com> 1288 1289 * Convert fortran to a soft test (Reuben Thomas) 1290 12912007-10-23 5:25 Christos Zoulas <christos@astron.com> 1292 1293 * Add --with-filename, and --no-filename (Reuben Thomas) 1294 12952007-10-23 3:59 Christos Zoulas <christos@astron.com> 1296 1297 * Rest of the mime split (Reuben Thomas) 1298 1299 * Make usage message generated from the flags so that 1300 they stay consistent (Reuben Thomas) 1301 13022007-10-20 3:06 Christos Zoulas <christos@astron.com> 1303 1304 * typo in comment, missing ifdef QUICK, remove unneeded code 1305 (Charles Longeau) 1306 13072007-10-17 3:33 Christos Zoulas <christos@astron.com> 1308 1309 * Fix problem printing -\012 in some entries 1310 1311 * Separate magic type and encoding flags (Reuben Thomas) 1312 13132007-10-09 3:55 Christos Zoulas <christos@astron.com> 1314 1315 * configure fix for int64 and strndup (Reuben Thomas) 1316 13172007-09-26 4:45 Christos Zoulas <christos@astron.com> 1318 1319 * Add magic_descriptor() function. 1320 1321 * Fix regression in elf reading code where the core name was 1322 not being printed. 1323 1324 * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) 1325 13262007-08-19 6:30 Christos Zoulas <christos@astron.com> 1327 1328 * Make mime format consistent so that it can 1329 be easily parsed: 1330 mimetype [charset=character-set] [encoding=encoding-mime-type] 1331 1332 Remove spurious extra text from some MIME type printouts 1333 (mostly in is_tar). 1334 1335 Fix one case where -i produced nothing at all (for a 1-byte file, 1336 which is now classed as application/octet-stream). 1337 1338 Remove 7/8bit classifications, since they were arbitrary 1339 and not based on the file data. 1340 1341 This work was done by Reuben Thomas 1342 13432007-05-24 10:00 Christos Zoulas <christos@astron.com> 1344 1345 * Fix another integer overflow (Colin Percival) 1346 13472007-03-26 13:58 Christos Zoulas <christos@astron.com> 1348 1349 * make sure that all of struct magic_set is initialized appropriately 1350 (Brett) 1351 13522007-03-25 17:44 Christos Zoulas <christos@astron.com> 1353 1354 * reset left bytes in the buffer (Dmitry V. Levin) 1355 1356 * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS 1357 (Peter Avalos) 1358 13592007-03-15 10:51 Christos Zoulas <christos@astron.com> 1360 1361 * fix fortran and nroff reversed tests (Dmitry V. Levin) 1362 1363 * fix exclude option (Dmitry V. Levin) 1364 13652007-02-08 17:30 Christos Zoulas <christos@astron.com> 1366 1367 * fix integer underflow in file_printf which can lead to 1368 to exploitable heap overflow (Jean-Sebastien Guay-Lero) 1369 13702007-02-05 11:35 Christos Zoulas <christos@astron.com> 1371 1372 * make socket/pipe reading more robust 1373 13742007-01-25 16:01 Christos Zoulas <christos@astron.com> 1375 1376 * Centralize all the tests in file_buffer. 1377 1378 * Add exclude flag. 1379 13802007-01-18 05:29 Anon Ymous <do@not.spam.me> 1381 1382 * Move the "type" detection code from parse() into its own table 1383 driven routine. This avoids maintaining multiple lists in 1384 file.h. 1385 1386 * Add an optional conditional field (ust before the type field). 1387 This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is 1388 likely to go away. 1389 13902007-01-16 23:24 Anon Ymous <do@not.spam.me> 1391 1392 * Fix an initialization bug in check_mem(). 1393 13942007-01-16 14:58 Anon Ymous <do@not.spam.me> 1395 1396 * Add a "default" type to print a message if nothing previously 1397 matched at that level or since the last default at that 1398 level. This is useful for setting up switch-like statements. 1399 It can also be used to do if/else constructions without a 1400 redundant second test. 1401 1402 * Fix the "x" special case test so that one can test for that 1403 string with "=x". 1404 1405 * Allow "search" to search the entire buffer if the "/N" 1406 search count is missing. 1407 1408 * Make "regex" work! It now starts its search at the 1409 specified offset and takes an (optional) "/N" line count to 1410 specify the search range; otherwise it searches to the end 1411 of the file. The match is now grabbed correctly for format 1412 strings and the offset set to the end of the match. 1413 1414 * Add a "/s" flag to "regex" and "search" to set the offset to 1415 the start of the match. By default the offset is set to the 1416 end of the match, as it is with other tests. This is mostly 1417 useful for "regex". 1418 1419 * Make "search", "string" and "pstring" use the same 1420 file_strncmp() routine so that they support the same flags; 1421 "bestring16" and "lestring16" call the same routine, but 1422 with flags = 0. Also add a "/C" flag (in analogy to "/c") 1423 to ignore the case on uppercase (lowercase) characters in 1424 the test string. 1425 1426 * Strict adherence to C style string escapes. A warnings are 1427 printed when compiling. Note: previously "\a" was 1428 incorrectly translated to 'a' instead of an <alert> (i.e., 1429 BELL, typically 0x07). 1430 1431 * Make this compile with "-Wall -Wextra" and all the warning 1432 flags used with WARNS=4 in the NetBSD source. Also make it 1433 pass lint. 1434 1435 * Many "cleanups" and hopefully not too many new bugs! 1436 14372007-01-16 14:56 Anon Ymous <do@not.spam.me> 1438 1439 * make several more files compile with gcc warnings 1440 on and also make them pass lint. 1441 14422007-01-16 14:54 Anon Ymous <do@not.spam.me> 1443 1444 * fix a puts()/putc() usage goof in file.c 1445 1446 * make file.c compile with gcc warnings and pass lint 1447 14482006-12-11 16:49 Christos Zoulas <christos@astron.com> 1449 1450 * fix byteswapping issue 1451 1452 * report the number of bytes we tried to 1453 allocate when allocation fails 1454 1455 * add a few missed cases in the strength routine 1456 14572006-12-08 16:32 Christos Zoulas <christos@astron.com> 1458 1459 * store and print the line number of the magic 1460 entry for debugging. 1461 1462 * if the magic entry did not print anything, 1463 don't treat it as a match 1464 1465 * change the magic strength algorithm to take 1466 into account the relationship op. 1467 1468 * fix a bug in search where we could accidentally 1469 return a match. 1470 1471 * propagate the error return from match to 1472 file_softmagic. 1473 14742006-11-25 13:35 Christos Zoulas <christos@astron.com> 1475 1476 * Don't store the current offset in the magic 1477 struct, because it needs to be restored and 1478 it was not done properly all the time. Bug 1479 found by: Arkadiusz Miskiewicz 1480 1481 * Fix problem in the '\0' separator; and don't 1482 print it as an additional separator; print 1483 it as the only separator. 1484 14852006-11-17 10:51 Christos Zoulas <christos@astron.com> 1486 1487 * Added a -0 option to print a '\0' separator 1488 Etienne Buira <etienne.buira@free.fr> 1489 14902006-10-31 15:14 Christos Zoulas <christos@astron.com> 1491 1492 * Check offset before copying (Mike Frysinger) 1493 1494 * merge duplicated code 1495 1496 * add quad date support 1497 1498 * make sure that we nul terminate desc (Ryoji Kanai) 1499 1500 * don't process elf notes multiple times 1501 1502 * allow -z to report empty compressed files 1503 1504 * use calloc to initialize the ascii buffers (Jos van den Oever) 1505 15062006-06-08 11:11 Christos Zoulas <christos@astron.com> 1507 1508 * QNX fixes (Mike Gorchak) 1509 1510 * Add quad support. 1511 1512 * FIFO checks (Dr. Werner Fink) 1513 1514 * Linux ELF fixes (Dr. Werner Fink) 1515 1516 * Magic format checks (Dr. Werner Fink) 1517 1518 * Magic format function improvent (Karl Chen) 1519 15202006-05-03 11:11 Christos Zoulas <christos@astron.com> 1521 1522 * Pick up some elf changes and some constant fixes from SUSE 1523 1524 * Identify gnu tar vs. posix tar 1525 1526 * When keep going, don't print spurious newlines (Radek Vokal) 1527 15282006-04-01 12:02 Christos Zoulas <christos@astron.com> 1529 1530 * Use calloc instead of malloc (Mike Frysinger) 1531 1532 * Fix configure script to detect wctypes.h (Mike Frysinger) 1533 15342006-03-02 16:06 Christos Zoulas <christos@astron.com> 1535 1536 * Print empty if the file is (Mike Frysinger) 1537 1538 * Don't try to read past the end of the buffer (Mike Frysinger) 1539 1540 * Sort magic entries by strength [experimental] 1541 15422005-11-29 13:26 Christos Zoulas <christos@astron.com> 1543 1544 * Use iswprint() to convert the output string. 1545 (Bastien Nocera) 1546 15472005-10-31 8:54 Christos Zoulas <christos@astron.com> 1548 1549 * Fix regression where the core info was not completely processed 1550 (Radek Vokal) 1551 15522005-10-20 11:15 Christos Zoulas <christos@astron.com> 1553 1554 * Middle Endian magic (Diomidis Spinellis) 1555 15562005-10-17 11:15 Christos Zoulas <christos@astron.com> 1557 1558 * Open with O_BINARY for CYGWIN (Corinna Vinschen) 1559 1560 * Don't close stdin (Arkadiusz Miskiewicz) 1561 1562 * Look for note sections in non executables. 1563 15642005-09-20 13:33 Christos Zoulas <christos@astron.com> 1565 1566 * Don't print SVR4 Style in core files multiple times 1567 (Radek Vokal) 1568 15692005-08-27 04:09 Christos Zoulas <christos@astron.com> 1570 1571 * Cygwin changes Corinna Vinschen 1572 15732005-08-18 09:53 Christos Zoulas <christos@astron.com> 1574 1575 * Remove erroreous mention of /etc/magic in the file man page 1576 This is gentoo bug 101639. (Mike Frysinger) 1577 1578 * Cross-compile support and detection (Mike Frysinger) 1579 15802005-08-12 10:17 Christos Zoulas <christos@astron.com> 1581 1582 * Add -h flag and dereference symlinks if POSIXLY_CORRECT 1583 is set. 1584 15852005-07-29 13:57 Christos Zoulas <christos@astron.com> 1586 1587 * Avoid search and regex buffer overflows (Kelledin) 1588 15892005-07-12 11:48 Christos Zoulas <christos@astron.com> 1590 1591 * Provide stub implementations for {v,}nsprintf() for older 1592 OS's that don't have them. 1593 * Change mbstate_t autoconf detection macro from AC_MBSTATE_T 1594 to AC_TYPE_MBSTATE_T. 1595 15962005-06-25 11:48 Christos Zoulas <christos@astron.com> 1597 1598 * Dynamically allocate the string buffers and make the 1599 default read size 256K. 1600 16012005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de> 1602 1603 * Dragonfly ELF note support 1604 16052005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it> 1606 1607 * Avoid NULL pointer dereference in time conversion. 1608 16092005-03-06 00:00 Joerg Walter <jwalt@mail.garni.ch> 1610 1611 * Add indirect magic offset support, and search mode. 1612 16132005-01-12 00:00 Stepan Kasal <kasal@ucw.cz> 1614 1615 * src/ascmagic.c (file_ascmagic): Fix three bugs about text files: 1616 If a CRLF text file happens to have CR at offset HOWMANY - 1 1617 (currently 0xffff), it should not be counted as CR line 1618 terminator. 1619 If a line has length exactly MAXLINELEN, it should not yet be 1620 treated as a ``very long line'', as MAXLINELEN is ``longest sane 1621 line length''. 1622 With CRLF, the line length was not computed correctly, and even 1623 lines of length MAXLINELEN - 1 were treated as ``very long''. 1624 16252004-12-07 14:15 Christos Zoulas <christos@astron.com> 1626 1627 * bzip2 needs a lot of input buffer space on some files 1628 before it can begin uncompressing. This makes file -z 1629 fail on some bz2 files. Fix it by giving it a copy of 1630 the file descriptor to read as much as it wants if we 1631 have access to it. <christos@astron.com> 1632 16332004-11-24 12:39 Christos Zoulas <christos@astron.com> 1634 1635 * Stack smash fix, and ELF more conservative reading. 1636 Jakub Bogusz <qboosh@pld-linux.org> 1637 16382004-11-20 18:50 Christos Zoulas <christos@astron.com> 1639 1640 * New FreeBSD version parsing code: 1641 Jon Noack <noackjr@alumni.rice.edu> 1642 1643 * Hackish support for ucs16 strings <christos@astron.com> 1644 16452004-11-13 03:07 Christos Zoulas <christos@astron.com> 1646 1647 * print the file name and line number in syntax errors. 1648 16492004 10-12 10:50 Christos Zoulas <christos@astron.com> 1650 1651 * Fix stack overwriting on 0 length strings: Tim Waugh 1652 <twaugh@redhat.com> Ned Ludd <solar@gentoo.org> 1653 16542004-09-27 11:30 Christos Zoulas <christos@astron.com> 1655 1656 * Remove 3rd and 4th copyright clause; approved by Ian Darwin. 1657 1658 * Fix small memory leaks; caught by: Tamas Sarlos 1659 <stamas@csillag.ilab.sztaki.hu> 1660 16612004-07-24 16:33 Christos Zoulas <christos@astron.com> 1662 1663 * magic.mime update Danny Milosavljevic <danny.milo@gmx.net> 1664 1665 * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com> 1666 1667 * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com> 1668 1669 * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org> 1670 16712004-04-12 10:55 Christos Zoulas <christos@astron.com> 1672 1673 * make sure that magic formats match magic types during compilation 1674 1675 * fix broken sgi magic file 1676 16772004-04-06 20:36 Christos Zoulas <christos@astron.com> 1678 1679 * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com> 1680 1681 * magic fixes 1682 16832004-03-22 15:25 Christos Zoulas <christos@astron.com> 1684 1685 * Lots of mime fixes 1686 (Joerg Ostertag) <ostertag@rechengilde.de> 1687 1688 * FreeBSD ELF version handling 1689 (Edwin Groothuis) <edwin@mavetju.org> 1690 1691 * correct cleanup in all cases; don't just close the file. 1692 (Christos Zoulas) <christos@astron.com> 1693 1694 * add gettext message catalogue support 1695 (Michael Piefel) <piefel@debian.org> 1696 1697 * better printout for unreadable files 1698 (Michael Piefel) <piefel@debian.org> 1699 1700 * compensate for missing MAXPATHLEN 1701 (Michael Piefel) <piefel@debian.org> 1702 1703 * add wide character string length computation 1704 (Michael Piefel) <piefel@debian.org> 1705 1706 * Avoid infinite loops caused by bad elf alignments 1707 or name and description note sizes. Reported by 1708 (Mikael Magnusson) <mmikael@comhem.se> 1709 17102004-03-09 13:55 Christos Zoulas <christos@astron.com> 1711 1712 * Fix possible memory leak on error and add missing regfree 1713 (Dmitry V. Levin) <ldv@altlinux.org> 1714 17152003-12-23 12:12 Christos Zoulas <christos@astron.com> 1716 1717 * fix -k flag (Maciej W. Rozycki) 1718 17192003-11-18 14:10 Christos Zoulas <christos@astron.com> 1720 1721 * Try to give us much info as possible on corrupt elf files. 1722 (Willy Tarreau) <willy@w.ods.org> 1723 * Updated python bindings (Brett Funderburg) 1724 <brettf@deepfile.com> 1725 17262003-11-11 15:03 Christos Zoulas <christos@astron.com> 1727 1728 * Include file.h first, because it includes config.h 1729 breaks largefile test macros otherwise. 1730 (Paul Eggert <eggert@CS.UCLA.EDU> via 1731 Lars Hecking <lhecking@nmrc.ie>) 1732 17332003-10-14 21:39 Christos Zoulas <christos@astron.com> 1734 1735 * Python bindings (Brett Funderburg) <brettf@deepfile.com> 1736 * Don't lookup past the end of the buffer 1737 (Chad Hanson) <chanson@tcs-sec.com> 1738 * Add MAGIC_ERROR and api on magic_errno() 1739 17402003-10-08 12:40 Christos Zoulas <christos@astron.com> 1741 1742 * handle error conditions from compile as fatal 1743 (Antti Kantee) <pooka@netbsd.org> 1744 * handle magic filename parsing sanely 1745 * more magic fixes. 1746 * fix a memory leak (Illes Marton) <illes.marton@balabit.hu> 1747 * describe magic file handling 1748 (Bryan Henderson) <bryanh@giraffe-data.com> 1749 17502003-09-12 15:09 Christos Zoulas <christos@astron.com> 1751 1752 * update magic files. 1753 * remove largefile support from file.h; it breaks things on most OS's 1754 17552003-08-10 10:25 Christos Zoulas <christos@astron.com> 1756 1757 * fix unmapping'ing of mmaped files. 1758 17592003-07-10 12:03 Christos Zoulas <christos@astron.com> 1760 1761 * don't exit with -1 on error; always exit 1 (Marty Leisner) 1762 * restore utimes code. 1763 17642003-06-10 17:03 Christos Zoulas <christos@astron.com> 1765 1766 * make sure we don't access uninitialized memory. 1767 * pass lint 1768 * #ifdef __cplusplus in magic.h 1769 17702003-05-25 19:23 Christos Zoulas <christos@astron.com> 1771 1772 * rename cvs magic file to revision to deal with 1773 case insensitive filesystems. 1774 17752003-05-23 17:03 Christos Zoulas <christos@astron.com> 1776 1777 * documentation fixes from Michael Piefel <piefel@debian.org> 1778 * magic fixes (various) 1779 * revert basename magic in .mgc name determination 1780 * buffer protection in uncompress, 1781 signness issues, 1782 close files 1783 Maciej W. Rozycki <macro@ds2.pg.gda.pl 1784 17852003-04-21 20:12 Christos Zoulas <christos@astron.com> 1786 1787 * fix zsh magic 1788 17892003-04-04 16:59 Christos Zoulas <christos@astron.com> 1790 1791 * fix operand sort order in string. 1792 17932003-04-02 17:30 Christos Zoulas <christos@astron.com> 1794 1795 * cleanup namespace in magic.h 1796 17972003-04-02 13:50 Christos Zoulas <christos@astron.com> 1798 1799 * Magic additions (Alex Ott) 1800 * Fix bug that broke VPATH compilation (Peter Breitenlohner) 1801 18022003-03-28 16:03 Christos Zoulas <christos@astron.com> 1803 1804 * remove packed attribute from magic struct. 1805 * make the magic struct properly aligned. 1806 * bump version number of compiled files to 2. 1807 18082003-03-27 13:10 Christos Zoulas <christos@astron.com> 1809 1810 * separate tar detection and run it before softmagic. 1811 * fix reversed symlink test. 1812 * fix version printing. 1813 * make separator a string instead of a char. 1814 * update manual page and sort options. 1815 18162003-03-26 11:00 Christos Zoulas <christos@astron.com> 1817 1818 * Pass lint 1819 * make NULL in magic_file mean stdin 1820 * Fix "-" argument to file to pass NULL to magic_file 1821 * avoid pointer casts by using memcpy 1822 * rename magic_buf -> magic_buffer 1823 * keep only the first error 1824 * manual page: new sentence, new line 1825 * fix typo in api function (magic_buf -> magic_buffer) 1826