Reduce libmagic-data package size
[platform/upstream/file.git] / ChangeLog
1 2017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
2
3         * remove trailing spaces from magic files
4         * refactor is_tar
5         * better bounds checks for cdf
6
7 2017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
8
9         * release 5.30
10
11 2017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
12
13         * If we exceeded the offset in a search return no match
14           (Christoph Biedl)
15         * Be more lenient on corrupt CDF files (Christoph Biedl)
16
17 2017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
18
19         * pacify ubsan sign extension (oss-fuzz/524)
20
21 2017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
22
23         * off by one in cdf parsing (PR/593)
24         * report debugging sections in elf (PR/591)
25
26 2016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
27
28         * Allow @@@ in extensions
29         * Add missing overflow check in der magic (Jonas Wagner)
30
31 2016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
32         
33         * release 5.29
34
35 2016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
36
37         * der getlength overflow (Jonas Wagner)
38         * multiple magic file load failure (Christoph Biedl)
39
40 2016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
41
42         * CDF parsing improvements (Guy Helmer)
43
44 2016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
45
46         * Add support for signed indirect offsets
47
48 2016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
49
50         * cat /dev/null | file - should print empty (Christoph Biedl)
51
52 2016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
53
54         * Bump string size from 64 to 96.
55
56 2016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
57
58         * PR/556: Fix separators on annotations.
59
60 2016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
61
62         * release 5.28
63         * fix leak on allocation failure
64
65 2016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
66
67         * PR/555: Avoid overflow for offset > nbytes
68         * PR/550: Segv on DER parsing:
69             - use the correct variable for length
70             - set offset to 0 on failure.
71
72 2016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
73         
74         * release 5.27
75
76 2016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
77         
78         * Errors comparing DER entries or computing offsets
79           are just indications of malformed non-DER files.
80           Don't print them.
81         * Offset comparison was off-by-one.
82         * Fix compression code (Werner Fink)
83         * Put new bytes constant in the right file (not the generated one)
84
85 2016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
86         
87         * release 5.26
88
89 2016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
90
91         * make the number of bytes read from files configurable.
92
93 2016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
94
95         * Add bounds checks for DER code (discovered by Thomas Jarosch)
96         * Change indirect recursion limit to indirect use count and
97           bump from 15 to 50 to prevent abuse.
98
99 2016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
100
101         * Add -00 which prints filename\0description\0
102
103 2016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
104
105         * Fix ID3 indirect parsing
106
107 2016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
108
109         * add DER parsing capability
110
111 2015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
112
113         * provide dprintf(3) for the OS's that don't have it.
114
115 2015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
116
117         * redo the compression code report decompression errors
118
119 2015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
120
121         * REG_STARTEND code is not working as expected, delete it.
122
123 2015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
124
125         * Add zlib support if we have it.
126
127 2015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
128
129         * PR/492: compression forking was broken with magic_buffer.
130
131 2015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
132         
133         * release 5.25
134
135 2015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
136
137         * add a limit to the length of regex searches
138
139 2015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
140
141         * fix problems with --parameter (Christoph Biedl)
142
143 2015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
144
145         * Windows fixes PR/466 (Jason Hood)
146
147 2015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
148
149         * release 5.24
150
151 2015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
152
153         * redo long option encoding to fix off-by-one in 5.23
154
155 2015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
156
157         * release 5.23
158
159 2015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
160         
161         * Fix issue with regex range for magic with offset
162         * Always return true from mget with USE (success to mget not match
163           indication). Fixes mime evaluation after USE magic
164         * PR/459: Don't insert magic entries to the list if there are parsing
165           errors for them.
166
167 2015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
168
169         * PR/455: Add utf-7 encoding
170
171 2015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
172
173         * PR/455: Implement -Z, look inside, but don't report on compression
174         * PR/454: Fix allocation error on bad magic.
175
176 2015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
177
178         * handle MAGIC_CONTINUE everywhere, not just in softmagic
179
180 2015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
181
182         * don't print descriptions for NAME types when mime.
183
184 2015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
185
186         * Add --extension to list the known extensions for this file type
187           Idea by Andrew J Roazen
188
189 2015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
190
191         * Bump file search buffer size to 1M.
192
193 2015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
194
195         * Fix multiple issues with date formats reported by Christoph Biedl:
196                 - T_LOCAL meaning was reversed
197                 - Arithmetic did not work
198           Also stop adjusting daylight savings for gmt printing.
199
200 2015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
201
202         * PR/411: Fix memory corruption from corrupt cdf file.
203
204 2015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
205
206         * release 5.22
207
208 2015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
209
210         * add indirect relative for TIFF/Exif
211
212 2014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
213         
214         * restructure elf note printing to avoid repeated messages
215         * add note limit, suggested by Alexander Cherepanov
216
217 2014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
218         
219         * Bail out on partial pread()'s (Alexander Cherepanov)
220         * Fix incorrect bounds check in file_printable (Alexander Cherepanov)
221
222 2014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
223
224         * PR/405: ignore SIGPIPE from uncompress programs
225         * change printable -> file_printable and use it in
226           more places for safety
227         * in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
228           is present print the interpreter name.
229         
230 2014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
231
232         * release 5.21
233
234 2014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
235
236         * Allow setting more parameters from the command line.
237         * Split name/use and indirect magic recursion limits.
238
239 2014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
240
241         * Adjust ELF parameters and the default recursion
242           level.
243         * Allow setting the recursion level dynamically.
244
245 2014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
246
247         * The following fixes resulted from Thomas Jarosch's fuzzing
248           tests that revealed severe performance issues on pathological
249           input:
250             - limit number of elf program and sections processing
251             - abort elf note processing quickly
252             - reduce the number of recursion levels from 20 to 10
253             - preserve error messages in indirect magic handling
254
255         This is tracked as CVE-2014-8116 and CVE-2014-8117
256
257 2014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
258
259         * fix bogus free in the user buffer case.
260
261 2014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
262
263         * fix out of bounds read for pascal strings
264         * fix memory leak (not freeing the head of each mlist)
265
266 2014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
267
268         * When printing strings from a file, convert them to printable
269           on a byte by byte basis, so that we don't get issues with
270           locale's trying to interpret random byte streams as UTF-8 and
271           having printf error out with EILSEQ.
272           
273 2014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
274
275         * fix bounds in note reading (Francisco Alonso / Red Hat)
276
277 2014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
278
279         * fix autoconf glue for setlocale and locale_t; some OS's
280           have locale_t in xlocale.h
281
282 2014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
283
284         * release 5.20
285
286 2014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
287
288         * recognize encrypted CDF documents
289
290 2014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
291
292         * add magic_load_buffers from Brooks Davis
293
294 2014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
295
296         * add thumbs.db support
297
298 2014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
299
300         * release 5.19
301
302 2014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
303         
304         * Misc buffer overruns and missing buffer size tests in cdf parsing
305           (Francisco Alonso, Jan Kaluza)
306
307 2014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
308
309         * Enforce limit of 8K on regex searches that have no limits
310         * Allow the l modifier for regex to mean line count. Default
311           to byte count. If line count is specified, assume a max
312           of 80 characters per line to limit the byte count.
313         * Don't allow conversions to be used for dates, allowing
314           the mask field to be used as an offset.
315
316 2014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
317
318         * Make the range operator limit the length of the
319           regex search.
320
321 2014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
322
323         * PR/347: Windows fixes
324         * PR/352: Hangul word processor recognition
325         * PR/354: Encoding irregularities in text files
326
327 2014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
328
329         * Fix uninitialized title in CDF files (Jan Kaluza)
330
331 2014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
332
333         * PR/351: Fix compilation of empty files 
334
335 2014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
336
337         * Fix integer formats: We don't specify 'l' or
338           'h' and 'hh' specifiers anymore, only 'll' for
339           quads and nothing for the rest. This is so that
340           magic writing is simpler.
341
342 2014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
343
344         * PR/341: Jan Kaluza, fix memory leak
345         * PR/342: Jan Kaluza, fix out of bounds read
346
347 2014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
348
349         * Fix issue with long formats not matching fmtcheck
350
351 2014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
352
353         * release 5.18
354
355 2014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
356
357         * add fmtcheck(3) for those who don't have it
358
359 2014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
360
361         * prevent mime entries from being attached to magic
362           entries with no descriptions
363
364         * adjust magic strength for regex type
365
366         * remove superfluous ascmagic with encoding test
367
368 2014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
369
370         * fix regression fix echo -ne "\012\013\014" | file -i -
371           which printed "binary" instead of "application/octet-stream"
372
373         * add size_t overflow check for magic file size
374
375 2014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
376
377         * experimental support for matching with CFD CLSID
378
379 2014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
380
381         * Cache old LC_CTYPE locale before setting it to "C", so
382           we can use it to restore LC_CTYPE instead of asking
383           setlocale() to scan the environment variables.
384
385 2014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
386
387         * Count recursion levels through indirect magic
388
389 2014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
390
391         * Prevent infinite recursion on files with indirect offsets of 0
392
393 2014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
394
395         * Add -E flag that makes file print filesystem errors to stderr
396           and exit.
397
398 2014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
399
400         * mime printing could print results from multiple magic entries
401           if there were multiple matches.
402         * in some cases overflow was not detected when computing offsets
403           in softmagic.
404
405 2013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
406
407         * use strcasestr() to for cdf strings
408         * reset to the "C" locale while doing regex operations, or case
409           insensitive comparisons; this is provisional
410
411 2013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
412
413         * always leave magic file loaded, don't unload for magic_check, etc.
414         * fix default encoding to binary instead of unknown which broke recently
415         * handle empty and one byte files, less specially so that
416           --mime-encoding does not break completely.
417                 `
418 2013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
419
420         * fix erroneous non-zero exit code from non-existant file and message
421
422 2013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
423
424         * add CDF MSI file detection (Guy Helmer)
425
426 2013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
427
428         * Don't mix errors and regular output if there was an error
429         * in magic_descriptor() don't close the file and try to restore
430           its position
431
432 2013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
433
434         * Don't treat magic as an error if offset was past EOF (Christoph Biedl)
435
436 2013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
437         
438         * Fix spacing issues in softmagic and elf (Jan Kaluza)
439
440 2013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
441
442         * Fix segmentation fault with multiple magic_load commands.
443
444 2013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
445
446         * The way "default" was implemented was not very useful
447           because the "if something was printed at that level"
448           was not easily controlled by the user, and the format
449           was bound to a string which is too restrictive. Add
450           a "clear" for that level keyword and make "default"
451           void. This way one can do:
452
453                 >>13    clear   x
454                 >>13    lelong  1       foo
455                 >>13    lelong  2       bar
456                 >>13    default x
457                 >>>13   lelong  x       unknown %x
458
459 2013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
460
461         * disallow strength setting in "name" entries
462
463 2013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
464
465         * fix recursive magic separator printing
466
467 2013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
468
469         * limit recursion level for mget
470         * fix pread() related breakage in cdf
471         * handle offsets properly in recursive "use"
472
473 2013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
474
475         * add elf reading of debug info to determine if file is stripped
476           (Jan Kaluza)
477         * use pread()
478
479 2013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
480
481         * change mime description size from 64 to 80 to accommodate OOXML.
482
483 2013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
484
485         * Warn about inconsistent continuation levels.
486         * Change fsmagic to add a space after it prints.
487
488 2013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
489
490         * Make getline public so that file can link against it.
491           Perhaps it is better to rename it, or hide it differently.
492           Fixes builds on platforms that do not provide it.
493           
494 2013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
495
496         * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
497           what long, int, short, etc is (Guy Harris)
498
499 2013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
500
501         * add magic_version function and constant
502         * Redo memory allocation and de-allocation.
503           (prevents double frees on non mmap platforms)
504         * Fix bug with name/use having to do with passing
505           found state from the parent to the child and back.
506
507 2012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
508
509         * Only print elf capabilities for archs we know (Jan Kaluza)
510
511 2012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
512
513         * Add "name" and "use" file types in order to look
514           inside mach-o files.
515
516 2012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
517
518         * make --version exit 0 (Matthew Schultz)
519         * add string/T (Jan Kaluza)
520
521 2012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
522
523         * add z and t modifiers for our own vasprintf
524         * search for $HOME/.magic.mgc if it is there first
525         * fix reads from a pipe, and preserve errno
526
527 2012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
528
529         * use ctime_r, asctime_r
530
531 2012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
532
533         * Fixes for indirect offsets to handle apple disk formats
534
535 2012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
536
537         * Add windows date field types
538         * More info for windows shortcuts (incomplete)
539
540 2012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
541
542         * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
543
544 2011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
545
546         * Support Tilera architectures (tile64, tilepro, tilegx).
547
548 2011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
549
550         * Add magic for /usr/bin/env Perl scripts
551         * Weaken generic script magic to avoid clashing with
552         language-specific magic.
553
554 2011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
555
556         * Simplify if (p) free(p) to free(p).
557
558 2011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
559
560         * Remove hardwired token finding (names.h), turning it into soft
561         magic. Patterns are either anchored regexs or search/8192. English
562         language detection and PL/1 detection have been removed as they
563         were too fragile. -e tokens is still accepted for backwards
564         compatibility.
565         * Move 3ds patterns (which are commented out anyway) into autodesk
566         (they were, oddly, in c-lang).
567
568 2011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
569
570         * Tweak strength of generic hash-bang detectors to be less than
571         specific ones.
572         * Make an inconsistent description of Python scripts consistent.
573
574 2011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
575
576         * Fix minor error in file(1).
577
578 2011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
579
580         * Fix issue #150 (I hope).
581
582 2011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
583
584         * Python3 binding fixes from Kelly Anderson
585
586 2011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
587
588         * If a string type magic entry is marked as text or binary
589           only match text files against text entries and binary
590           files against binary entries.
591
592 2011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
593
594         * Don't wait for any subprocess, just the one we forked.
595
596 2011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
597
598         * If the application name is not set in a cdf file, try to see
599           if it has a directory with the application name on it.
600
601 2011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
602
603         * Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
604
605 2011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
606
607         * Don't use variable string formats.
608
609 2011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
610
611         * Fix detection of Zip files (Mantis #128).
612         * Make some minor improvements to file(1).
613         * Rename MIME types for filesystem objects for consistency with
614           xdg-utils. Typically this means that application/x-foo becomes
615           inode/foo, but some names also change slightly, e.g.
616           application/x-character-device becomes inode/chardevice.
617
618 2011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
619
620         * fix mingw compilation (Abradoks)
621
622 2011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
623
624         * remove patchlevel.h
625         * Fix read past allocated memory caused by double-incrementing
626           a pointer in a loop (reported by Roberto Maar)
627
628 2011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
629
630         * Fix cdf string buffer setting (Sven Anders)
631
632 2011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
633
634         * Eliminate MAXPATHLEN and use dynamic allocation for
635           path and file buffers.
636
637 2011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
638
639         * binary tests on magic entries with masks could spuriously
640           get converted to ascii.
641
642 2011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
643
644         * Improve file.man (remove BUGS, present email addresses consistently).
645
646 2011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
647
648         * add lrzip support (from Ville Skytta)
649
650 2011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
651
652         * fix CDF bounds checking (Guy Helmer)
653
654 2011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
655
656         * add cdf_ctime() that prints a meaningful error when time cannot
657           be converted.
658
659 2011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
660
661         * help and version output to stdout.
662
663         * When matching softmagic for ascii files, don't just print
664           the softmagic classification, keep going and print the
665           text classification too. This fixes broken troff files when
666           we moved them from keyword recognition to softmagic
667           (they stopped printing "with CRLF" etc.)
668           Reported by Doug McIlroy.
669
670 2011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
671
672         * Fix two potential buffer overruns in apprentice_list.
673
674 2011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
675
676         * New Python binding in pure Python.
677         * Update libmagic(3).
678
679 2011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
680
681         * Fix Python bindings (including recent Python 3 compatibility
682           update).
683
684 2011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
685
686         * magic/Makefile.am: make it easier to recover from magic build failures.
687         * Fix pstring length specifier parsing to avoid generating invalid
688           magic files.
689         * Add pstring length "J" (for "JPEG") to specify that the length
690           include itself.
691         * Fix JPEG comment parsing at last using pstring/HJ!
692         * Ignore section 5 man pages in doc/.cvsignore.
693
694 2010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
695
696         * Add pstring/BHhLl to specify the type of the length of pascal
697           strings.
698
699 2010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
700
701         * Fix "-e soft": it was ignored when softmagic was called
702           during asciimagic.
703         * Improve comments and use "unsigned char" in tar.h/is_tar.c.
704
705 2010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
706
707         * Make bug reporting addresses more visible.
708
709 2010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
710
711         * Add tcl magic from Gustaf Neumann
712
713 2010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
714
715         * Fix the whitespace comparing code (Christopher Chittleborough)
716
717 2010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
718
719         * allow string/t to work (Jan Kaluza)
720
721 2010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
722
723         * Apply some patches from Ubuntu and Fedora.
724
725 2010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
726
727         * Apply all patches from Debian package 5.04-6 which have not
728           already been applied and are not Debian-specific.
729
730 2010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
731
732         * Minor security fix to softmagic.c (don't use untrusted
733           string as printf format).
734
735 2010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
736
737         * MINGW32 portability from LRN
738
739         * Don't warn about escaping magic regex chars when we are in a regex.
740
741 2010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
742
743         * Only try to print prpsinfo for core files. (Jan Kaluza)
744
745 2010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
746
747         * Try more elf offsets for Debian core files.  (Arnaud Giersch)
748
749 2010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
750
751         * Clarify which sort of CDF we mean.
752
753 2010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
754
755         * Re-jig Zip file type magic so that unsupported special
756           Zip types (those with "mimetype" at offset 30) can be
757           recognized.
758
759 2010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
760
761         * Add support for OCF (EPUB) files (application/epub+zip)
762
763 2010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
764
765         * Fix core-dump from unbound loop:
766           https://bugzilla.redhat.com/show_bug.cgi?id=533245
767
768 2010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
769
770         * print proper mime for crystal reports file
771
772         * print the last summary information of a cdf document, not the
773           first so that nested documents print the right info
774
775 2010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
776
777         * bring back some fixes from OpenBSD:
778                 - make gcc2 builds file
779                 - fix typos in a magic file comment
780
781 2009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
782
783         * ctime/asctime can return NULL on some OS's although
784           they should not (Toshit Antani)
785
786 2009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
787
788         * Centralize magic path handling routines and remove the
789           special-casing from file.c so that the python module for
790           example comes up with the same magic path (Fixes ~/.magic
791           handling) (from Gab)
792
793 2009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
794
795         * When magic argument is a directory, read the files in
796           strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
797
798 2009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
799
800         * Combine overlapping epoc and psion magic files into one (epoc).
801
802         * Add some more EPOC MIME types.
803
804 2009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
805
806         * Fix 3 bugs (From Ian Darwin):
807             - file_showstr could move one past the end of the array
808             - parse_apple did not nul terminate the string in the overflow case
809             - parse_mime truncated the wrong string in the overflow case
810
811 2009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
812
813         * Include Localstuff when compiling magic.
814
815 2009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
816
817         * Fix logic for including mygetopts.h
818
819         * Make cdf.c compile again with debugging
820
821         * Add the necessary field handling for crystal reports files to work
822
823 2009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
824
825         * Stop "(if" identifying Lisp files, that's plain dumb!
826
827 2009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
828
829         * Add a couple of missing MP3 MIME types.
830
831 2009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
832
833         * Add full range of hash-bang tests for Python and Ruby.
834
835         * Add MIME types for Python and Ruby scripts.
836
837 2009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
838
839         * off by one in parsing hw capabilities in elf
840           (Cheng Renquan)
841
842 2009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
843         
844         * lint fixes and more from NetBSD
845
846 2009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
847
848         * Avoid null dereference in cdf code (Drew Yao)
849
850         * More cdf bounds checks and overflow checks
851
852 2009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
853
854         * Buffer overflow fixes from Drew Yao
855
856 2009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
857
858         * Fix more cdf lossage. All the documents I have
859           right now print the correct information.
860
861 2009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
862
863         * don't print \012- separators in the same magic entry 
864           if it consists of multiple magic printing lines.
865
866 2009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
867
868         * Avoid file descriptor leak in compress code from
869           (Daniel Novotny)
870
871 2009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
872
873         * Allow escaping of relation characters, so that we can say \^[A-Z]
874           and the ^ is not eaten as a relation char.
875
876         * Fix troff and fortran to their previous glory using
877           regex. This was broken since their removel from ascmagic.
878
879 2009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
880
881         * don't use strlen in strndup() (Toby Peterson)
882
883 2009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
884
885         * avoid c99 syntax.
886
887 2009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
888
889         * make the cdf code use the buffer first if available,
890           and then the fd code.
891
892 2009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
893
894         * look for struct option to determine if getopt.h is usable for IRIX.
895
896         * sanitize cdf document strings
897
898 2009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
899
900         * fix OS/2 warnings.
901
902 2008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
903
904         * fix initial offset calculation for non 4K sector files
905
906         * add loop limits to avoid DoS attacks by constructing
907           looping sector references.
908
909 2008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
910
911         * fix memory botches on cdf file parsing.
912
913         * exit with non-zero value for any error, not just for the last
914           file processed.
915
916 2008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
917
918         * Replace all str{cpy,cat} functions with strl{cpy,cat}
919         * Ensure that strl{cpy,cat} are included in libmagic,
920           as needed.
921
922 2008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
923
924         * Handle ID3 format files.
925
926 2008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
927
928         * Fix --mime, --mime-type and --mime-encoding under new scheme.
929
930         * Rename "ascii" to "text" and add "encoding" test.
931
932         * Return a precise ("utf-16le" or "utf-16be") MIME charset for
933           UTF-16.
934
935         * Fix error in comment caused by automatic indentation adding
936           words!
937
938 2008-11-06 10:35  Christos Zoulas <christos@astron.com>
939
940         * use memchr instead of strchr because the string
941           might not be NUL terminated (Scott MacVicar)
942
943 2008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
944
945         * Fix a printf with a non-literal format string.
946
947         * Fix formatting and punctuation of help for "--apple".
948
949 2008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
950
951         * Correct words counts in comments of struct magic.
952
953         * Fix handle_annotation to allow both Apple and MIME types to be
954           printed, and to return correct code if MIME type is
955           printed (1, not 0) or if there's an error (-1 not 1).
956
957         * Fix output of charset for MIME type (precede with semi-colon;
958           fixes Debian bug #501460).
959
960         * Fix potential attacks via conversion specifications in magic
961           strings.
962
963         * Add a FIXME for Debian bug #488562 (magic files should be
964           read in a defined order, by sorting the names).
965
966 2008-10-18 16:45  Christos Zoulas <christos@astron.com>
967
968         * Added APPLE file creator/type
969
970 2008-10-12 10:20  Christos Zoulas <christos@astron.com>
971
972         * Added CDF parsing
973
974 2008-10-09 16:40  Christos Zoulas <christos@astron.com>
975
976         * filesystem and msdos patches (Joerg Jenderek)
977
978 2008-10-09 13:20  Christos Zoulas <christos@astron.com>
979
980         * correct --exclude documentation issues: remove troff and fortran
981           and rename "token" to "tokens". (Randy McMurchy)
982
983 2008-10-01 10:30  Christos Zoulas <christos@astron.com>
984
985         * Read ~/.magic in addition to the default magic file not instead
986           of, as documented in the man page.
987
988 2008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
989
990         * Comment out graphviz patterns, as they match too many files.
991
992 2008-08-30 12:54  Christos Zoulas <christos@astron.com>
993
994         * Don't eat trailing \n in magic enties.
995
996         * Cast defines to allow compilation using a c++ compiler.
997
998 2008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
999
1000         * Add text/x-lua MIME type for Lua scripts.
1001
1002         * Escape { in regex in graphviz patterns.
1003
1004 2008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1005
1006         * Add MIME types for special files.
1007
1008         * Use access to give more accurate information for files that
1009           can't be opened.
1010
1011         * Add a TODO list.
1012
1013 2008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1014
1015         * add !:strength op to adjust magic strength (experimental)
1016
1017 2008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1018
1019         * Fix automake error in configure.ac.
1020
1021         * Add MIME type for Psion Sketch files.
1022
1023 2008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1024
1025         * Don't print warnings about bad namesize in stripped
1026           binaries with PT_NOTE is still there, and the actual
1027           note is gone (Jakub Jelinek)
1028
1029 2008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1030
1031         * magic/Magdir/elf:
1032           Note invalid byte order for little-endian SPARC32PLUS.
1033           Add SPARC V9 vendor extensions and memory model.
1034
1035         * src/elfclass.h:
1036           Pass target machine to doshn (for Solaris hardware capabilities).
1037
1038         * src/readelf.c (doshn):
1039           Add support for Solaris hardware/software capabilities.
1040
1041         * src/readelf.h:
1042           Ditto.
1043
1044         * src/vasprintf.c (dispatch):
1045           Add support for ll modifier.
1046
1047 2008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1048
1049         * Fix compiler warnings.
1050
1051         * remove stray printf, and fix a vprintf bug. (Martin Dorey)
1052
1053 2008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1054
1055         * src/Makefile.am:
1056           Ensure that getopt_long and [v]asprintf are included in libmagic,
1057           as needed.
1058
1059           Remove unnecessary EXTRA_DIST.
1060
1061         * src/Makefile.in:
1062           Rerun automake.
1063
1064         * src/vasprintf.c (dispatch):
1065           Fix variable precision bug: be sure to step past '*'.
1066
1067         * src/vasprintf.c (core):
1068           Remove unreachable code.
1069
1070         * src/apprentice.c (set_test_type):
1071           Add cast to avoid compiler warning.
1072
1073 2008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1074
1075         * Add magic submission guidelines (Abel Cheung)
1076
1077         * split msdos and windows magic (Abel Cheung)
1078
1079 2008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1080
1081         * >= <= is not supported, so fix the magic and warn about it.
1082           reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1083
1084 2008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1085
1086         * src/readelf.c (donote):
1087           ELF core file command name/line bug fixes and enhancements:
1088
1089           Try larger offsets first to avoid false matches
1090           from earlier data that happen to look like strings;
1091           this primarily affected SunOS 5.x 32-bit Intel core files.
1092
1093           Add support for command line (instead of just short name)
1094           for SunOS 5.x.
1095
1096           Add information about NT_PSINFO for SunOS 5.x.
1097
1098           Only trim whitespace from end of command line.
1099
1100 2007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1101
1102         * Change strength of ! from MULT to 0, as it matches almost
1103                   anything (Reuben Thomas)
1104
1105         * Debian fixes (Reuben Thomas)
1106
1107 2007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1108
1109         * Clarify UTF-8 BOM message (Reuben Thomas)
1110
1111         * Add HTML comment to token list in names.h
1112
1113 2007-02-04 15:50 Christos Zoulas <christos@astron.com>
1114
1115         * Debian fixes (Reuben Thomas)
1116
1117 2007-02-04 11:31 Christos Zoulas <christos@astron.com>
1118
1119         * !:mime annotations in magic files (Reuben Thomas)
1120
1121 2007-01-29 15:35 Christos Zoulas <christos@astron.com>
1122
1123         * zero out utime/utimes structs (Gavin Atkinson)
1124
1125 2007-01-26 13:45 Christos Zoulas <christos@astron.com>
1126
1127         * reduce writable data from Diego "Flameeyes" Petten
1128
1129 2007-12-28 15:06 Christos Zoulas <christos@astron.com>
1130
1131         * strtof detection
1132
1133         * remove bogus regex magic that could cause a DoS
1134
1135         * better mismatch version message
1136
1137 2007-12-27 11:35 Christos Zoulas <christos@astron.com>
1138
1139         * bring back some fixes from OpenBSD
1140
1141         * treat ELF dynamic objects as executables
1142
1143         * fix gcc warnings
1144
1145 2007-12-01 19:55 Christos Zoulas <christos@astron.com>
1146
1147         * make sure we have zlib.h and libz to compile the builtin
1148           decompress code
1149
1150 2007-10-28 20:48 Christos Zoulas <christos@astron.com>
1151
1152         * float and double magic support (Behan Webster)
1153
1154 2007-10-28 20:48 Christos Zoulas <christos@astron.com>
1155
1156         * Convert fortran to a soft test (Reuben Thomas)
1157
1158 2007-10-23  5:25 Christos Zoulas <christos@astron.com>
1159
1160         * Add --with-filename, and --no-filename (Reuben Thomas)
1161
1162 2007-10-23  3:59 Christos Zoulas <christos@astron.com>
1163
1164         * Rest of the mime split (Reuben Thomas)
1165
1166         * Make usage message generated from the flags so that
1167           they stay consistent (Reuben Thomas)
1168
1169 2007-10-20  3:06 Christos Zoulas <christos@astron.com>
1170
1171         * typo in comment, missing ifdef QUICK, remove unneeded code
1172                 (Charles Longeau)
1173
1174 2007-10-17  3:33 Christos Zoulas <christos@astron.com>
1175
1176         * Fix problem printing -\012 in some entries
1177
1178         * Separate magic type and encoding flags (Reuben Thomas)
1179
1180 2007-10-09  3:55 Christos Zoulas <christos@astron.com>
1181
1182         * configure fix for int64 and strndup (Reuben Thomas)
1183
1184 2007-09-26  4:45 Christos Zoulas <christos@astron.com>
1185
1186         * Add magic_descriptor() function.
1187
1188         * Fix regression in elf reading code where the core name was
1189           not being printed.
1190
1191         * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1192
1193 2007-08-19  6:30 Christos Zoulas <christos@astron.com>
1194
1195         * Make mime format consistent so that it can
1196           be easily parsed:
1197               mimetype [charset=character-set] [encoding=encoding-mime-type]
1198
1199           Remove spurious extra text from some MIME type printouts
1200           (mostly in is_tar).
1201
1202           Fix one case where -i produced nothing at all (for a 1-byte file,
1203           which is now classed as application/octet-stream).
1204
1205           Remove 7/8bit classifications, since they were arbitrary
1206           and not based on the file data.
1207
1208           This work was done by Reuben Thomas
1209
1210 2007-05-24 10:00 Christos Zoulas <christos@astron.com>
1211
1212         * Fix another integer overflow (Colin Percival)
1213
1214 2007-03-26 13:58 Christos Zoulas <christos@astron.com>
1215
1216         * make sure that all of struct magic_set is initialized appropriately
1217           (Brett)
1218
1219 2007-03-25 17:44 Christos Zoulas <christos@astron.com>
1220
1221         * reset left bytes in the buffer (Dmitry V. Levin)
1222
1223         * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1224           (Peter Avalos)
1225
1226 2007-03-15 10:51 Christos Zoulas <christos@astron.com>
1227
1228         * fix fortran and nroff reversed tests (Dmitry V. Levin)
1229
1230         * fix exclude option (Dmitry V. Levin)
1231
1232 2007-02-08 17:30 Christos Zoulas <christos@astron.com>
1233
1234         * fix integer underflow in file_printf which can lead to
1235           to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1236
1237 2007-02-05 11:35 Christos Zoulas <christos@astron.com>
1238
1239         * make socket/pipe reading more robust
1240
1241 2007-01-25 16:01 Christos Zoulas <christos@astron.com>
1242
1243         * Centralize all the tests in file_buffer.
1244
1245         * Add exclude flag.
1246
1247 2007-01-18 05:29 Anon Ymous <do@not.spam.me>
1248
1249         * Move the "type" detection code from parse() into its own table
1250           driven routine.  This avoids maintaining multiple lists in
1251           file.h.
1252
1253         * Add an optional conditional field (ust before the type field).
1254           This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1255           likely to go away.
1256
1257 2007-01-16 23:24 Anon Ymous <do@not.spam.me>
1258
1259         * Fix an initialization bug in check_mem().
1260
1261 2007-01-16 14:58 Anon Ymous <do@not.spam.me>
1262
1263         * Add a "default" type to print a message if nothing previously
1264           matched at that level or since the last default at that
1265           level.  This is useful for setting up switch-like statements.
1266           It can also be used to do if/else constructions without a
1267           redundant second test.
1268
1269         * Fix the "x" special case test so that one can test for that
1270           string with "=x".
1271
1272         * Allow "search" to search the entire buffer if the "/N"
1273           search count is missing.
1274
1275         * Make "regex" work!  It now starts its search at the
1276           specified offset and takes an (optional) "/N" line count to
1277           specify the search range; otherwise it searches to the end
1278           of the file.  The match is now grabbed correctly for format
1279           strings and the offset set to the end of the match.
1280
1281         * Add a "/s" flag to "regex" and "search" to set the offset to
1282           the start of the match.  By default the offset is set to the
1283           end of the match, as it is with other tests.  This is mostly
1284           useful for "regex".
1285
1286         * Make "search", "string" and "pstring" use the same
1287           file_strncmp() routine so that they support the same flags;
1288           "bestring16" and "lestring16" call the same routine, but
1289           with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1290           to ignore the case on uppercase (lowercase) characters in
1291           the test string.
1292
1293         * Strict adherence to C style string escapes.  A warnings are
1294           printed when compiling.  Note: previously "\a" was
1295           incorrectly translated to 'a' instead of an <alert> (i.e.,
1296           BELL, typically 0x07).
1297
1298         * Make this compile with "-Wall -Wextra" and all the warning
1299           flags used with WARNS=4 in the NetBSD source.  Also make it
1300           pass lint.
1301
1302         * Many "cleanups" and hopefully not too many new bugs!
1303
1304 2007-01-16 14:56 Anon Ymous <do@not.spam.me>
1305
1306         * make several more files compile with gcc warnings
1307           on and also make them pass lint.
1308
1309 2007-01-16 14:54 Anon Ymous <do@not.spam.me>
1310
1311         * fix a puts()/putc() usage goof in file.c
1312
1313         * make file.c compile with gcc warnings and pass lint
1314
1315 2006-12-11 16:49 Christos Zoulas <christos@astron.com>
1316
1317         * fix byteswapping issue
1318
1319         * report the number of bytes we tried to
1320           allocate when allocation fails
1321
1322         * add a few missed cases in the strength routine
1323
1324 2006-12-08 16:32 Christos Zoulas <christos@astron.com>
1325
1326         * store and print the line number of the magic
1327           entry for debugging.
1328
1329         * if the magic entry did not print anything,
1330           don't treat it as a match
1331
1332         * change the magic strength algorithm to take
1333           into account the relationship op.
1334
1335         * fix a bug in search where we could accidentally
1336           return a match.
1337
1338         * propagate the error return from match to
1339           file_softmagic.
1340
1341 2006-11-25 13:35 Christos Zoulas <christos@astron.com>
1342
1343         * Don't store the current offset in the magic
1344           struct, because it needs to be restored and
1345           it was not done properly all the time. Bug
1346           found by: Arkadiusz Miskiewicz
1347
1348         * Fix problem in the '\0' separator; and don't
1349           print it as an additional separator; print
1350           it as the only separator.
1351
1352 2006-11-17 10:51 Christos Zoulas <christos@astron.com>
1353
1354         * Added a -0 option to print a '\0' separator
1355           Etienne Buira <etienne.buira@free.fr>
1356
1357 2006-10-31 15:14 Christos Zoulas <christos@astron.com>
1358
1359         * Check offset before copying (Mike Frysinger)
1360
1361         * merge duplicated code
1362
1363         * add quad date support
1364
1365         * make sure that we nul terminate desc (Ryoji Kanai)
1366
1367         * don't process elf notes multiple times
1368
1369         * allow -z to report empty compressed files
1370
1371         * use calloc to initialize the ascii buffers (Jos van den Oever)
1372
1373 2006-06-08 11:11 Christos Zoulas <christos@astron.com>
1374
1375         * QNX fixes (Mike Gorchak)
1376
1377         * Add quad support.
1378
1379         * FIFO checks (Dr. Werner Fink)
1380
1381         * Linux ELF fixes (Dr. Werner Fink)
1382
1383         * Magic format checks (Dr. Werner Fink)
1384
1385         * Magic format function improvent (Karl Chen)
1386
1387 2006-05-03 11:11 Christos Zoulas <christos@astron.com>
1388
1389         * Pick up some elf changes and some constant fixes from SUSE
1390
1391         * Identify gnu tar vs. posix tar
1392
1393         * When keep going, don't print spurious newlines (Radek Vokal)
1394
1395 2006-04-01 12:02 Christos Zoulas <christos@astron.com>
1396
1397         * Use calloc instead of malloc (Mike Frysinger)
1398
1399         * Fix configure script to detect wctypes.h (Mike Frysinger)
1400
1401 2006-03-02 16:06 Christos Zoulas <christos@astron.com>
1402
1403         * Print empty if the file is (Mike Frysinger)
1404
1405         * Don't try to read past the end of the buffer (Mike Frysinger)
1406
1407         * Sort magic entries by strength [experimental]
1408
1409 2005-11-29 13:26 Christos Zoulas <christos@astron.com>
1410
1411         * Use iswprint() to convert the output string.
1412             (Bastien Nocera)
1413
1414 2005-10-31 8:54 Christos Zoulas <christos@astron.com>
1415
1416         * Fix regression where the core info was not completely processed
1417             (Radek Vokal)
1418
1419 2005-10-20 11:15 Christos Zoulas <christos@astron.com>
1420
1421         * Middle Endian magic (Diomidis Spinellis)
1422
1423 2005-10-17 11:15 Christos Zoulas <christos@astron.com>
1424
1425         * Open with O_BINARY for CYGWIN (Corinna Vinschen)
1426
1427         * Don't close stdin (Arkadiusz Miskiewicz)
1428
1429         * Look for note sections in non executables.
1430
1431 2005-09-20 13:33 Christos Zoulas <christos@astron.com>
1432
1433         * Don't print SVR4 Style in core files multiple times
1434             (Radek Vokal)
1435
1436 2005-08-27 04:09 Christos Zoulas <christos@astron.com>
1437
1438         * Cygwin changes Corinna Vinschen
1439
1440 2005-08-18 09:53 Christos Zoulas <christos@astron.com>
1441
1442         * Remove erroreous mention of /etc/magic in the file man page
1443           This is gentoo bug 101639. (Mike Frysinger)
1444
1445         * Cross-compile support and detection (Mike Frysinger)
1446
1447 2005-08-12 10:17 Christos Zoulas <christos@astron.com>
1448
1449         * Add -h flag and dereference symlinks if POSIXLY_CORRECT
1450           is set.
1451
1452 2005-07-29 13:57 Christos Zoulas <christos@astron.com>
1453
1454         * Avoid search and regex buffer overflows (Kelledin)
1455
1456 2005-07-12 11:48 Christos Zoulas <christos@astron.com>
1457
1458         * Provide stub implementations for {v,}nsprintf() for older
1459           OS's that don't have them.
1460         * Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1461           to AC_TYPE_MBSTATE_T.
1462
1463 2005-06-25 11:48 Christos Zoulas <christos@astron.com>
1464
1465         * Dynamically allocate the string buffers and make the
1466           default read size 256K.
1467
1468 2005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1469
1470         * Dragonfly ELF note support
1471
1472 2005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1473
1474         * Avoid NULL pointer dereference in time conversion.
1475
1476 2005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1477
1478         * Add indirect magic offset support, and search mode.
1479
1480 2005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1481
1482         * src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1483           If a CRLF text file happens to have CR at offset HOWMANY - 1
1484           (currently 0xffff), it should not be counted as CR line
1485           terminator.
1486           If a line has length exactly MAXLINELEN, it should not yet be
1487           treated as a ``very long line'', as MAXLINELEN is ``longest sane
1488           line length''.
1489           With CRLF, the line length was not computed correctly, and even
1490           lines of length MAXLINELEN - 1 were treated as ``very long''.
1491
1492 2004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1493
1494         * bzip2 needs a lot of input buffer space on some files
1495           before it can begin uncompressing. This makes file -z
1496           fail on some bz2 files. Fix it by giving it a copy of
1497           the file descriptor to read as much as it wants if we
1498           have access to it. <christos@astron.com>
1499
1500 2004-11-24 12:39  Christos Zoulas  <christos@astron.com>
1501
1502         * Stack smash fix, and ELF more conservative reading.
1503           Jakub Bogusz <qboosh@pld-linux.org>
1504
1505 2004-11-20 18:50  Christos Zoulas  <christos@astron.com>
1506
1507         * New FreeBSD version parsing code:
1508           Jon Noack <noackjr@alumni.rice.edu>
1509
1510         * Hackish support for ucs16 strings <christos@astron.com>
1511
1512 2004-11-13 03:07  Christos Zoulas  <christos@astron.com>
1513
1514         * print the file name and line number in syntax errors.
1515
1516 2004 10-12 10:50  Christos Zoulas  <christos@astron.com>
1517
1518         * Fix stack overwriting on 0 length strings: Tim Waugh
1519             <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
1520
1521 2004-09-27 11:30  Christos Zoulas  <christos@astron.com>
1522
1523         * Remove 3rd and 4th copyright clause; approved by Ian Darwin.
1524
1525         * Fix small memory leaks; caught by: Tamas Sarlos
1526             <stamas@csillag.ilab.sztaki.hu>
1527
1528 2004-07-24 16:33  Christos Zoulas  <christos@astron.com>
1529
1530         * magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
1531
1532         * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
1533
1534         * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
1535
1536         * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
1537
1538 2004-04-12 10:55  Christos Zoulas  <christos@astron.com>
1539
1540         * make sure that magic formats match magic types during compilation
1541
1542         * fix broken sgi magic file
1543
1544 2004-04-06 20:36  Christos Zoulas  <christos@astron.com>
1545
1546         * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
1547
1548         * magic fixes
1549
1550 2004-03-22 15:25  Christos Zoulas  <christos@astron.com>
1551
1552         * Lots of mime fixes
1553           (Joerg Ostertag) <ostertag@rechengilde.de>
1554
1555         * FreeBSD ELF version handling
1556           (Edwin Groothuis) <edwin@mavetju.org>
1557
1558         * correct cleanup in all cases; don't just close the file.
1559           (Christos Zoulas) <christos@astron.com>
1560
1561         * add gettext message catalogue support
1562           (Michael Piefel) <piefel@debian.org>
1563
1564         * better printout for unreadable files
1565           (Michael Piefel) <piefel@debian.org>
1566
1567         * compensate for missing MAXPATHLEN
1568           (Michael Piefel) <piefel@debian.org>
1569
1570         * add wide character string length computation
1571           (Michael Piefel) <piefel@debian.org>
1572
1573         * Avoid infinite loops caused by bad elf alignments
1574           or name and description note sizes. Reported by
1575           (Mikael Magnusson) <mmikael@comhem.se>
1576
1577 2004-03-09 13:55  Christos Zoulas  <christos@astron.com>
1578
1579         * Fix possible memory leak on error and add missing regfree
1580           (Dmitry V. Levin) <ldv@altlinux.org>
1581
1582 2003-12-23 12:12  Christos Zoulas  <christos@astron.com>
1583
1584         * fix -k flag (Maciej W. Rozycki)
1585
1586 2003-11-18 14:10  Christos Zoulas  <christos@astron.com>
1587
1588         * Try to give us much info as possible on corrupt elf files.
1589           (Willy Tarreau) <willy@w.ods.org>
1590         * Updated python bindings (Brett Funderburg)
1591            <brettf@deepfile.com>
1592
1593 2003-11-11 15:03  Christos Zoulas  <christos@astron.com>
1594
1595         * Include file.h first, because it includes config.h
1596           breaks largefile test macros otherwise.
1597           (Paul Eggert <eggert@CS.UCLA.EDU> via
1598            Lars Hecking <lhecking@nmrc.ie>)
1599
1600 2003-10-14 21:39  Christos Zoulas  <christos@astron.com>
1601
1602         * Python bindings (Brett Funderburg) <brettf@deepfile.com>
1603         * Don't lookup past the end of the buffer
1604           (Chad Hanson) <chanson@tcs-sec.com>
1605         * Add MAGIC_ERROR and api on magic_errno()
1606
1607 2003-10-08 12:40  Christos Zoulas  <christos@astron.com>
1608
1609         * handle error conditions from compile as fatal
1610           (Antti Kantee) <pooka@netbsd.org>
1611         * handle magic filename parsing sanely
1612         * more magic fixes.
1613         * fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
1614         * describe magic file handling
1615           (Bryan Henderson) <bryanh@giraffe-data.com>
1616
1617 2003-09-12 15:09  Christos Zoulas  <christos@astron.com>
1618
1619         * update magic files.
1620         * remove largefile support from file.h; it breaks things on most OS's
1621
1622 2003-08-10 10:25  Christos Zoulas  <christos@astron.com>
1623
1624         * fix unmapping'ing of mmaped files.
1625
1626 2003-07-10 12:03  Christos Zoulas  <christos@astron.com>
1627
1628         * don't exit with -1 on error; always exit 1 (Marty Leisner)
1629         * restore utimes code.
1630
1631 2003-06-10 17:03  Christos Zoulas  <christos@astron.com>
1632
1633         * make sure we don't access uninitialized memory.
1634         * pass lint
1635         * #ifdef __cplusplus in magic.h
1636
1637 2003-05-25 19:23  Christos Zoulas  <christos@astron.com>
1638
1639         * rename cvs magic file to revision to deal with
1640           case insensitive filesystems.
1641
1642 2003-05-23 17:03  Christos Zoulas  <christos@astron.com>
1643
1644         * documentation fixes from Michael Piefel <piefel@debian.org>
1645         * magic fixes (various)
1646         * revert basename magic in .mgc name determination
1647         * buffer protection in uncompress,
1648           signness issues,
1649           close files
1650           Maciej W. Rozycki <macro@ds2.pg.gda.pl
1651
1652 2003-04-21 20:12  Christos Zoulas  <christos@astron.com>
1653
1654         * fix zsh magic
1655
1656 2003-04-04 16:59  Christos Zoulas  <christos@astron.com>
1657
1658         * fix operand sort order in string.
1659
1660 2003-04-02 17:30  Christos Zoulas  <christos@astron.com>
1661
1662         * cleanup namespace in magic.h
1663
1664 2003-04-02 13:50  Christos Zoulas  <christos@astron.com>
1665
1666         * Magic additions (Alex Ott)
1667         * Fix bug that broke VPATH compilation (Peter Breitenlohner)
1668
1669 2003-03-28 16:03  Christos Zoulas  <christos@astron.com>
1670
1671         * remove packed attribute from magic struct.
1672         * make the magic struct properly aligned.
1673         * bump version number of compiled files to 2.
1674
1675 2003-03-27 13:10  Christos Zoulas  <christos@astron.com>
1676
1677         * separate tar detection and run it before softmagic.
1678         * fix reversed symlink test.
1679         * fix version printing.
1680         * make separator a string instead of a char.
1681         * update manual page and sort options.
1682
1683 2003-03-26 11:00  Christos Zoulas  <christos@astron.com>
1684
1685         * Pass lint
1686         * make NULL in magic_file mean stdin
1687         * Fix "-" argument to file to pass NULL to magic_file
1688         * avoid pointer casts by using memcpy
1689         * rename magic_buf -> magic_buffer
1690         * keep only the first error
1691         * manual page: new sentence, new line
1692         * fix typo in api function (magic_buf -> magic_buffer)