12008-08-30 12:54 Christos Zoulas <christos@astron.com> 2 3 * Don't eat trailing \n in magic enties. 4 5 * Cast defines to allow compilation using a c++ compiler. 6 72008-07-26 00:59 Reuben Thomas <rrt@sc3d.org> 8 9 * Add MIME types for special files. 10 11 * Use access to give more accurate information for files that 12 can't be opened. 13 14 * Add a TODO list. 15 162008-07-02 11:15 Christos Zoulas <christos@astron.com> 17 18 * add !:strength op to adjust magic strength (experimental) 19 202008-06-16 21:41 Reuben Thomas <rrt@sc3d.org> 21 22 * Fix automake error in configure.ac. 23 24 * Add MIME type for Psion Sketch files. 25 262008-06-05 08:59 Christos Zoulas <christos@astron.com> 27 28 * Don't print warnings about bad namesize in stripped 29 binaries with PT_NOTE is still there, and the actual 30 note is gone (Jakub Jelinek) 31 322008-05-28 15:12 Robert Byrnes <byrnes@wildpumpkin.net> 33 34 * magic/Magdir/elf: 35 Note invalid byte order for little-endian SPARC32PLUS. 36 Add SPARC V9 vendor extensions and memory model. 37 38 * src/elfclass.h: 39 Pass target machine to doshn (for Solaris hardware capabilities). 40 41 * src/readelf.c (doshn): 42 Add support for Solaris hardware/software capabilities. 43 44 * src/readelf.h: 45 Ditto. 46 47 * src/vasprintf.c (dispatch): 48 Add support for ll modifier. 49 502008-05-16 10:25 Christos Zoulas <christos@astron.com> 51 52 * Fix compiler warnings. 53 54 * remove stray printf, and fix a vprintf bug. (Martin Dorey) 55 562008-05-06 00:13 Robert Byrnes <byrnes@wildpumpkin.net> 57 58 * src/Makefile.am: 59 Ensure that getopt_long and [v]asprintf are included in libmagic, 60 as needed. 61 62 Remove unnecessary EXTRA_DIST. 63 64 * src/Makefile.in: 65 Rerun automake. 66 67 * src/vasprintf.c (dispatch): 68 Fix variable precision bug: be sure to step past '*'. 69 70 * src/vasprintf.c (core): 71 Remove unreachable code. 72 73 * src/apprentice.c (set_test_type): 74 Add cast to avoid compiler warning. 75 762008-04-22 23:45 Christos Zoulas <christos@astron.com> 77 78 * Add magic submission guidelines (Abel Cheung) 79 80 * split msdos and windows magic (Abel Cheung) 81 822008-04-04 11:00 Christos Zoulas <christos@astron.com> 83 84 * >= <= is not supported, so fix the magic and warn about it. 85 reported by: Thien-Thi Nguyen <ttn@gnuvola.org> 86 872008-03-27 16:16 Robert Byrnes <byrnes@wildpumpkin.net> 88 89 * src/readelf.c (donote): 90 ELF core file command name/line bug fixes and enhancements: 91 92 Try larger offsets first to avoid false matches 93 from earlier data that happen to look like strings; 94 this primarily affected SunOS 5.x 32-bit Intel core files. 95 96 Add support for command line (instead of just short name) 97 for SunOS 5.x. 98 99 Add information about NT_PSINFO for SunOS 5.x. 100 101 Only trim whitespace from end of command line. 102 1032007-02-11 01:36 Reuben Thomas <rrt@sc3d.org> 104 105 * Change strength of ! from MULT to 0, as it matches almost 106 anything (Reuben Thomas) 107 108 * Debian fixes (Reuben Thomas) 109 1102007-02-11 00:17 Reuben Thomas <rrt@sc3d.org> 111 112 * Clarify UTF-8 BOM message (Reuben Thomas) 113 114 * Add HTML comment to token list in names.h 115 1162007-02-04 15:50 Christos Zoulas <christos@astron.com> 117 118 * Debian fixes (Reuben Thomas) 119 1202007-02-04 11:31 Christos Zoulas <christos@astron.com> 121 122 * !:mime annotations in magic files (Reuben Thomas) 123 1242007-01-29 15:35 Christos Zoulas <christos@astron.com> 125 126 * zero out utime/utimes structs (Gavin Atkinson) 127 1282007-01-26 13:45 Christos Zoulas <christos@astron.com> 129 130 * reduce writable data from Diego "Flameeyes" Petten 131 1322007-12-28 15:06 Christos Zoulas <christos@astron.com> 133 134 * strtof detection 135 136 * remove bogus regex magic that could cause a DoS 137 138 * better mismatch version message 139 1402007-12-27 11:35 Christos Zoulas <christos@astron.com> 141 142 * bring back some fixes from OpenBSD 143 144 * treat ELF dynamic objects as executables 145 146 * fix gcc warnings 147 1482007-12-01 19:55 Christos Zoulas <christos@astron.com> 149 150 * make sure we have zlib.h and libz to compile the builtin 151 decompress code 152 1532007-10-28 20:48 Christos Zoulas <christos@astron.com> 154 155 * float and double magic support (Behan Webster) 156 1572007-10-28 20:48 Christos Zoulas <christos@astron.com> 158 159 * Convert fortran to a soft test (Reuben Thomas) 160 1612007-10-23 5:25 Christos Zoulas <christos@astron.com> 162 163 * Add --with-filename, and --no-filename (Reuben Thomas) 164 1652007-10-23 3:59 Christos Zoulas <christos@astron.com> 166 167 * Rest of the mime split (Reuben Thomas) 168 169 * Make usage message generated from the flags so that 170 they stay consistent (Reuben Thomas) 171 1722007-10-20 3:06 Christos Zoulas <christos@astron.com> 173 174 * typo in comment, missing ifdef QUICK, remove unneeded code 175 (Charles Longeau) 176 1772007-10-17 3:33 Christos Zoulas <christos@astron.com> 178 179 * Fix problem printing -\012 in some entries 180 181 * Separate magic type and encoding flags (Reuben Thomas) 182 1832007-10-09 3:55 Christos Zoulas <christos@astron.com> 184 185 * configure fix for int64 and strndup (Reuben Thomas) 186 1872007-09-26 4:45 Christos Zoulas <christos@astron.com> 188 189 * Add magic_descriptor() function. 190 191 * Fix regression in elf reading code where the core name was 192 not being printed. 193 194 * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) 195 1962007-08-19 6:30 Christos Zoulas <christos@astron.com> 197 198 * Make mime format consistent so that it can 199 be easily parsed: 200 mimetype [charset=character-set] [encoding=encoding-mime-type] 201 202 Remove spurious extra text from some MIME type printouts 203 (mostly in is_tar). 204 205 Fix one case where -i produced nothing at all (for a 1-byte file, 206 which is now classed as application/octet-stream). 207 208 Remove 7/8bit classifications, since they were arbitrary 209 and not based on the file data. 210 211 This work was done by Reuben Thomas 212 2132007-05-24 10:00 Christos Zoulas <christos@astron.com> 214 215 * Fix another integer overflow (Colin Percival) 216 2172007-03-26 13:58 Christos Zoulas <christos@astron.com> 218 219 * make sure that all of struct magic_set is initialized appropriately 220 (Brett) 221 2222007-03-25 17:44 Christos Zoulas <christos@astron.com> 223 224 * reset left bytes in the buffer (Dmitry V. Levin) 225 226 * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS 227 (Peter Avalos) 228 2292007-03-15 10:51 Christos Zoulas <christos@astron.com> 230 231 * fix fortran and nroff reversed tests (Dmitry V. Levin) 232 233 * fix exclude option (Dmitry V. Levin) 234 2352007-02-08 17:30 Christos Zoulas <christos@astron.com> 236 237 * fix integer underflow in file_printf which can lead to 238 to exploitable heap overflow (Jean-Sebastien Guay-Lero) 239 2402007-02-05 11:35 Christos Zoulas <christos@astron.com> 241 242 * make socket/pipe reading more robust 243 2442007-01-25 16:01 Christos Zoulas <christos@astron.com> 245 246 * Centralize all the tests in file_buffer. 247 248 * Add exclude flag. 249 2502007-01-18 05:29 Anon Ymous <do@not.spam.me> 251 252 * Move the "type" detection code from parse() into its own table 253 driven routine. This avoids maintaining multiple lists in 254 file.h. 255 256 * Add an optional conditional field (ust before the type field). 257 This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is 258 likely to go away. 259 2602007-01-16 23:24 Anon Ymous <do@not.spam.me> 261 262 * Fix an initialization bug in check_mem(). 263 2642007-01-16 14:58 Anon Ymous <do@not.spam.me> 265 266 * Add a "default" type to print a message if nothing previously 267 matched at that level or since the last default at that 268 level. This is useful for setting up switch-like statements. 269 It can also be used to do if/else constructions without a 270 redundant second test. 271 272 * Fix the "x" special case test so that one can test for that 273 string with "=x". 274 275 * Allow "search" to search the entire buffer if the "/N" 276 search count is missing. 277 278 * Make "regex" work! It now starts its search at the 279 specified offset and takes an (optional) "/N" line count to 280 specify the search range; otherwise it searches to the end 281 of the file. The match is now grabbed correctly for format 282 strings and the offset set to the end of the match. 283 284 * Add a "/s" flag to "regex" and "search" to set the offset to 285 the start of the match. By default the offset is set to the 286 end of the match, as it is with other tests. This is mostly 287 useful for "regex". 288 289 * Make "search", "string" and "pstring" use the same 290 file_strncmp() routine so that they support the same flags; 291 "bestring16" and "lestring16" call the same routine, but 292 with flags = 0. Also add a "/C" flag (in analogy to "/c") 293 to ignore the case on uppercase (lowercase) characters in 294 the test string. 295 296 * Strict adherence to C style string escapes. A warnings are 297 printed when compiling. Note: previously "\a" was 298 incorrectly translated to 'a' instead of an <alert> (i.e., 299 BELL, typically 0x07). 300 301 * Make this compile with "-Wall -Wextra" and all the warning 302 flags used with WARNS=4 in the NetBSD source. Also make it 303 pass lint. 304 305 * Many "cleanups" and hopefully not too many new bugs! 306 3072007-01-16 14:56 Anon Ymous <do@not.spam.me> 308 309 * make several more files compile with gcc warnings 310 on and also make them pass lint. 311 3122007-01-16 14:54 Anon Ymous <do@not.spam.me> 313 314 * fix a puts()/putc() usage goof in file.c 315 316 * make file.c compile with gcc warnings and pass lint 317 3182006-12-11 16:49 Christos Zoulas <christos@astron.com> 319 320 * fix byteswapping issue 321 322 * report the number of bytes we tried to 323 allocate when allocation fails 324 325 * add a few missed cases in the strength routine 326 3272006-12-08 16:32 Christos Zoulas <christos@astron.com> 328 329 * store and print the line number of the magic 330 entry for debugging. 331 332 * if the magic entry did not print anything, 333 don't treat it as a match 334 335 * change the magic strength algorithm to take 336 into account the relationship op. 337 338 * fix a bug in search where we could accidentally 339 return a match. 340 341 * propagate the error return from match to 342 file_softmagic. 343 3442006-11-25 13:35 Christos Zoulas <christos@astron.com> 345 346 * Don't store the current offset in the magic 347 struct, because it needs to be restored and 348 it was not done properly all the time. Bug 349 found by: Arkadiusz Miskiewicz 350 351 * Fix problem in the '\0' separator; and don't 352 print it as an additional separator; print 353 it as the only separator. 354 3552006-11-17 10:51 Christos Zoulas <christos@astron.com> 356 357 * Added a -0 option to print a '\0' separator 358 Etienne Buira <etienne.buira@free.fr> 359 3602006-10-31 15:14 Christos Zoulas <christos@astron.com> 361 362 * Check offset before copying (Mike Frysinger) 363 364 * merge duplicated code 365 366 * add quad date support 367 368 * make sure that we nul terminate desc (Ryoji Kanai) 369 370 * don't process elf notes multiple times 371 372 * allow -z to report empty compressed files 373 374 * use calloc to initialize the ascii buffers (Jos van den Oever) 375 3762006-06-08 11:11 Christos Zoulas <christos@astron.com> 377 378 * QNX fixes (Mike Gorchak) 379 380 * Add quad support. 381 382 * FIFO checks (Dr. Werner Fink) 383 384 * Linux ELF fixes (Dr. Werner Fink) 385 386 * Magic format checks (Dr. Werner Fink) 387 388 * Magic format function improvent (Karl Chen) 389 3902006-05-03 11:11 Christos Zoulas <christos@astron.com> 391 392 * Pick up some elf changes and some constant fixes from SUSE 393 394 * Identify gnu tar vs. posix tar 395 396 * When keep going, don't print spurious newlines (Radek Vok�l) 397 3982006-04-01 12:02 Christos Zoulas <christos@astron.com> 399 400 * Use calloc instead of malloc (Mike Frysinger) 401 402 * Fix configure script to detect wctypes.h (Mike Frysinger) 403 4042006-03-02 16:06 Christos Zoulas <christos@astron.com> 405 406 * Print empty if the file is (Mike Frysinger) 407 408 * Don't try to read past the end of the buffer (Mike Frysinger) 409 410 * Sort magic entries by strength [experimental] 411 4122005-11-29 13:26 Christos Zoulas <christos@astron.com> 413 414 * Use iswprint() to convert the output string. 415 (Bastien Nocera) 416 4172005-10-31 8:54 Christos Zoulas <christos@astron.com> 418 419 * Fix regression where the core info was not completely processed 420 (Radek Vok�l) 421 4222005-10-20 11:15 Christos Zoulas <christos@astron.com> 423 424 * Middle Endian magic (Diomidis Spinellis) 425 4262005-10-17 11:15 Christos Zoulas <christos@astron.com> 427 428 * Open with O_BINARY for CYGWIN (Corinna Vinschen) 429 430 * Don't close stdin (Arkadiusz Miskiewicz) 431 432 * Look for note sections in non executables. 433 4342005-09-20 13:33 Christos Zoulas <christos@astron.com> 435 436 * Don't print SVR4 Style in core files multiple times 437 (Radek Vok�l) 438 4392005-08-27 04:09 Christos Zoulas <christos@astron.com> 440 441 * Cygwin changes Corinna Vinschen 442 4432005-08-18 09:53 Christos Zoulas <christos@astron.com> 444 445 * Remove erroreous mention of /etc/magic in the file man page 446 This is gentoo bug 101639. (Mike Frysinger) 447 448 * Cross-compile support and detection (Mike Frysinger) 449 4502005-08-12 10:17 Christos Zoulas <christos@astron.com> 451 452 * Add -h flag and dereference symlinks if POSIXLY_CORRECT 453 is set. 454 4552005-07-29 13:57 Christos Zoulas <christos@astron.com> 456 457 * Avoid search and regex buffer overflows (Kelledin) 458 4592005-07-12 11:48 Christos Zoulas <christos@astron.com> 460 461 * Provide stub implementations for {v,}nsprintf() for older 462 OS's that don't have them. 463 * Change mbstate_t autoconf detection macro from AC_MBSTATE_T 464 to AC_TYPE_MBSTATE_T. 465 4662005-06-25 11:48 Christos Zoulas <christos@astron.com> 467 468 * Dynamically allocate the string buffers and make the 469 default read size 256K. 470 4712005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de> 472 473 * Dragonfly ELF note support 474 4752005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it> 476 477 * Avoid NULL pointer dereference in time conversion. 478 4792005-03-06 00:00 Joerg Walter <jwalt@mail.garni.ch> 480 481 * Add indirect magic offset support, and search mode. 482 4832005-01-12 00:00 Stepan Kasal <kasal@ucw.cz> 484 485 * src/ascmagic.c (file_ascmagic): Fix three bugs about text files: 486 If a CRLF text file happens to have CR at offset HOWMANY - 1 487 (currently 0xffff), it should not be counted as CR line 488 terminator. 489 If a line has length exactly MAXLINELEN, it should not yet be 490 treated as a ``very long line'', as MAXLINELEN is ``longest sane 491 line length''. 492 With CRLF, the line length was not computed correctly, and even 493 lines of length MAXLINELEN - 1 were treated as ``very long''. 494 4952004-12-07 14:15 Christos Zoulas <christos@astron.com> 496 497 * bzip2 needs a lot of input buffer space on some files 498 before it can begin uncompressing. This makes file -z 499 fail on some bz2 files. Fix it by giving it a copy of 500 the file descriptor to read as much as it wants if we 501 have access to it. <christos@astron.com> 502 5032004-11-24 12:39 Christos Zoulas <christos@astron.com> 504 505 * Stack smash fix, and ELF more conservative reading. 506 Jakub Bogusz <qboosh@pld-linux.org> 507 5082004-11-20 18:50 Christos Zoulas <christos@astron.com> 509 510 * New FreeBSD version parsing code: 511 Jon Noack <noackjr@alumni.rice.edu> 512 513 * Hackish support for ucs16 strings <christos@astron.com> 514 5152004-11-13 03:07 Christos Zoulas <christos@astron.com> 516 517 * print the file name and line number in syntax errors. 518 5192004 10-12 10:50 Christos Zoulas <christos@astron.com> 520 521 * Fix stack overwriting on 0 length strings: Tim Waugh 522 <twaugh@redhat.com> Ned Ludd <solar@gentoo.org> 523 5242004-09-27 11:30 Christos Zoulas <christos@astron.com> 525 526 * Remove 3rd and 4th copyright clause; approved by Ian Darwin. 527 528 * Fix small memory leaks; caught by: Tamas Sarlos 529 <stamas@csillag.ilab.sztaki.hu> 530 5312004-07-24 16:33 Christos Zoulas <christos@astron.com> 532 533 * magic.mime update Danny Milosavljevic <danny.milo@gmx.net> 534 535 * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com> 536 537 * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com> 538 539 * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org> 540 5412004-04-12 10:55 Christos Zoulas <christos@astron.com> 542 543 * make sure that magic formats match magic types during compilation 544 545 * fix broken sgi magic file 546 5472004-04-06 20:36 Christos Zoulas <christos@astron.com> 548 549 * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com> 550 551 * magic fixes 552 5532004-03-22 15:25 Christos Zoulas <christos@astron.com> 554 555 * Lots of mime fixes 556 (Joerg Ostertag) <ostertag@rechengilde.de> 557 558 * FreeBSD ELF version handling 559 (Edwin Groothuis) <edwin@mavetju.org> 560 561 * correct cleanup in all cases; don't just close the file. 562 (Christos Zoulas) <christos@astron.com> 563 564 * add gettext message catalogue support 565 (Michael Piefel) <piefel@debian.org> 566 567 * better printout for unreadable files 568 (Michael Piefel) <piefel@debian.org> 569 570 * compensate for missing MAXPATHLEN 571 (Michael Piefel) <piefel@debian.org> 572 573 * add wide character string length computation 574 (Michael Piefel) <piefel@debian.org> 575 576 * Avoid infinite loops caused by bad elf alignments 577 or name and description note sizes. Reported by 578 (Mikael Magnusson) <mmikael@comhem.se> 579 5802004-03-09 13:55 Christos Zoulas <christos@astron.com> 581 582 * Fix possible memory leak on error and add missing regfree 583 (Dmitry V. Levin) <ldv@altlinux.org> 584 5852003-12-23 12:12 Christos Zoulas <christos@astron.com> 586 587 * fix -k flag (Maciej W. Rozycki) 588 5892003-11-18 14:10 Christos Zoulas <christos@astron.com> 590 591 * Try to give us much info as possible on corrupt elf files. 592 (Willy Tarreau) <willy@w.ods.org> 593 * Updated python bindings (Brett Funderburg) 594 <brettf@deepfile.com> 595 5962003-11-11 15:03 Christos Zoulas <christos@astron.com> 597 598 * Include file.h first, because it includes config.h 599 breaks largefile test macros otherwise. 600 (Paul Eggert <eggert@CS.UCLA.EDU> via 601 Lars Hecking <lhecking@nmrc.ie>) 602 6032003-10-14 21:39 Christos Zoulas <christos@astron.com> 604 605 * Python bindings (Brett Funderburg) <brettf@deepfile.com> 606 * Don't lookup past the end of the buffer 607 (Chad Hanson) <chanson@tcs-sec.com> 608 * Add MAGIC_ERROR and api on magic_errno() 609 6102003-10-08 12:40 Christos Zoulas <christos@astron.com> 611 612 * handle error conditions from compile as fatal 613 (Antti Kantee) <pooka@netbsd.org> 614 * handle magic filename parsing sanely 615 * more magic fixes. 616 * fix a memory leak (Illes Marton) <illes.marton@balabit.hu> 617 * describe magic file handling 618 (Bryan Henderson) <bryanh@giraffe-data.com> 619 6202003-09-12 15:09 Christos Zoulas <christos@astron.com> 621 622 * update magic files. 623 * remove largefile support from file.h; it breaks things on most OS's 624 6252003-08-10 10:25 Christos Zoulas <christos@astron.com> 626 627 * fix unmapping'ing of mmaped files. 628 6292003-07-10 12:03 Christos Zoulas <christos@astron.com> 630 631 * don't exit with -1 on error; always exit 1 (Marty Leisner) 632 * restore utimes code. 633 6342003-06-10 17:03 Christos Zoulas <christos@astron.com> 635 636 * make sure we don't access uninitialized memory. 637 * pass lint 638 * #ifdef __cplusplus in magic.h 639 6402003-05-25 19:23 Christos Zoulas <christos@astron.com> 641 642 * rename cvs magic file to revision to deal with 643 case insensitive filesystems. 644 6452003-05-23 17:03 Christos Zoulas <christos@astron.com> 646 647 * documentation fixes from Michael Piefel <piefel@debian.org> 648 * magic fixes (various) 649 * revert basename magic in .mgc name determination 650 * buffer protection in uncompress, 651 signness issues, 652 close files 653 Maciej W. Rozycki <macro@ds2.pg.gda.pl 654 6552003-04-21 20:12 Christos Zoulas <christos@astron.com> 656 657 * fix zsh magic 658 6592003-04-04 16:59 Christos Zoulas <christos@astron.com> 660 661 * fix operand sort order in string. 662 6632003-04-02 17:30 Christos Zoulas <christos@astron.com> 664 665 * cleanup namespace in magic.h 666 6672003-04-02 13:50 Christos Zoulas <christos@astron.com> 668 669 * Magic additions (Alex Ott) 670 * Fix bug that broke VPATH compilation (Peter Breitenlohner) 671 6722003-03-28 16:03 Christos Zoulas <christos@astron.com> 673 674 * remove packed attribute from magic struct. 675 * make the magic struct properly aligned. 676 * bump version number of compiled files to 2. 677 6782003-03-27 13:10 Christos Zoulas <christos@astron.com> 679 680 * separate tar detection and run it before softmagic. 681 * fix reversed symlink test. 682 * fix version printing. 683 * make separator a string instead of a char. 684 * update manual page and sort options. 685 6862003-03-26 11:00 Christos Zoulas <christos@astron.com> 687 688 * Pass lint 689 * make NULL in magic_file mean stdin 690 * Fix "-" argument to file to pass NULL to magic_file 691 * avoid pointer casts by using memcpy 692 * rename magic_buf -> magic_buffer 693 * keep only the first error 694 * manual page: new sentence, new line 695 * fix typo in api function (magic_buf -> magic_buffer) 696