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