Import file-5.10.
[dragonfly.git] / contrib / file / ChangeLog
1 2011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
2
3         * Support Tilera architectures (tile64, tilepro, tilegx).
4
5 2011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
6
7         * Add magic for /usr/bin/env Perl scripts
8         * Weaken generic script magic to avoid clashing with
9         language-specific magic.
10
11 2011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
12
13         * Simplify if (p) free(p) to free(p).
14
15 2011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
16
17         * Remove hardwired token finding (names.h), turning it into soft
18         magic. Patterns are either anchored regexs or search/8192. English
19         language detection and PL/1 detection have been removed as they
20         were too fragile. -e tokens is still accepted for backwards
21         compatibility.
22         * Move 3ds patterns (which are commented out anyway) into autodesk
23         (they were, oddly, in c-lang).
24
25 2011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
26
27         * Tweak strength of generic hash-bang detectors to be less than
28         specific ones.
29         * Make an inconsistent description of Python scripts consistent.
30
31 2011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
32
33         * Fix minor error in file(1).
34
35 2011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
36
37         * Fix issue #150 (I hope).
38
39 2011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
40
41         * Python3 binding fixes from Kelly Anderson
42
43 2011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
44
45         * If a string type magic entry is marked as text or binary
46           only match text files against text entries and binary
47           files against binary entries.
48
49 2011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
50
51         * Don't wait for any subprocess, just the one we forked.
52
53 2011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
54
55         * If the application name is not set in a cdf file, try to see
56           if it has a directory with the application name on it.
57
58 2011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
59
60         * Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
61
62 2011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
63
64         * Don't use variable string formats.
65
66 2011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
67
68         * Fix detection of Zip files (Mantis #128).
69         * Make some minor improvements to file(1).
70         * Rename MIME types for filesystem objects for consistency with
71           xdg-utils. Typically this means that application/x-foo becomes
72           inode/foo, but some names also change slightly, e.g.
73           application/x-character-device becomes inode/chardevice.
74
75 2011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
76
77         * fix mingw compilation (Abradoks)
78
79 2011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
80
81         * remove patchlevel.h
82         * Fix read past allocated memory caused by double-incrementing
83           a pointer in a loop (reported by Roberto Maar)
84
85 2011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
86
87         * Fix cdf string buffer setting (Sven Anders)
88
89 2011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
90
91         * Eliminate MAXPATHLEN and use dynamic allocation for
92           path and file buffers.
93
94 2011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
95
96         * binary tests on magic entries with masks could spuriously
97           get converted to ascii.
98
99 2011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
100
101         * Improve file.man (remove BUGS, present email addresses consistently).
102
103 2011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
104
105         * add lrzip support (from Ville Skytta)
106
107 2011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
108
109         * fix CDF bounds checking (Guy Helmer)
110
111 2011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
112
113         * add cdf_ctime() that prints a meaningful error when time cannot
114           be converted.
115
116 2011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
117
118         * help and version output to stdout.
119
120         * When matching softmagic for ascii files, don't just print
121           the softmagic classification, keep going and print the
122           text classification too. This fixes broken troff files when
123           we moved them from keyword recognition to softmagic
124           (they stopped printing "with CRLF" etc.)
125           Reported by Doug McIlroy.
126
127 2011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
128
129         * Fix two potential buffer overruns in apprentice_list.
130
131 2011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
132
133         * New Python binding in pure Python.
134         * Update libmagic(3).
135
136 2011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
137
138         * Fix Python bindings (including recent Python 3 compatibility
139           update).
140
141 2011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
142
143         * magic/Makefile.am: make it easier to recover from magic build failures.
144         * Fix pstring length specifier parsing to avoid generating invalid
145           magic files.
146         * Add pstring length "J" (for "JPEG") to specify that the length
147           include itself.
148         * Fix JPEG comment parsing at last using pstring/HJ!
149         * Ignore section 5 man pages in doc/.cvsignore.
150
151 2010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
152
153         * Add pstring/BHhLl to specify the type of the length of pascal
154           strings.
155
156 2010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
157
158         * Fix "-e soft": it was ignored when softmagic was called
159           during asciimagic.
160         * Improve comments and use "unsigned char" in tar.h/is_tar.c.
161
162 2010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
163
164         * Make bug reporting addresses more visible.
165
166 2010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
167
168         * Add tcl magic from Gustaf Neumann
169
170 2010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
171
172         * Fix the whitespace comparing code (Christopher Chittleborough)
173
174 2010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
175
176         * allow string/t to work (Jan Kaluza)
177
178 2010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
179
180         * Apply some patches from Ubuntu and Fedora.
181
182 2010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
183
184         * Apply all patches from Debian package 5.04-6 which have not
185           already been applied and are not Debian-specific.
186
187 2010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
188
189         * Minor security fix to softmagic.c (don't use untrusted
190           string as printf format).
191
192 2010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
193
194         * MINGW32 portability from LRN
195
196         * Don't warn about escaping magic regex chars when we are in a regex.
197
198 2010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
199
200         * Only try to print prpsinfo for core files. (Jan Kaluza)
201
202 2010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
203
204         * Try more elf offsets for Debian core files.  (Arnaud Giersch)
205
206 2010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
207
208         * Clarify which sort of CDF we mean.
209
210 2010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
211
212         * Re-jig Zip file type magic so that unsupported special
213           Zip types (those with "mimetype" at offset 30) can be
214           recognized.
215
216 2010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
217
218         * Add support for OCF (EPUB) files (application/epub+zip)
219
220 2010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
221
222         * Fix core-dump from unbound loop:
223           https://bugzilla.redhat.com/show_bug.cgi?id=533245
224
225 2010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
226
227         * print proper mime for crystal reports file
228
229         * print the last summary information of a cdf document, not the
230           first so that nested documents print the right info
231
232 2010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
233
234         * bring back some fixes from OpenBSD:
235                 - make gcc2 builds file
236                 - fix typos in a magic file comment
237
238 2009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
239
240         * ctime/asctime can return NULL on some OS's although
241           they should not (Toshit Antani)
242
243 2009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
244
245         * Centralize magic path handling routines and remove the
246           special-casing from file.c so that the python module for
247           example comes up with the same magic path (Fixes ~/.magic
248           handling) (from Gab)
249
250 2009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
251
252         * When magic argument is a directory, read the files in
253           strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
254
255 2009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
256
257         * Combine overlapping epoc and psion magic files into one (epoc).
258
259         * Add some more EPOC MIME types.
260
261 2009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
262
263         * Fix 3 bugs (From Ian Darwin):
264             - file_showstr could move one past the end of the array
265             - parse_apple did not nul terminate the string in the overflow case
266             - parse_mime truncated the wrong string in the overflow case
267
268 2009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
269
270         * Include Localstuff when compiling magic.
271
272 2009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
273
274         * Fix logic for including mygetopts.h
275
276         * Make cdf.c compile again with debugging
277
278         * Add the necessary field handling for crystal reports files to work
279
280 2009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
281
282         * Stop "(if" identifying Lisp files, that's plain dumb!
283
284 2009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
285
286         * Add a couple of missing MP3 MIME types.
287
288 2009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
289
290         * Add full range of hash-bang tests for Python and Ruby.
291
292         * Add MIME types for Python and Ruby scripts.
293
294 2009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
295
296         * off by one in parsing hw capabilities in elf
297           (Cheng Renquan)
298
299 2009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
300         
301         * lint fixes and more from NetBSD
302
303 2009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
304
305         * Avoid null dereference in cdf code (Drew Yao)
306
307         * More cdf bounds checks and overflow checks
308
309 2009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
310
311         * Buffer overflow fixes from Drew Yao
312
313 2009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
314
315         * Fix more cdf lossage. All the documents I have
316           right now print the correct information.
317
318 2009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
319
320         * don't print \012- separators in the same magic entry 
321           if it consists of multiple magic printing lines.
322
323 2009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
324
325         * Avoid file descriptor leak in compress code from
326           (Daniel Novotny)
327
328 2009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
329
330         * Allow escaping of relation characters, so that we can say \^[A-Z]
331           and the ^ is not eaten as a relation char.
332
333         * Fix troff and fortran to their previous glory using
334           regex. This was broken since their removel from ascmagic.
335
336 2009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
337
338         * don't use strlen in strndup() (Toby Peterson)
339
340 2009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
341
342         * avoid c99 syntax.
343
344 2009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
345
346         * make the cdf code use the buffer first if available,
347           and then the fd code.
348
349 2009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
350
351         * look for struct option to determine if getopt.h is usable for IRIX.
352
353         * sanitize cdf document strings
354
355 2009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
356
357         * fix OS/2 warnings.
358
359 2008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
360
361         * fix initial offset calculation for non 4K sector files
362
363         * add loop limits to avoid DoS attacks by constructing
364           looping sector references.
365
366 2008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
367
368         * fix memory botches on cdf file parsing.
369
370         * exit with non-zero value for any error, not just for the last
371           file processed.
372
373 2008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
374
375         * Replace all str{cpy,cat} functions with strl{cpy,cat}
376         * Ensure that strl{cpy,cat} are included in libmagic,
377           as needed.
378
379 2008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
380
381         * Handle ID3 format files.
382
383 2008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
384
385         * Fix --mime, --mime-type and --mime-encoding under new scheme.
386
387         * Rename "ascii" to "text" and add "encoding" test.
388
389         * Return a precise ("utf-16le" or "utf-16be") MIME charset for
390           UTF-16.
391
392         * Fix error in comment caused by automatic indentation adding
393           words!
394
395 2008-11-06 10:35  Christos Zoulas <christos@astron.com>
396
397         * use memchr instead of strchr because the string
398           might not be NUL terminated (Scott MacVicar)
399
400 2008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
401
402         * Fix a printf with a non-literal format string.
403
404         * Fix formatting and punctuation of help for "--apple".
405
406 2008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
407
408         * Correct words counts in comments of struct magic.
409
410         * Fix handle_annotation to allow both Apple and MIME types to be
411           printed, and to return correct code if MIME type is
412           printed (1, not 0) or if there's an error (-1 not 1).
413
414         * Fix output of charset for MIME type (precede with semi-colon;
415           fixes Debian bug #501460).
416
417         * Fix potential attacks via conversion specifications in magic
418           strings.
419
420         * Add a FIXME for Debian bug #488562 (magic files should be
421           read in a defined order, by sorting the names).
422
423 2008-10-18 16:45  Christos Zoulas <christos@astron.com>
424
425         * Added APPLE file creator/type
426
427 2008-10-12 10:20  Christos Zoulas <christos@astron.com>
428
429         * Added CDF parsing
430
431 2008-10-09 16:40  Christos Zoulas <christos@astron.com>
432
433         * filesystem and msdos patches (Joerg Jenderek)
434
435 2008-10-09 13:20  Christos Zoulas <christos@astron.com>
436
437         * correct --exclude documentation issues: remove troff and fortran
438           and rename "token" to "tokens". (Randy McMurchy)
439
440 2008-10-01 10:30  Christos Zoulas <christos@astron.com>
441
442         * Read ~/.magic in addition to the default magic file not instead
443           of, as documented in the man page.
444
445 2008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
446
447         * Comment out graphviz patterns, as they match too many files.
448
449 2008-08-30 12:54  Christos Zoulas <christos@astron.com>
450
451         * Don't eat trailing \n in magic enties.
452
453         * Cast defines to allow compilation using a c++ compiler.
454
455 2008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
456
457         * Add text/x-lua MIME type for Lua scripts.
458
459         * Escape { in regex in graphviz patterns.
460
461 2008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
462
463         * Add MIME types for special files.
464
465         * Use access to give more accurate information for files that
466           can't be opened.
467
468         * Add a TODO list.
469
470 2008-07-02 11:15  Christos Zoulas  <christos@astron.com>
471
472         * add !:strength op to adjust magic strength (experimental)
473
474 2008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
475
476         * Fix automake error in configure.ac.
477
478         * Add MIME type for Psion Sketch files.
479
480 2008-06-05 08:59  Christos Zoulas  <christos@astron.com>
481
482         * Don't print warnings about bad namesize in stripped
483           binaries with PT_NOTE is still there, and the actual
484           note is gone (Jakub Jelinek)
485
486 2008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
487
488         * magic/Magdir/elf:
489           Note invalid byte order for little-endian SPARC32PLUS.
490           Add SPARC V9 vendor extensions and memory model.
491
492         * src/elfclass.h:
493           Pass target machine to doshn (for Solaris hardware capabilities).
494
495         * src/readelf.c (doshn):
496           Add support for Solaris hardware/software capabilities.
497
498         * src/readelf.h:
499           Ditto.
500
501         * src/vasprintf.c (dispatch):
502           Add support for ll modifier.
503
504 2008-05-16 10:25  Christos Zoulas  <christos@astron.com>
505
506         * Fix compiler warnings.
507
508         * remove stray printf, and fix a vprintf bug. (Martin Dorey)
509
510 2008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
511
512         * src/Makefile.am:
513           Ensure that getopt_long and [v]asprintf are included in libmagic,
514           as needed.
515
516           Remove unnecessary EXTRA_DIST.
517
518         * src/Makefile.in:
519           Rerun automake.
520
521         * src/vasprintf.c (dispatch):
522           Fix variable precision bug: be sure to step past '*'.
523
524         * src/vasprintf.c (core):
525           Remove unreachable code.
526
527         * src/apprentice.c (set_test_type):
528           Add cast to avoid compiler warning.
529
530 2008-04-22 23:45  Christos Zoulas  <christos@astron.com>
531
532         * Add magic submission guidelines (Abel Cheung)
533
534         * split msdos and windows magic (Abel Cheung)
535
536 2008-04-04 11:00  Christos Zoulas  <christos@astron.com>
537
538         * >= <= is not supported, so fix the magic and warn about it.
539           reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
540
541 2008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
542
543         * src/readelf.c (donote):
544           ELF core file command name/line bug fixes and enhancements:
545
546           Try larger offsets first to avoid false matches
547           from earlier data that happen to look like strings;
548           this primarily affected SunOS 5.x 32-bit Intel core files.
549
550           Add support for command line (instead of just short name)
551           for SunOS 5.x.
552
553           Add information about NT_PSINFO for SunOS 5.x.
554
555           Only trim whitespace from end of command line.
556
557 2007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
558
559         * Change strength of ! from MULT to 0, as it matches almost
560                   anything (Reuben Thomas)
561
562         * Debian fixes (Reuben Thomas)
563
564 2007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
565
566         * Clarify UTF-8 BOM message (Reuben Thomas)
567
568         * Add HTML comment to token list in names.h
569
570 2007-02-04 15:50 Christos Zoulas <christos@astron.com>
571
572         * Debian fixes (Reuben Thomas)
573
574 2007-02-04 11:31 Christos Zoulas <christos@astron.com>
575
576         * !:mime annotations in magic files (Reuben Thomas)
577
578 2007-01-29 15:35 Christos Zoulas <christos@astron.com>
579
580         * zero out utime/utimes structs (Gavin Atkinson)
581
582 2007-01-26 13:45 Christos Zoulas <christos@astron.com>
583
584         * reduce writable data from Diego "Flameeyes" Petten
585
586 2007-12-28 15:06 Christos Zoulas <christos@astron.com>
587
588         * strtof detection
589
590         * remove bogus regex magic that could cause a DoS
591
592         * better mismatch version message
593
594 2007-12-27 11:35 Christos Zoulas <christos@astron.com>
595
596         * bring back some fixes from OpenBSD
597
598         * treat ELF dynamic objects as executables
599
600         * fix gcc warnings
601
602 2007-12-01 19:55 Christos Zoulas <christos@astron.com>
603
604         * make sure we have zlib.h and libz to compile the builtin
605           decompress code
606
607 2007-10-28 20:48 Christos Zoulas <christos@astron.com>
608
609         * float and double magic support (Behan Webster)
610
611 2007-10-28 20:48 Christos Zoulas <christos@astron.com>
612
613         * Convert fortran to a soft test (Reuben Thomas)
614
615 2007-10-23  5:25 Christos Zoulas <christos@astron.com>
616
617         * Add --with-filename, and --no-filename (Reuben Thomas)
618
619 2007-10-23  3:59 Christos Zoulas <christos@astron.com>
620
621         * Rest of the mime split (Reuben Thomas)
622
623         * Make usage message generated from the flags so that
624           they stay consistent (Reuben Thomas)
625
626 2007-10-20  3:06 Christos Zoulas <christos@astron.com>
627
628         * typo in comment, missing ifdef QUICK, remove unneeded code
629                 (Charles Longeau)
630
631 2007-10-17  3:33 Christos Zoulas <christos@astron.com>
632
633         * Fix problem printing -\012 in some entries
634
635         * Separate magic type and encoding flags (Reuben Thomas)
636
637 2007-10-09  3:55 Christos Zoulas <christos@astron.com>
638
639         * configure fix for int64 and strndup (Reuben Thomas)
640
641 2007-09-26  4:45 Christos Zoulas <christos@astron.com>
642
643         * Add magic_descriptor() function.
644
645         * Fix regression in elf reading code where the core name was
646           not being printed.
647
648         * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
649
650 2007-08-19  6:30 Christos Zoulas <christos@astron.com>
651
652         * Make mime format consistent so that it can
653           be easily parsed:
654               mimetype [charset=character-set] [encoding=encoding-mime-type]
655
656           Remove spurious extra text from some MIME type printouts
657           (mostly in is_tar).
658
659           Fix one case where -i produced nothing at all (for a 1-byte file,
660           which is now classed as application/octet-stream).
661
662           Remove 7/8bit classifications, since they were arbitrary
663           and not based on the file data.
664
665           This work was done by Reuben Thomas
666
667 2007-05-24 10:00 Christos Zoulas <christos@astron.com>
668
669         * Fix another integer overflow (Colin Percival)
670
671 2007-03-26 13:58 Christos Zoulas <christos@astron.com>
672
673         * make sure that all of struct magic_set is initialized appropriately
674           (Brett)
675
676 2007-03-25 17:44 Christos Zoulas <christos@astron.com>
677
678         * reset left bytes in the buffer (Dmitry V. Levin)
679
680         * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
681           (Peter Avalos)
682
683 2007-03-15 10:51 Christos Zoulas <christos@astron.com>
684
685         * fix fortran and nroff reversed tests (Dmitry V. Levin)
686
687         * fix exclude option (Dmitry V. Levin)
688
689 2007-02-08 17:30 Christos Zoulas <christos@astron.com>
690
691         * fix integer underflow in file_printf which can lead to
692           to exploitable heap overflow (Jean-Sebastien Guay-Lero)
693
694 2007-02-05 11:35 Christos Zoulas <christos@astron.com>
695
696         * make socket/pipe reading more robust
697
698 2007-01-25 16:01 Christos Zoulas <christos@astron.com>
699
700         * Centralize all the tests in file_buffer.
701
702         * Add exclude flag.
703
704 2007-01-18 05:29 Anon Ymous <do@not.spam.me>
705
706         * Move the "type" detection code from parse() into its own table
707           driven routine.  This avoids maintaining multiple lists in
708           file.h.
709
710         * Add an optional conditional field (ust before the type field).
711           This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
712           likely to go away.
713
714 2007-01-16 23:24 Anon Ymous <do@not.spam.me>
715
716         * Fix an initialization bug in check_mem().
717
718 2007-01-16 14:58 Anon Ymous <do@not.spam.me>
719
720         * Add a "default" type to print a message if nothing previously
721           matched at that level or since the last default at that
722           level.  This is useful for setting up switch-like statements.
723           It can also be used to do if/else constructions without a
724           redundant second test.
725
726         * Fix the "x" special case test so that one can test for that
727           string with "=x".
728
729         * Allow "search" to search the entire buffer if the "/N"
730           search count is missing.
731
732         * Make "regex" work!  It now starts its search at the
733           specified offset and takes an (optional) "/N" line count to
734           specify the search range; otherwise it searches to the end
735           of the file.  The match is now grabbed correctly for format
736           strings and the offset set to the end of the match.
737
738         * Add a "/s" flag to "regex" and "search" to set the offset to
739           the start of the match.  By default the offset is set to the
740           end of the match, as it is with other tests.  This is mostly
741           useful for "regex".
742
743         * Make "search", "string" and "pstring" use the same
744           file_strncmp() routine so that they support the same flags;
745           "bestring16" and "lestring16" call the same routine, but
746           with flags = 0.  Also add a "/C" flag (in analogy to "/c")
747           to ignore the case on uppercase (lowercase) characters in
748           the test string.
749
750         * Strict adherence to C style string escapes.  A warnings are
751           printed when compiling.  Note: previously "\a" was
752           incorrectly translated to 'a' instead of an <alert> (i.e.,
753           BELL, typically 0x07).
754
755         * Make this compile with "-Wall -Wextra" and all the warning
756           flags used with WARNS=4 in the NetBSD source.  Also make it
757           pass lint.
758
759         * Many "cleanups" and hopefully not too many new bugs!
760
761 2007-01-16 14:56 Anon Ymous <do@not.spam.me>
762
763         * make several more files compile with gcc warnings
764           on and also make them pass lint.
765
766 2007-01-16 14:54 Anon Ymous <do@not.spam.me>
767
768         * fix a puts()/putc() usage goof in file.c
769
770         * make file.c compile with gcc warnings and pass lint
771
772 2006-12-11 16:49 Christos Zoulas <christos@astron.com>
773
774         * fix byteswapping issue
775
776         * report the number of bytes we tried to
777           allocate when allocation fails
778
779         * add a few missed cases in the strength routine
780
781 2006-12-08 16:32 Christos Zoulas <christos@astron.com>
782
783         * store and print the line number of the magic
784           entry for debugging.
785
786         * if the magic entry did not print anything,
787           don't treat it as a match
788
789         * change the magic strength algorithm to take
790           into account the relationship op.
791
792         * fix a bug in search where we could accidentally
793           return a match.
794
795         * propagate the error return from match to
796           file_softmagic.
797
798 2006-11-25 13:35 Christos Zoulas <christos@astron.com>
799
800         * Don't store the current offset in the magic
801           struct, because it needs to be restored and
802           it was not done properly all the time. Bug
803           found by: Arkadiusz Miskiewicz
804
805         * Fix problem in the '\0' separator; and don't
806           print it as an additional separator; print
807           it as the only separator.
808
809 2006-11-17 10:51 Christos Zoulas <christos@astron.com>
810
811         * Added a -0 option to print a '\0' separator
812           Etienne Buira <etienne.buira@free.fr>
813
814 2006-10-31 15:14 Christos Zoulas <christos@astron.com>
815
816         * Check offset before copying (Mike Frysinger)
817
818         * merge duplicated code
819
820         * add quad date support
821
822         * make sure that we nul terminate desc (Ryoji Kanai)
823
824         * don't process elf notes multiple times
825
826         * allow -z to report empty compressed files
827
828         * use calloc to initialize the ascii buffers (Jos van den Oever)
829
830 2006-06-08 11:11 Christos Zoulas <christos@astron.com>
831
832         * QNX fixes (Mike Gorchak)
833
834         * Add quad support.
835
836         * FIFO checks (Dr. Werner Fink)
837
838         * Linux ELF fixes (Dr. Werner Fink)
839
840         * Magic format checks (Dr. Werner Fink)
841
842         * Magic format function improvent (Karl Chen)
843
844 2006-05-03 11:11 Christos Zoulas <christos@astron.com>
845
846         * Pick up some elf changes and some constant fixes from SUSE
847
848         * Identify gnu tar vs. posix tar
849
850         * When keep going, don't print spurious newlines (Radek Vokál)
851
852 2006-04-01 12:02 Christos Zoulas <christos@astron.com>
853
854         * Use calloc instead of malloc (Mike Frysinger)
855
856         * Fix configure script to detect wctypes.h (Mike Frysinger)
857
858 2006-03-02 16:06 Christos Zoulas <christos@astron.com>
859
860         * Print empty if the file is (Mike Frysinger)
861
862         * Don't try to read past the end of the buffer (Mike Frysinger)
863
864         * Sort magic entries by strength [experimental]
865
866 2005-11-29 13:26 Christos Zoulas <christos@astron.com>
867
868         * Use iswprint() to convert the output string.
869             (Bastien Nocera)
870
871 2005-10-31 8:54 Christos Zoulas <christos@astron.com>
872
873         * Fix regression where the core info was not completely processed
874             (Radek Vokál)
875
876 2005-10-20 11:15 Christos Zoulas <christos@astron.com>
877
878         * Middle Endian magic (Diomidis Spinellis)
879
880 2005-10-17 11:15 Christos Zoulas <christos@astron.com>
881
882         * Open with O_BINARY for CYGWIN (Corinna Vinschen)
883
884         * Don't close stdin (Arkadiusz Miskiewicz)
885
886         * Look for note sections in non executables.
887
888 2005-09-20 13:33 Christos Zoulas <christos@astron.com>
889
890         * Don't print SVR4 Style in core files multiple times
891             (Radek Vokál)
892
893 2005-08-27 04:09 Christos Zoulas <christos@astron.com>
894
895         * Cygwin changes Corinna Vinschen
896
897 2005-08-18 09:53 Christos Zoulas <christos@astron.com>
898
899         * Remove erroreous mention of /etc/magic in the file man page
900           This is gentoo bug 101639. (Mike Frysinger)
901
902         * Cross-compile support and detection (Mike Frysinger)
903
904 2005-08-12 10:17 Christos Zoulas <christos@astron.com>
905
906         * Add -h flag and dereference symlinks if POSIXLY_CORRECT
907           is set.
908
909 2005-07-29 13:57 Christos Zoulas <christos@astron.com>
910
911         * Avoid search and regex buffer overflows (Kelledin)
912
913 2005-07-12 11:48 Christos Zoulas <christos@astron.com>
914
915         * Provide stub implementations for {v,}nsprintf() for older
916           OS's that don't have them.
917         * Change mbstate_t autoconf detection macro from AC_MBSTATE_T
918           to AC_TYPE_MBSTATE_T.
919
920 2005-06-25 11:48 Christos Zoulas <christos@astron.com>
921
922         * Dynamically allocate the string buffers and make the
923           default read size 256K.
924
925 2005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
926
927         * Dragonfly ELF note support
928
929 2005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
930
931         * Avoid NULL pointer dereference in time conversion.
932
933 2005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
934
935         * Add indirect magic offset support, and search mode.
936
937 2005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
938
939         * src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
940           If a CRLF text file happens to have CR at offset HOWMANY - 1
941           (currently 0xffff), it should not be counted as CR line
942           terminator.
943           If a line has length exactly MAXLINELEN, it should not yet be
944           treated as a ``very long line'', as MAXLINELEN is ``longest sane
945           line length''.
946           With CRLF, the line length was not computed correctly, and even
947           lines of length MAXLINELEN - 1 were treated as ``very long''.
948
949 2004-12-07 14:15  Christos Zoulas  <christos@astron.com>
950
951         * bzip2 needs a lot of input buffer space on some files
952           before it can begin uncompressing. This makes file -z
953           fail on some bz2 files. Fix it by giving it a copy of
954           the file descriptor to read as much as it wants if we
955           have access to it. <christos@astron.com>
956
957 2004-11-24 12:39  Christos Zoulas  <christos@astron.com>
958
959         * Stack smash fix, and ELF more conservative reading.
960           Jakub Bogusz <qboosh@pld-linux.org>
961
962 2004-11-20 18:50  Christos Zoulas  <christos@astron.com>
963
964         * New FreeBSD version parsing code:
965           Jon Noack <noackjr@alumni.rice.edu>
966
967         * Hackish support for ucs16 strings <christos@astron.com>
968
969 2004-11-13 03:07  Christos Zoulas  <christos@astron.com>
970
971         * print the file name and line number in syntax errors.
972
973 2004 10-12 10:50  Christos Zoulas  <christos@astron.com>
974
975         * Fix stack overwriting on 0 length strings: Tim Waugh
976             <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
977
978 2004-09-27 11:30  Christos Zoulas  <christos@astron.com>
979
980         * Remove 3rd and 4th copyright clause; approved by Ian Darwin.
981
982         * Fix small memory leaks; caught by: Tamas Sarlos
983             <stamas@csillag.ilab.sztaki.hu>
984
985 2004-07-24 16:33  Christos Zoulas  <christos@astron.com>
986
987         * magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
988
989         * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
990
991         * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
992
993         * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
994
995 2004-04-12 10:55  Christos Zoulas  <christos@astron.com>
996
997         * make sure that magic formats match magic types during compilation
998
999         * fix broken sgi magic file
1000
1001 2004-04-06 20:36  Christos Zoulas  <christos@astron.com>
1002
1003         * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
1004
1005         * magic fixes
1006
1007 2004-03-22 15:25  Christos Zoulas  <christos@astron.com>
1008
1009         * Lots of mime fixes
1010           (Joerg Ostertag) <ostertag@rechengilde.de>
1011
1012         * FreeBSD ELF version handling
1013           (Edwin Groothuis) <edwin@mavetju.org>
1014
1015         * correct cleanup in all cases; don't just close the file.
1016           (Christos Zoulas) <christos@astron.com>
1017
1018         * add gettext message catalogue support
1019           (Michael Piefel) <piefel@debian.org>
1020
1021         * better printout for unreadable files
1022           (Michael Piefel) <piefel@debian.org>
1023
1024         * compensate for missing MAXPATHLEN
1025           (Michael Piefel) <piefel@debian.org>
1026
1027         * add wide character string length computation
1028           (Michael Piefel) <piefel@debian.org>
1029
1030         * Avoid infinite loops caused by bad elf alignments
1031           or name and description note sizes. Reported by
1032           (Mikael Magnusson) <mmikael@comhem.se>
1033
1034 2004-03-09 13:55  Christos Zoulas  <christos@astron.com>
1035
1036         * Fix possible memory leak on error and add missing regfree
1037           (Dmitry V. Levin) <ldv@altlinux.org>
1038
1039 2003-12-23 12:12  Christos Zoulas  <christos@astron.com>
1040
1041         * fix -k flag (Maciej W. Rozycki)
1042
1043 2003-11-18 14:10  Christos Zoulas  <christos@astron.com>
1044
1045         * Try to give us much info as possible on corrupt elf files.
1046           (Willy Tarreau) <willy@w.ods.org>
1047         * Updated python bindings (Brett Funderburg)
1048            <brettf@deepfile.com>
1049
1050 2003-11-11 15:03  Christos Zoulas  <christos@astron.com>
1051
1052         * Include file.h first, because it includes config.h
1053           breaks largefile test macros otherwise.
1054           (Paul Eggert <eggert@CS.UCLA.EDU> via
1055            Lars Hecking <lhecking@nmrc.ie>)
1056
1057 2003-10-14 21:39  Christos Zoulas  <christos@astron.com>
1058
1059         * Python bindings (Brett Funderburg) <brettf@deepfile.com>
1060         * Don't lookup past the end of the buffer
1061           (Chad Hanson) <chanson@tcs-sec.com>
1062         * Add MAGIC_ERROR and api on magic_errno()
1063
1064 2003-10-08 12:40  Christos Zoulas  <christos@astron.com>
1065
1066         * handle error conditions from compile as fatal
1067           (Antti Kantee) <pooka@netbsd.org>
1068         * handle magic filename parsing sanely
1069         * more magic fixes.
1070         * fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
1071         * describe magic file handling
1072           (Bryan Henderson) <bryanh@giraffe-data.com>
1073
1074 2003-09-12 15:09  Christos Zoulas  <christos@astron.com>
1075
1076         * update magic files.
1077         * remove largefile support from file.h; it breaks things on most OS's
1078
1079 2003-08-10 10:25  Christos Zoulas  <christos@astron.com>
1080
1081         * fix unmapping'ing of mmaped files.
1082
1083 2003-07-10 12:03  Christos Zoulas  <christos@astron.com>
1084
1085         * don't exit with -1 on error; always exit 1 (Marty Leisner)
1086         * restore utimes code.
1087
1088 2003-06-10 17:03  Christos Zoulas  <christos@astron.com>
1089
1090         * make sure we don't access uninitialized memory.
1091         * pass lint
1092         * #ifdef __cplusplus in magic.h
1093
1094 2003-05-25 19:23  Christos Zoulas  <christos@astron.com>
1095
1096         * rename cvs magic file to revision to deal with
1097           case insensitive filesystems.
1098
1099 2003-05-23 17:03  Christos Zoulas  <christos@astron.com>
1100
1101         * documentation fixes from Michael Piefel <piefel@debian.org>
1102         * magic fixes (various)
1103         * revert basename magic in .mgc name determination
1104         * buffer protection in uncompress,
1105           signness issues,
1106           close files
1107           Maciej W. Rozycki <macro@ds2.pg.gda.pl
1108
1109 2003-04-21 20:12  Christos Zoulas  <christos@astron.com>
1110
1111         * fix zsh magic
1112
1113 2003-04-04 16:59  Christos Zoulas  <christos@astron.com>
1114
1115         * fix operand sort order in string.
1116
1117 2003-04-02 17:30  Christos Zoulas  <christos@astron.com>
1118
1119         * cleanup namespace in magic.h
1120
1121 2003-04-02 13:50  Christos Zoulas  <christos@astron.com>
1122
1123         * Magic additions (Alex Ott)
1124         * Fix bug that broke VPATH compilation (Peter Breitenlohner)
1125
1126 2003-03-28 16:03  Christos Zoulas  <christos@astron.com>
1127
1128         * remove packed attribute from magic struct.
1129         * make the magic struct properly aligned.
1130         * bump version number of compiled files to 2.
1131
1132 2003-03-27 13:10  Christos Zoulas  <christos@astron.com>
1133
1134         * separate tar detection and run it before softmagic.
1135         * fix reversed symlink test.
1136         * fix version printing.
1137         * make separator a string instead of a char.
1138         * update manual page and sort options.
1139
1140 2003-03-26 11:00  Christos Zoulas  <christos@astron.com>
1141
1142         * Pass lint
1143         * make NULL in magic_file mean stdin
1144         * Fix "-" argument to file to pass NULL to magic_file
1145         * avoid pointer casts by using memcpy
1146         * rename magic_buf -> magic_buffer
1147         * keep only the first error
1148         * manual page: new sentence, new line
1149         * fix typo in api function (magic_buf -> magic_buffer)