xref: /freebsd/contrib/file/ChangeLog (revision 02e9120893770924227138ba49df1edb3896112a)
12023-07-27  15:45  Christos Zoulas <christos@zoulas.com>
2
3	* release 5.45
4
52023-07-17  11:53  Christos Zoulas <christos@zoulas.com>
6
7	* PR/465: psrok1: Avoid muslc asctime_r crash
8
92023-05-21  13:05  Christos Zoulas <christos@zoulas.com>
10
11	* add SIMH tape format support
12
132023-02-09  12:50  Christos Zoulas <christos@zoulas.com>
14
15	* bump the max size of the elf section notes to be read to 128K
16	  and make it configurable
17
182023-01-08   1:08  Christos Zoulas <christos@zoulas.com>
19
20	* PR/415: Fix decompression with program returning empty
21
222022-12-26   1:47  Christos Zoulas <christos@zoulas.com>
23
24	* PR/408: fix -p with seccomp
25	* PR/412: fix MinGW compilation
26
272022-12-26  12:26  Christos Zoulas <christos@zoulas.com>
28
29	* release 5.44
30
312022-12-14   9:24  Christos Zoulas <christos@zoulas.com>
32
33	* Handle nan's so that we don't get internal floating point exceptions
34	  when they are enabled (Vincent Mihalkovic)
35
362022-10-23  10:21  Christos Zoulas <christos@zoulas.com>
37
38	* PR/397: Restore the ability to process files from stdin immediately.
39
402022-09-20  17:12  Christos Zoulas <christos@zoulas.com>
41
42	* fixed various clustefuzz issues
43
442022-09-19  15:54  Christos Zoulas <christos@zoulas.com>
45
46	* Fix error detection for decompression code (Vincent Mihalkovic)
47
482022-09-15  13:50  Christos Zoulas <christos@zoulas.com>
49
50	* Add MAGIC_NO_COMPRESS_FORK and use it to produce a more
51	  meaningful error message if we are sandboxing.
52
532022-09-15  10:45  Christos Zoulas <christos@zoulas.com>
54
55	* Add built-in lzip decompression support (Michal Gorny)
56
572022-09-14  10:35  Christos Zoulas <christos@zoulas.com>
58
59	* Add built-in zstd decompression support (Martin Rodriguez Reboredo)
60
612022-09-13  14:55  Christos Zoulas <christos@zoulas.com>
62
63	* release 5.43
64
652022-09-10   9:17  Christos Zoulas <christos@zoulas.com>
66
67	* Add octal indirect magic (Michal Gorny)
68
692022-08-17  11:43  Christos Zoulas <christos@zoulas.com>
70
71	* PR/374: avoid infinite loop in non-wide code (piru)
72	* PR/373: Obey MAGIC_CONTINUE with multiple magic files (vismarli)
73
742022-07-26  11:10  Christos Zoulas <christos@zoulas.com>
75
76	* Fix bug with large flist (Florian Weimer)
77
782022-07-07  13:21  Christos Zoulas <christos@zoulas.com>
79
80        * PR/364: Detect non-nul-terminated core filenames from QEMU
81	  (mam-ableton)
82
832022-07-04  15:45  Christos Zoulas <christos@zoulas.com>
84
85	* PR/359: Add support for http://ndjson.org/ (darose)
86	* PR/362: Fix wide printing (ro-ee)
87	* PR/358: Fix width for -f - (jpalus)
88	* PR/356: Fix JSON constant parsing (davewhite)
89
902022-06-10   9:40  Christos Zoulas <christos@zoulas.com>
91
92	* release 5.42
93
942022-05-31  14:50   Christos Zoulas <christos@zoulas.com>
95
96	* PR/348: add missing cases to prevent file from aborting on
97	  random magic files.
98
992022-05-27  21:05   Christos Zoulas <christos@zoulas.com>
100
101	* PR/351: octalify filenames when not raw before printing.
102
1032022-04-18  17:51   Christos Zoulas <christos@zoulas.com>
104
105	* fix regex cacheing bug (Dirk Mueller)
106	* merge file_regcomp and file_regerror() to simplify the code
107	  and reduce memory requirements for storing regexes (Dirk Mueller)
108
1092022-03-19  12:56   Christos Zoulas <christos@zoulas.com>
110
111	* cache regex (Dirk Mueller)
112	* detect filesystem full by flushing output (Dirk Mueller)
113
1142021-11-19  12:36   Christos Zoulas <christos@zoulas.com>
115
116	* implement running decompressor programs using
117	  posix_spawnp(2) instead of vfork(2)
118
1192021-10-24  11:51   Christos Zoulas <christos@zoulas.com>
120
121	* Add support for msdos dates and times
122
1232021-10-20   9:55   Christos Zoulas <christos@zoulas.com>
124
125	* use the system byte swapping functions if available (Werner Fink)
126
1272021-10-18  11:57  Christos Zoulas <christos@zoulas.com>
128
129	* release 5.41
130
1312021-09-23  03:51  Christos Zoulas <christos@zoulas.com>
132
133	* Avinash Sonawane: Fix tzname detection
134
1352021-09-03  09:17  Christos Zoulas <christos@zoulas.com>
136
137	* Fix relationship tests with "search" magic, don't short circuit
138	  logic
139
1402021-07-13  01:06  Christos Zoulas <christos@zoulas.com>
141
142	* Fix memory leak in compile mode
143
1442021-07-01  03:51  Christos Zoulas <christos@zoulas.com>
145
146	* PR/272: kiefermat: Only set returnval = 1 when we printed something
147	  (in all cases print or !print). This simplifies the logic and fixes
148	  the issue in the PR with -k and --mime-type there was no continuation
149	  printed before the default case.
150
1512021-06-30  13:07  Christos Zoulas <christos@zoulas.com>
152
153	* PR/270: Don't translate unprintable characters in %s magic formats
154	  when -r
155	* PR/269: Avoid undefined behavior with clang (adding offset to NULL)
156
1572021-05-09  18:38  Christos Zoulas <christos@zoulas.com>
158
159	* Add a new flag (f) that requires that the match is a full word,
160	   not a partial word match.
161	* Add varint types (unused)
162
1632021-04-19  17:17  Christos Zoulas <christos@zoulas.com>
164
165	* PR/256: mutableVoid: If the file is less than 3 bytes, use the file
166	  length to determine type
167	* PR/259: aleksandr.v.novichkov: mime printing through indirect magic
168	  is not taken into account, use match directly so that it does.
169
1702021-04-04  17:02  Christos Zoulas <christos@zoulas.com>
171
172	* count the total bytes found not the total byte positions
173	  in order to determine encoding (Anatol Belski)
174
1752021-03-30  20:21  Christos Zoulas <christos@zoulas.com>
176
177	* release 5.40
178
1792021-02-05  16:31  Christos Zoulas <christos@zoulas.com>
180
181	* PR/234: Add limit to the number of bytes to scan for encoding
182	* PR/230: Fix /T (trim flag) for regex
183
1842021-02-01  12:31  Christos Zoulas <christos@zoulas.com>
185	* PR/77: Trim trailing separator.
186
1872020-12-17  15:44  Christos Zoulas <christos@zoulas.com>
188
189	* PR/211: Convert system read errors from corrupt ELF
190	  files into human readable error messages
191
1922020-12-08  16:24  Christos Zoulas <christos@zoulas.com>
193
194	* fix multithreaded decompression file descriptor issue
195	  by using close-on-exec (Denys Vlasenko)
196
1972020-06-27  11:58  Christos Zoulas <christos@zoulas.com>
198
199	* Exclude surrogate pairs from utf-8 detection (Michael Liu)
200
2012020-06-25  12:53  Christos Zoulas <christos@zoulas.com>
202
203	* Include # to the list of ignored format chars (Werner Fink)
204
2052020-06-14  20:02  Christos Zoulas <christos@zoulas.com>
206
207	* release 5.39
208
2092020-06-07  20:00  Christos Zoulas <christos@zoulas.com>
210
211	* Remove unused subtype_mime (Steve Grubb)
212	* Remove unused check in okstat (Steve Grubb)
213	* Fix mime-type in elf binaries by making sure $x is set
214	* Fix indirect negative offsets broken by OFFNEGATIVE
215	* Fix GUID equality check
216	* PR/165: Handle empty array and strings in JSON
217	* PR/162: Add --exclude-quiet
218
2192020-06-06  15:33  Christos Zoulas <christos@zoulas.com>
220
221	* Fix memory leak in ascmagic (Steve Grubb)
222
2232020-06-04  00:21  Christos Zoulas <christos@zoulas.com>
224
225	* Fix string comparison length with ignore whitespace
226
2272020-05-31  00:11  Christos Zoulas <christos@zoulas.com>
228
229	* Fix mingwin 64 compilation
230
2312020-05-30  23:56  Christos Zoulas <christos@zoulas.com>
232
233	* PR/159: whitelist getpid needed for file_pipe2file()
234
2352020-05-09  18:57  Christos Zoulas <christos@zoulas.com>
236
237	* Indicate negative offsets with a flag OFFNEGATIVE
238	  so that -0 works.
239	* Introduce "offset" magic type that can be used to
240	  detect the file size, and bail on short files.
241	* document DER better in the magic man page.
242
2432020-03-11  21:53  Christos Zoulas <christos@zoulas.com>
244
245	* fix memory leaks (SonarQube)
246
2472020-03-08  21:33  Christos Zoulas <christos@zoulas.com>
248
249	* fix memory leaks (SonarQube)
250	* rewrite confusing loops (SonarQube)
251	* fix bogus test (SonarQube)
252	* pass a sized buffer to file_fmttime() (SonarQube)
253
254	* fix memory leaks (SonarQube)
255
2562020-02-20  15:50  Christos Zoulas <christos@zoulas.com>
257
258	* Don't allow * in printf formats, or the code itself (Christoph Biedl)
259	* Introduce a printf output size checker to avoid DoS attacks
260
2612020-02-17  17:22  Christos Zoulas <christos@zoulas.com>
262
263	* Avoid memory leak on error (oss-fuzz)
264	* Check length of string on DER before derefercing and add new types
265	* Add missing DER string (oss-fuzz)
266
2672020-02-16  20:45  Christos Zoulas <christos@zoulas.com>
268
269	* Add missing DER types, and debugging
270
2712020-02-13  13:10  Christos Zoulas <christos@zoulas.com>
272
273	* PR/140: Avoid abort with hand-crafted magic file (gockelhahn)
274	* PR/139  Avoid DoS in printf with hand-crafted magic file (gockelhahn)
275	* PR/138: Avoid crash with hand-crafted magic file (gockelhahn)
276
2772020-02-12  17:30  Christos Zoulas <christos@zoulas.com>
278
279	* PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine)
280
2812019-12-24  14:16  Christos Zoulas <christos@zoulas.com>
282
283	* add guid support
284
2852019-12-16  21:11  Christos Zoulas <christos@zoulas.com>
286
287	* release 5.38
288
2892019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
290    Document changes since the previous release:
291	- Always accept -S (no sandbox) even if we don't support sandboxing
292	- More syscalls elided for sandboxing
293	- For ELF dynamic means having an interpreter not just PT_DYNAMIC
294	- Check for large ELF session header offset
295	- When saving and restoring a locale, keep the locale name in our
296	  own storage.
297	- Add a flag to disable CSV file detection.
298	- Don't pass NULL/0 to memset to appease sanitizers.
299	- Avoid spurious prints when looks for extensions or apple strings
300	  in fsmagic.
301	- Add builtin decompressors for xz and and bzip.
302	- Add a limit for the number of CDF elements.
303	- More checks for overflow in CDF.
304
3052019-05-14  22:26  Christos Zoulas <christos@zoulas.com>
306
307	* release 5.37
308
3092019-05-09  22:27  Christos Zoulas <christos@zoulas.com>
310
311	* Make sure that continuation separators are printed
312	  with -k within softmagic
313
3142019-05-06  22:27  Christos Zoulas <christos@zoulas.com>
315
316	* Change SIGPIPE saving and restoring during compression to use
317	  sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko)
318	* Cache stat(2) calls more to reduce number of calls (Denys Vlasenko)
319
3202019-05-06  17:25  Christos Zoulas <christos@zoulas.com>
321
322	* PR/77: Handle --mime-type and -k correctly.
323
3242019-05-03  15:26  Christos Zoulas <christos@zoulas.com>
325
326	* Switch decompression code to use vfork() because
327	  tools like rpmdiff and rpmbuild call libmagic
328	  with large process footprints (Denys Vlasenko)
329
3302019-04-07  14:05  Christos Zoulas <christos@zoulas.com>
331
332	* PR/75: --enable-zlib, did not work.
333
3342019-02-27  11:54  Christos Zoulas <christos@zoulas.com>
335
336	* Improve regex efficiency (Michael Schroeder) by:
337		1. Prefixing regex searches with regular search
338		   for keywords where possible
339		2. Using memmem(3) where available
340
3412019-02-20  10:16  Christos Zoulas <christos@zoulas.com>
342
343	* release 5.36
344
3452019-02-19  15:30  Christos Zoulas <christos@zoulas.com>
346
347	* Fix cast to use cast macros
348	* Add UCS-32 builtin detection (PR/61) reported by tmc
349
3502019-02-18  18:24  Christos Zoulas <christos@zoulas.com>
351
352	* Fix stack read (PR/62) and write (PR/64) stack overflows
353	  reported by spinpx
354
3552018-10-18  19:32  Christos Zoulas <christos@zoulas.com>
356
357	* release 5.35
358
3592018-09-10  20:38  Christos Zoulas <christos@zoulas.com>
360
361	* Add FreeBSD ELF core file support (John Baldwin)
362
3632018-08-20  18:40  Christos Zoulas <christos@zoulas.com>
364
365	* PR/30: Allow all parameter values to be set (don't treat 0 specially)
366	* handle default annotations on the softmagic match instead at the
367	  end.
368
3692018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
370
371	* PR/23: Recognize JSON files
372
3732018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
374
375	* PR/18: file --mime-encoding should not print mime-type
376
3772018-07-25   8:50  Christos Zoulas <christos@zoulas.com>
378
379	* release 5.34
380
3812018-06-22  16:38  Christos Zoulas <christos@zoulas.com>
382
383	* Add Quad indirect offsets
384
3852018-05-24  14:10  Christos Zoulas <christos@zoulas.com>
386
387	* Enable parsing of ELF dynamic sections to handle PIE better
388
3892018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
390
391	* release 5.33
392
3932018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
394
395	* extend the support for ${x?:} expansions for magic descriptions
396
3972018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
398
399	* add support for ${x?:} in mime types to handle
400	  pie binaries.
401
4022017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
403
404	* add support for negative offsets (offsets from the end of file)
405
4062017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
407
408	* close the file on error when writing magic (Steve Grubb)
409
4102017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
411
412	* seccomp support (Paul Moore)
413
4142017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
415
416	* release 5.32
417
4182017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
419
420	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
421
4222017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
423
424	* Fix always true condition (Thomas Jarosch)
425
4262017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
427
428	* pickier parsing of numeric values in magic files.
429
4302017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
431
432	* PR/615 add magic_getflags()
433
4342017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
435
436	* release 5.31
437
4382017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
439
440	* remove trailing spaces from magic files
441	* refactor is_tar
442	* better bounds checks for cdf
443
4442017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
445
446	* release 5.30
447
4482017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
449
450	* If we exceeded the offset in a search return no match
451	  (Christoph Biedl)
452	* Be more lenient on corrupt CDF files (Christoph Biedl)
453
4542017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
455
456	* pacify ubsan sign extension (oss-fuzz/524)
457
4582017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
459
460	* off by one in cdf parsing (PR/593)
461	* report debugging sections in elf (PR/591)
462
4632016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
464
465	* Allow @@@ in extensions
466	* Add missing overflow check in der magic (Jonas Wagner)
467
4682016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
469
470	* release 5.29
471
4722016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
473
474	* der getlength overflow (Jonas Wagner)
475	* multiple magic file load failure (Christoph Biedl)
476
4772016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
478
479	* CDF parsing improvements (Guy Helmer)
480
4812016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
482
483	* Add support for signed indirect offsets
484
4852016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
486
487	* cat /dev/null | file - should print empty (Christoph Biedl)
488
4892016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
490
491	* Bump string size from 64 to 96.
492
4932016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
494
495	* PR/556: Fix separators on annotations.
496
4972016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
498
499	* release 5.28
500	* fix leak on allocation failure
501
5022016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
503
504	* PR/555: Avoid overflow for offset > nbytes
505	* PR/550: Segv on DER parsing:
506	    - use the correct variable for length
507	    - set offset to 0 on failure.
508
5092016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
510
511	* release 5.27
512
5132016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
514
515	* Errors comparing DER entries or computing offsets
516	  are just indications of malformed non-DER files.
517	  Don't print them.
518	* Offset comparison was off-by-one.
519	* Fix compression code (Werner Fink)
520	* Put new bytes constant in the right file (not the generated one)
521
5222016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
523
524	* release 5.26
525
5262016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
527
528	* make the number of bytes read from files configurable.
529
5302016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
531
532	* Add bounds checks for DER code (discovered by Thomas Jarosch)
533	* Change indirect recursion limit to indirect use count and
534	  bump from 15 to 50 to prevent abuse.
535
5362016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
537
538	* Add -00 which prints filename\0description\0
539
5402016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
541
542	* Fix ID3 indirect parsing
543
5442016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
545
546	* add DER parsing capability
547
5482015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
549
550	* provide dprintf(3) for the OS's that don't have it.
551
5522015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
553
554	* redo the compression code report decompression errors
555
5562015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
557
558	* REG_STARTEND code is not working as expected, delete it.
559
5602015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
561
562	* Add zlib support if we have it.
563
5642015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
565
566	* PR/492: compression forking was broken with magic_buffer.
567
5682015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
569
570	* release 5.25
571
5722015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
573
574	* add a limit to the length of regex searches
575
5762015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
577
578	* fix problems with --parameter (Christoph Biedl)
579
5802015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
581
582	* Windows fixes PR/466 (Jason Hood)
583
5842015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
585
586	* release 5.24
587
5882015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
589
590	* redo long option encoding to fix off-by-one in 5.23
591
5922015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
593
594	* release 5.23
595
5962015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
597
598	* Fix issue with regex range for magic with offset
599	* Always return true from mget with USE (success to mget not match
600	  indication). Fixes mime evaluation after USE magic
601	* PR/459: Don't insert magic entries to the list if there are parsing
602	  errors for them.
603
6042015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
605
606	* PR/455: Add utf-7 encoding
607
6082015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
609
610	* PR/455: Implement -Z, look inside, but don't report on compression
611	* PR/454: Fix allocation error on bad magic.
612
6132015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
614
615	* handle MAGIC_CONTINUE everywhere, not just in softmagic
616
6172015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
618
619	* don't print descriptions for NAME types when mime.
620
6212015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
622
623	* Add --extension to list the known extensions for this file type
624	  Idea by Andrew J Roazen
625
6262015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
627
628	* Bump file search buffer size to 1M.
629
6302015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
631
632	* Fix multiple issues with date formats reported by Christoph Biedl:
633		- T_LOCAL meaning was reversed
634		- Arithmetic did not work
635	  Also stop adjusting daylight savings for gmt printing.
636
6372015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
638
639	* PR/411: Fix memory corruption from corrupt cdf file.
640
6412015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
642
643	* release 5.22
644
6452015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
646
647	* add indirect relative for TIFF/Exif
648
6492014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
650
651	* restructure elf note printing to avoid repeated messages
652	* add note limit, suggested by Alexander Cherepanov
653
6542014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
655
656	* Bail out on partial pread()'s (Alexander Cherepanov)
657	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
658
6592014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
660
661	* PR/405: ignore SIGPIPE from uncompress programs
662	* change printable -> file_printable and use it in
663	  more places for safety
664	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
665	  is present print the interpreter name.
666
6672014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
668
669	* release 5.21
670
6712014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
672
673	* Allow setting more parameters from the command line.
674	* Split name/use and indirect magic recursion limits.
675
6762014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
677
678	* Adjust ELF parameters and the default recursion
679	  level.
680	* Allow setting the recursion level dynamically.
681
6822014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
683
684	* The following fixes resulted from Thomas Jarosch's fuzzing
685	  tests that revealed severe performance issues on pathological
686	  input:
687	    - limit number of elf program and sections processing
688	    - abort elf note processing quickly
689	    - reduce the number of recursion levels from 20 to 10
690	    - preserve error messages in indirect magic handling
691
692	This is tracked as CVE-2014-8116 and CVE-2014-8117
693
6942014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
695
696	* fix bogus free in the user buffer case.
697
6982014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
699
700	* fix out of bounds read for pascal strings
701	* fix memory leak (not freeing the head of each mlist)
702
7032014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
704
705	* When printing strings from a file, convert them to printable
706	  on a byte by byte basis, so that we don't get issues with
707	  locale's trying to interpret random byte streams as UTF-8 and
708	  having printf error out with EILSEQ.
709
7102014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
711
712	* fix bounds in note reading (Francisco Alonso / Red Hat)
713
7142014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
715
716	* fix autoconf glue for setlocale and locale_t; some OS's
717	  have locale_t in xlocale.h
718
7192014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
720
721	* release 5.20
722
7232014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
724
725	* recognize encrypted CDF documents
726
7272014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
728
729	* add magic_load_buffers from Brooks Davis
730
7312014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
732
733	* add thumbs.db support
734
7352014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
736
737	* release 5.19
738
7392014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
740
741	* Misc buffer overruns and missing buffer size tests in cdf parsing
742	  (Francisco Alonso, Jan Kaluza)
743
7442014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
745
746	* Enforce limit of 8K on regex searches that have no limits
747	* Allow the l modifier for regex to mean line count. Default
748	  to byte count. If line count is specified, assume a max
749	  of 80 characters per line to limit the byte count.
750	* Don't allow conversions to be used for dates, allowing
751	  the mask field to be used as an offset.
752
7532014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
754
755	* Make the range operator limit the length of the
756	  regex search.
757
7582014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
759
760	* PR/347: Windows fixes
761	* PR/352: Hangul word processor recognition
762	* PR/354: Encoding irregularities in text files
763
7642014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
765
766	* Fix uninitialized title in CDF files (Jan Kaluza)
767
7682014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
769
770	* PR/351: Fix compilation of empty files
771
7722014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
773
774	* Fix integer formats: We don't specify 'l' or
775	  'h' and 'hh' specifiers anymore, only 'll' for
776	  quads and nothing for the rest. This is so that
777	  magic writing is simpler.
778
7792014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
780
781	* PR/341: Jan Kaluza, fix memory leak
782	* PR/342: Jan Kaluza, fix out of bounds read
783
7842014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
785
786	* Fix issue with long formats not matching fmtcheck
787
7882014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
789
790	* release 5.18
791
7922014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
793
794	* add fmtcheck(3) for those who don't have it
795
7962014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
797
798	* prevent mime entries from being attached to magic
799	  entries with no descriptions
800
801	* adjust magic strength for regex type
802
803	* remove superfluous ascmagic with encoding test
804
8052014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
806
807	* fix regression fix echo -ne "\012\013\014" | file -i -
808	  which printed "binary" instead of "application/octet-stream"
809
810	* add size_t overflow check for magic file size
811
8122014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
813
814	* experimental support for matching with CFD CLSID
815
8162014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
817
818	* Cache old LC_CTYPE locale before setting it to "C", so
819	  we can use it to restore LC_CTYPE instead of asking
820	  setlocale() to scan the environment variables.
821
8222014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
823
824	* Count recursion levels through indirect magic
825
8262014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
827
828	* Prevent infinite recursion on files with indirect offsets of 0
829
8302014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
831
832	* Add -E flag that makes file print filesystem errors to stderr
833	  and exit.
834
8352014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
836
837	* mime printing could print results from multiple magic entries
838	  if there were multiple matches.
839	* in some cases overflow was not detected when computing offsets
840	  in softmagic.
841
8422013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
843
844	* use strcasestr() to for cdf strings
845	* reset to the "C" locale while doing regex operations, or case
846	  insensitive comparisons; this is provisional
847
8482013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
849
850	* always leave magic file loaded, don't unload for magic_check, etc.
851	* fix default encoding to binary instead of unknown which broke recently
852	* handle empty and one byte files, less specially so that
853	  --mime-encoding does not break completely.
854		`
8552013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
856
857	* fix erroneous non-zero exit code from non-existent file and message
858
8592013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
860
861	* add CDF MSI file detection (Guy Helmer)
862
8632013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
864
865	* Don't mix errors and regular output if there was an error
866	* in magic_descriptor() don't close the file and try to restore
867	  its position
868
8692013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
870
871	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
872
8732013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
874
875	* Fix spacing issues in softmagic and elf (Jan Kaluza)
876
8772013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
878
879	* Fix segmentation fault with multiple magic_load commands.
880
8812013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
882
883	* The way "default" was implemented was not very useful
884	  because the "if something was printed at that level"
885	  was not easily controlled by the user, and the format
886	  was bound to a string which is too restrictive. Add
887	  a "clear" for that level keyword and make "default"
888	  void. This way one can do:
889
890		>>13	clear	x
891		>>13	lelong	1	foo
892		>>13	lelong	2	bar
893		>>13	default	x
894		>>>13	lelong	x	unknown %x
895
8962013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
897
898	* disallow strength setting in "name" entries
899
9002013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
901
902	* fix recursive magic separator printing
903
9042013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
905
906	* limit recursion level for mget
907	* fix pread() related breakage in cdf
908	* handle offsets properly in recursive "use"
909
9102013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
911
912	* add elf reading of debug info to determine if file is stripped
913	  (Jan Kaluza)
914	* use pread()
915
9162013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
917
918	* change mime description size from 64 to 80 to accommodate OOXML.
919
9202013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
921
922	* Warn about inconsistent continuation levels.
923	* Change fsmagic to add a space after it prints.
924
9252013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
926
927	* Make getline public so that file can link against it.
928	  Perhaps it is better to rename it, or hide it differently.
929	  Fixes builds on platforms that do not provide it.
930
9312013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
932
933	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
934	  what long, int, short, etc is (Guy Harris)
935
9362013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
937
938	* add magic_version function and constant
939	* Redo memory allocation and de-allocation.
940	  (prevents double frees on non mmap platforms)
941	* Fix bug with name/use having to do with passing
942	  found state from the parent to the child and back.
943
9442012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
945
946	* Only print elf capabilities for archs we know (Jan Kaluza)
947
9482012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
949
950	* Add "name" and "use" file types in order to look
951	  inside mach-o files.
952
9532012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
954
955	* make --version exit 0 (Matthew Schultz)
956	* add string/T (Jan Kaluza)
957
9582012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
959
960	* add z and t modifiers for our own vasprintf
961	* search for $HOME/.magic.mgc if it is there first
962	* fix reads from a pipe, and preserve errno
963
9642012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
965
966	* use ctime_r, asctime_r
967
9682012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
969
970	* Fixes for indirect offsets to handle apple disk formats
971
9722012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
973
974	* Add windows date field types
975	* More info for windows shortcuts (incomplete)
976
9772012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
978
979	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
980
9812011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
982
983	* Support Tilera architectures (tile64, tilepro, tilegx).
984
9852011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
986
987	* Add magic for /usr/bin/env Perl scripts
988	* Weaken generic script magic to avoid clashing with
989	language-specific magic.
990
9912011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
992
993	* Simplify if (p) free(p) to free(p).
994
9952011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
996
997	* Remove hardwired token finding (names.h), turning it into soft
998	magic. Patterns are either anchored regexs or search/8192. English
999	language detection and PL/1 detection have been removed as they
1000	were too fragile. -e tokens is still accepted for backwards
1001	compatibility.
1002	* Move 3ds patterns (which are commented out anyway) into autodesk
1003	(they were, oddly, in c-lang).
1004
10052011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
1006
1007	* Tweak strength of generic hash-bang detectors to be less than
1008	specific ones.
1009	* Make an inconsistent description of Python scripts consistent.
1010
10112011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
1012
1013	* Fix minor error in file(1).
1014
10152011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
1016
1017	* Fix issue #150 (I hope).
1018
10192011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
1020
1021	* Python3 binding fixes from Kelly Anderson
1022
10232011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
1024
1025	* If a string type magic entry is marked as text or binary
1026	  only match text files against text entries and binary
1027	  files against binary entries.
1028
10292011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
1030
1031	* Don't wait for any subprocess, just the one we forked.
1032
10332011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
1034
1035	* If the application name is not set in a cdf file, try to see
1036	  if it has a directory with the application name on it.
1037
10382011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
1039
1040	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
1041
10422011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
1043
1044	* Don't use variable string formats.
1045
10462011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
1047
1048	* Fix detection of Zip files (Mantis #128).
1049	* Make some minor improvements to file(1).
1050	* Rename MIME types for filesystem objects for consistency with
1051	  xdg-utils. Typically this means that application/x-foo becomes
1052	  inode/foo, but some names also change slightly, e.g.
1053	  application/x-character-device becomes inode/chardevice.
1054
10552011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1056
1057	* fix mingw compilation (Abradoks)
1058
10592011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1060
1061	* remove patchlevel.h
1062	* Fix read past allocated memory caused by double-incrementing
1063	  a pointer in a loop (reported by Roberto Maar)
1064
10652011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
1066
1067	* Fix cdf string buffer setting (Sven Anders)
1068
10692011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
1070
1071	* Eliminate MAXPATHLEN and use dynamic allocation for
1072	  path and file buffers.
1073
10742011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
1075
1076	* binary tests on magic entries with masks could spuriously
1077	  get converted to ascii.
1078
10792011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
1080
1081	* Improve file.man (remove BUGS, present email addresses consistently).
1082
10832011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
1084
1085	* add lrzip support (from Ville Skytta)
1086
10872011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
1088
1089	* fix CDF bounds checking (Guy Helmer)
1090
10912011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
1092
1093	* add cdf_ctime() that prints a meaningful error when time cannot
1094	  be converted.
1095
10962011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
1097
1098	* help and version output to stdout.
1099
1100	* When matching softmagic for ascii files, don't just print
1101	  the softmagic classification, keep going and print the
1102	  text classification too. This fixes broken troff files when
1103	  we moved them from keyword recognition to softmagic
1104	  (they stopped printing "with CRLF" etc.)
1105	  Reported by Doug McIlroy.
1106
11072011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
1108
1109	* Fix two potential buffer overruns in apprentice_list.
1110
11112011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
1112
1113	* New Python binding in pure Python.
1114	* Update libmagic(3).
1115
11162011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
1117
1118	* Fix Python bindings (including recent Python 3 compatibility
1119	  update).
1120
11212011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
1122
1123	* magic/Makefile.am: make it easier to recover from magic build failures.
1124	* Fix pstring length specifier parsing to avoid generating invalid
1125	  magic files.
1126	* Add pstring length "J" (for "JPEG") to specify that the length
1127	  include itself.
1128	* Fix JPEG comment parsing at last using pstring/HJ!
1129	* Ignore section 5 man pages in doc/.cvsignore.
1130
11312010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
1132
1133	* Add pstring/BHhLl to specify the type of the length of pascal
1134	  strings.
1135
11362010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
1137
1138	* Fix "-e soft": it was ignored when softmagic was called
1139	  during asciimagic.
1140	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
1141
11422010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
1143
1144	* Make bug reporting addresses more visible.
1145
11462010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
1147
1148	* Add tcl magic from Gustaf Neumann
1149
11502010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
1151
1152	* Fix the whitespace comparing code (Christopher Chittleborough)
1153
11542010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
1155
1156	* allow string/t to work (Jan Kaluza)
1157
11582010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
1159
1160	* Apply some patches from Ubuntu and Fedora.
1161
11622010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
1163
1164	* Apply all patches from Debian package 5.04-6 which have not
1165	  already been applied and are not Debian-specific.
1166
11672010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
1168
1169	* Minor security fix to softmagic.c (don't use untrusted
1170	  string as printf format).
1171
11722010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
1173
1174	* MINGW32 portability from LRN
1175
1176	* Don't warn about escaping magic regex chars when we are in a regex.
1177
11782010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
1179
1180	* Only try to print prpsinfo for core files. (Jan Kaluza)
1181
11822010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
1183
1184	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
1185
11862010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
1187
1188	* Clarify which sort of CDF we mean.
1189
11902010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
1191
1192	* Re-jig Zip file type magic so that unsupported special
1193	  Zip types (those with "mimetype" at offset 30) can be
1194	  recognized.
1195
11962010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
1197
1198	* Add support for OCF (EPUB) files (application/epub+zip)
1199
12002010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
1201
1202	* Fix core-dump from unbound loop:
1203	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
1204
12052010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
1206
1207	* print proper mime for crystal reports file
1208
1209	* print the last summary information of a cdf document, not the
1210	  first so that nested documents print the right info
1211
12122010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
1213
1214	* bring back some fixes from OpenBSD:
1215		- make gcc2 builds file
1216		- fix typos in a magic file comment
1217
12182009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
1219
1220	* ctime/asctime can return NULL on some OS's although
1221	  they should not (Toshit Antani)
1222
12232009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
1224
1225	* Centralize magic path handling routines and remove the
1226	  special-casing from file.c so that the python module for
1227	  example comes up with the same magic path (Fixes ~/.magic
1228	  handling) (from Gab)
1229
12302009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
1231
1232	* When magic argument is a directory, read the files in
1233	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
1234
12352009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
1236
1237	* Combine overlapping epoc and psion magic files into one (epoc).
1238
1239	* Add some more EPOC MIME types.
1240
12412009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
1242
1243	* Fix 3 bugs (From Ian Darwin):
1244	    - file_showstr could move one past the end of the array
1245	    - parse_apple did not nul terminate the string in the overflow case
1246	    - parse_mime truncated the wrong string in the overflow case
1247
12482009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
1249
1250	* Include Localstuff when compiling magic.
1251
12522009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
1253
1254	* Fix logic for including mygetopts.h
1255
1256	* Make cdf.c compile again with debugging
1257
1258	* Add the necessary field handling for crystal reports files to work
1259
12602009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
1261
1262	* Stop "(if" identifying Lisp files, that's plain dumb!
1263
12642009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
1265
1266	* Add a couple of missing MP3 MIME types.
1267
12682009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
1269
1270	* Add full range of hash-bang tests for Python and Ruby.
1271
1272	* Add MIME types for Python and Ruby scripts.
1273
12742009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
1275
1276	* off by one in parsing hw capabilities in elf
1277	  (Cheng Renquan)
1278
12792009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
1280
1281	* lint fixes and more from NetBSD
1282
12832009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
1284
1285	* Avoid null dereference in cdf code (Drew Yao)
1286
1287	* More cdf bounds checks and overflow checks
1288
12892009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
1290
1291	* Buffer overflow fixes from Drew Yao
1292
12932009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
1294
1295	* Fix more cdf lossage. All the documents I have
1296	  right now print the correct information.
1297
12982009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
1299
1300	* don't print \012- separators in the same magic entry
1301	  if it consists of multiple magic printing lines.
1302
13032009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
1304
1305	* Avoid file descriptor leak in compress code from
1306	  (Daniel Novotny)
1307
13082009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
1309
1310	* Allow escaping of relation characters, so that we can say \^[A-Z]
1311	  and the ^ is not eaten as a relation char.
1312
1313	* Fix troff and fortran to their previous glory using
1314	  regex. This was broken since their removel from ascmagic.
1315
13162009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
1317
1318	* don't use strlen in strndup() (Toby Peterson)
1319
13202009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
1321
1322	* avoid c99 syntax.
1323
13242009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
1325
1326	* make the cdf code use the buffer first if available,
1327	  and then the fd code.
1328
13292009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
1330
1331	* look for struct option to determine if getopt.h is usable for IRIX.
1332
1333	* sanitize cdf document strings
1334
13352009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
1336
1337	* fix OS/2 warnings.
1338
13392008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
1340
1341	* fix initial offset calculation for non 4K sector files
1342
1343	* add loop limits to avoid DoS attacks by constructing
1344	  looping sector references.
1345
13462008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
1347
1348	* fix memory botches on cdf file parsing.
1349
1350	* exit with non-zero value for any error, not just for the last
1351	  file processed.
1352
13532008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
1354
1355	* Replace all str{cpy,cat} functions with strl{cpy,cat}
1356	* Ensure that strl{cpy,cat} are included in libmagic,
1357	  as needed.
1358
13592008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
1360
1361	* Handle ID3 format files.
1362
13632008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
1364
1365	* Fix --mime, --mime-type and --mime-encoding under new scheme.
1366
1367	* Rename "ascii" to "text" and add "encoding" test.
1368
1369	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
1370	  UTF-16.
1371
1372	* Fix error in comment caused by automatic indentation adding
1373	  words!
1374
13752008-11-06 10:35  Christos Zoulas <christos@astron.com>
1376
1377	* use memchr instead of strchr because the string
1378	  might not be NUL terminated (Scott MacVicar)
1379
13802008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
1381
1382	* Fix a printf with a non-literal format string.
1383
1384	* Fix formatting and punctuation of help for "--apple".
1385
13862008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
1387
1388	* Correct words counts in comments of struct magic.
1389
1390	* Fix handle_annotation to allow both Apple and MIME types to be
1391	  printed, and to return correct code if MIME type is
1392	  printed (1, not 0) or if there's an error (-1 not 1).
1393
1394	* Fix output of charset for MIME type (precede with semi-colon;
1395	  fixes Debian bug #501460).
1396
1397	* Fix potential attacks via conversion specifications in magic
1398	  strings.
1399
1400	* Add a FIXME for Debian bug #488562 (magic files should be
1401	  read in a defined order, by sorting the names).
1402
14032008-10-18 16:45  Christos Zoulas <christos@astron.com>
1404
1405	* Added APPLE file creator/type
1406
14072008-10-12 10:20  Christos Zoulas <christos@astron.com>
1408
1409	* Added CDF parsing
1410
14112008-10-09 16:40  Christos Zoulas <christos@astron.com>
1412
1413	* filesystem and msdos patches (Joerg Jenderek)
1414
14152008-10-09 13:20  Christos Zoulas <christos@astron.com>
1416
1417	* correct --exclude documentation issues: remove troff and fortran
1418	  and rename "token" to "tokens". (Randy McMurchy)
1419
14202008-10-01 10:30  Christos Zoulas <christos@astron.com>
1421
1422	* Read ~/.magic in addition to the default magic file not instead
1423	  of, as documented in the man page.
1424
14252008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1426
1427	* Comment out graphviz patterns, as they match too many files.
1428
14292008-08-30 12:54  Christos Zoulas <christos@astron.com>
1430
1431	* Don't eat trailing \n in magic enties.
1432
1433	* Cast defines to allow compilation using a c++ compiler.
1434
14352008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1436
1437	* Add text/x-lua MIME type for Lua scripts.
1438
1439	* Escape { in regex in graphviz patterns.
1440
14412008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1442
1443	* Add MIME types for special files.
1444
1445	* Use access to give more accurate information for files that
1446	  can't be opened.
1447
1448	* Add a TODO list.
1449
14502008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1451
1452	* add !:strength op to adjust magic strength (experimental)
1453
14542008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1455
1456	* Fix automake error in configure.ac.
1457
1458	* Add MIME type for Psion Sketch files.
1459
14602008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1461
1462	* Don't print warnings about bad namesize in stripped
1463	  binaries with PT_NOTE is still there, and the actual
1464	  note is gone (Jakub Jelinek)
1465
14662008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1467
1468	* magic/Magdir/elf:
1469	  Note invalid byte order for little-endian SPARC32PLUS.
1470	  Add SPARC V9 vendor extensions and memory model.
1471
1472	* src/elfclass.h:
1473	  Pass target machine to doshn (for Solaris hardware capabilities).
1474
1475	* src/readelf.c (doshn):
1476	  Add support for Solaris hardware/software capabilities.
1477
1478	* src/readelf.h:
1479	  Ditto.
1480
1481	* src/vasprintf.c (dispatch):
1482	  Add support for ll modifier.
1483
14842008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1485
1486	* Fix compiler warnings.
1487
1488	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1489
14902008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1491
1492	* src/Makefile.am:
1493	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1494	  as needed.
1495
1496	  Remove unnecessary EXTRA_DIST.
1497
1498	* src/Makefile.in:
1499	  Rerun automake.
1500
1501	* src/vasprintf.c (dispatch):
1502	  Fix variable precision bug: be sure to step past '*'.
1503
1504	* src/vasprintf.c (core):
1505	  Remove unreachable code.
1506
1507	* src/apprentice.c (set_test_type):
1508	  Add cast to avoid compiler warning.
1509
15102008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1511
1512	* Add magic submission guidelines (Abel Cheung)
1513
1514	* split msdos and windows magic (Abel Cheung)
1515
15162008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1517
1518	* >= <= is not supported, so fix the magic and warn about it.
1519	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1520
15212008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1522
1523	* src/readelf.c (donote):
1524	  ELF core file command name/line bug fixes and enhancements:
1525
1526	  Try larger offsets first to avoid false matches
1527	  from earlier data that happen to look like strings;
1528	  this primarily affected SunOS 5.x 32-bit Intel core files.
1529
1530	  Add support for command line (instead of just short name)
1531	  for SunOS 5.x.
1532
1533	  Add information about NT_PSINFO for SunOS 5.x.
1534
1535	  Only trim whitespace from end of command line.
1536
15372007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1538
1539	* Change strength of ! from MULT to 0, as it matches almost
1540		  anything (Reuben Thomas)
1541
1542	* Debian fixes (Reuben Thomas)
1543
15442007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1545
1546	* Clarify UTF-8 BOM message (Reuben Thomas)
1547
1548	* Add HTML comment to token list in names.h
1549
15502007-02-04 15:50 Christos Zoulas <christos@astron.com>
1551
1552	* Debian fixes (Reuben Thomas)
1553
15542007-02-04 11:31 Christos Zoulas <christos@astron.com>
1555
1556	* !:mime annotations in magic files (Reuben Thomas)
1557
15582007-01-29 15:35 Christos Zoulas <christos@astron.com>
1559
1560	* zero out utime/utimes structs (Gavin Atkinson)
1561
15622007-01-26 13:45 Christos Zoulas <christos@astron.com>
1563
1564	* reduce writable data from Diego "Flameeyes" Petten
1565
15662007-12-28 15:06 Christos Zoulas <christos@astron.com>
1567
1568	* strtof detection
1569
1570	* remove bogus regex magic that could cause a DoS
1571
1572	* better mismatch version message
1573
15742007-12-27 11:35 Christos Zoulas <christos@astron.com>
1575
1576	* bring back some fixes from OpenBSD
1577
1578	* treat ELF dynamic objects as executables
1579
1580	* fix gcc warnings
1581
15822007-12-01 19:55 Christos Zoulas <christos@astron.com>
1583
1584	* make sure we have zlib.h and libz to compile the builtin
1585	  decompress code
1586
15872007-10-28 20:48 Christos Zoulas <christos@astron.com>
1588
1589 	* float and double magic support (Behan Webster)
1590
15912007-10-28 20:48 Christos Zoulas <christos@astron.com>
1592
1593	* Convert fortran to a soft test (Reuben Thomas)
1594
15952007-10-23  5:25 Christos Zoulas <christos@astron.com>
1596
1597	* Add --with-filename, and --no-filename (Reuben Thomas)
1598
15992007-10-23  3:59 Christos Zoulas <christos@astron.com>
1600
1601	* Rest of the mime split (Reuben Thomas)
1602
1603	* Make usage message generated from the flags so that
1604	  they stay consistent (Reuben Thomas)
1605
16062007-10-20  3:06 Christos Zoulas <christos@astron.com>
1607
1608	* typo in comment, missing ifdef QUICK, remove unneeded code
1609		(Charles Longeau)
1610
16112007-10-17  3:33 Christos Zoulas <christos@astron.com>
1612
1613	* Fix problem printing -\012 in some entries
1614
1615	* Separate magic type and encoding flags (Reuben Thomas)
1616
16172007-10-09  3:55 Christos Zoulas <christos@astron.com>
1618
1619	* configure fix for int64 and strndup (Reuben Thomas)
1620
16212007-09-26  4:45 Christos Zoulas <christos@astron.com>
1622
1623	* Add magic_descriptor() function.
1624
1625	* Fix regression in elf reading code where the core name was
1626	  not being printed.
1627
1628	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1629
16302007-08-19  6:30 Christos Zoulas <christos@astron.com>
1631
1632	* Make mime format consistent so that it can
1633	  be easily parsed:
1634	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1635
1636	  Remove spurious extra text from some MIME type printouts
1637	  (mostly in is_tar).
1638
1639	  Fix one case where -i produced nothing at all (for a 1-byte file,
1640	  which is now classed as application/octet-stream).
1641
1642	  Remove 7/8bit classifications, since they were arbitrary
1643	  and not based on the file data.
1644
1645	  This work was done by Reuben Thomas
1646
16472007-05-24 10:00 Christos Zoulas <christos@astron.com>
1648
1649	* Fix another integer overflow (Colin Percival)
1650
16512007-03-26 13:58 Christos Zoulas <christos@astron.com>
1652
1653	* make sure that all of struct magic_set is initialized appropriately
1654	  (Brett)
1655
16562007-03-25 17:44 Christos Zoulas <christos@astron.com>
1657
1658	* reset left bytes in the buffer (Dmitry V. Levin)
1659
1660	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1661	  (Peter Avalos)
1662
16632007-03-15 10:51 Christos Zoulas <christos@astron.com>
1664
1665	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1666
1667	* fix exclude option (Dmitry V. Levin)
1668
16692007-02-08 17:30 Christos Zoulas <christos@astron.com>
1670
1671	* fix integer underflow in file_printf which can lead to
1672	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1673
16742007-02-05 11:35 Christos Zoulas <christos@astron.com>
1675
1676	* make socket/pipe reading more robust
1677
16782007-01-25 16:01 Christos Zoulas <christos@astron.com>
1679
1680	* Centralize all the tests in file_buffer.
1681
1682	* Add exclude flag.
1683
16842007-01-18 05:29 Anon Ymous <do@not.spam.me>
1685
1686	* Move the "type" detection code from parse() into its own table
1687	  driven routine.  This avoids maintaining multiple lists in
1688	  file.h.
1689
1690	* Add an optional conditional field (ust before the type field).
1691	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1692	  likely to go away.
1693
16942007-01-16 23:24 Anon Ymous <do@not.spam.me>
1695
1696	* Fix an initialization bug in check_mem().
1697
16982007-01-16 14:58 Anon Ymous <do@not.spam.me>
1699
1700	* Add a "default" type to print a message if nothing previously
1701	  matched at that level or since the last default at that
1702	  level.  This is useful for setting up switch-like statements.
1703	  It can also be used to do if/else constructions without a
1704	  redundant second test.
1705
1706	* Fix the "x" special case test so that one can test for that
1707	  string with "=x".
1708
1709	* Allow "search" to search the entire buffer if the "/N"
1710	  search count is missing.
1711
1712	* Make "regex" work!  It now starts its search at the
1713	  specified offset and takes an (optional) "/N" line count to
1714	  specify the search range; otherwise it searches to the end
1715	  of the file.  The match is now grabbed correctly for format
1716	  strings and the offset set to the end of the match.
1717
1718	* Add a "/s" flag to "regex" and "search" to set the offset to
1719	  the start of the match.  By default the offset is set to the
1720	  end of the match, as it is with other tests.  This is mostly
1721	  useful for "regex".
1722
1723	* Make "search", "string" and "pstring" use the same
1724	  file_strncmp() routine so that they support the same flags;
1725	  "bestring16" and "lestring16" call the same routine, but
1726	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1727	  to ignore the case on uppercase (lowercase) characters in
1728	  the test string.
1729
1730	* Strict adherence to C style string escapes.  A warnings are
1731	  printed when compiling.  Note: previously "\a" was
1732	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1733	  BELL, typically 0x07).
1734
1735	* Make this compile with "-Wall -Wextra" and all the warning
1736	  flags used with WARNS=4 in the NetBSD source.  Also make it
1737	  pass lint.
1738
1739	* Many "cleanups" and hopefully not too many new bugs!
1740
17412007-01-16 14:56 Anon Ymous <do@not.spam.me>
1742
1743	* make several more files compile with gcc warnings
1744	  on and also make them pass lint.
1745
17462007-01-16 14:54 Anon Ymous <do@not.spam.me>
1747
1748	* fix a puts()/putc() usage goof in file.c
1749
1750	* make file.c compile with gcc warnings and pass lint
1751
17522006-12-11 16:49 Christos Zoulas <christos@astron.com>
1753
1754	* fix byteswapping issue
1755
1756	* report the number of bytes we tried to
1757	  allocate when allocation fails
1758
1759	* add a few missed cases in the strength routine
1760
17612006-12-08 16:32 Christos Zoulas <christos@astron.com>
1762
1763	* store and print the line number of the magic
1764	  entry for debugging.
1765
1766	* if the magic entry did not print anything,
1767	  don't treat it as a match
1768
1769	* change the magic strength algorithm to take
1770	  into account the relationship op.
1771
1772	* fix a bug in search where we could accidentally
1773	  return a match.
1774
1775	* propagate the error return from match to
1776	  file_softmagic.
1777
17782006-11-25 13:35 Christos Zoulas <christos@astron.com>
1779
1780	* Don't store the current offset in the magic
1781	  struct, because it needs to be restored and
1782	  it was not done properly all the time. Bug
1783	  found by: Arkadiusz Miskiewicz
1784
1785	* Fix problem in the '\0' separator; and don't
1786	  print it as an additional separator; print
1787	  it as the only separator.
1788
17892006-11-17 10:51 Christos Zoulas <christos@astron.com>
1790
1791	* Added a -0 option to print a '\0' separator
1792	  Etienne Buira <etienne.buira@free.fr>
1793
17942006-10-31 15:14 Christos Zoulas <christos@astron.com>
1795
1796	* Check offset before copying (Mike Frysinger)
1797
1798	* merge duplicated code
1799
1800	* add quad date support
1801
1802	* make sure that we nul terminate desc (Ryoji Kanai)
1803
1804	* don't process elf notes multiple times
1805
1806	* allow -z to report empty compressed files
1807
1808	* use calloc to initialize the ascii buffers (Jos van den Oever)
1809
18102006-06-08 11:11 Christos Zoulas <christos@astron.com>
1811
1812	* QNX fixes (Mike Gorchak)
1813
1814	* Add quad support.
1815
1816	* FIFO checks (Dr. Werner Fink)
1817
1818	* Linux ELF fixes (Dr. Werner Fink)
1819
1820	* Magic format checks (Dr. Werner Fink)
1821
1822	* Magic format function improvement (Karl Chen)
1823
18242006-05-03 11:11 Christos Zoulas <christos@astron.com>
1825
1826	* Pick up some elf changes and some constant fixes from SUSE
1827
1828	* Identify gnu tar vs. posix tar
1829
1830	* When keep going, don't print spurious newlines (Radek Vokal)
1831
18322006-04-01 12:02 Christos Zoulas <christos@astron.com>
1833
1834	* Use calloc instead of malloc (Mike Frysinger)
1835
1836	* Fix configure script to detect wctypes.h (Mike Frysinger)
1837
18382006-03-02 16:06 Christos Zoulas <christos@astron.com>
1839
1840	* Print empty if the file is (Mike Frysinger)
1841
1842	* Don't try to read past the end of the buffer (Mike Frysinger)
1843
1844	* Sort magic entries by strength [experimental]
1845
18462005-11-29 13:26 Christos Zoulas <christos@astron.com>
1847
1848	* Use iswprint() to convert the output string.
1849	    (Bastien Nocera)
1850
18512005-10-31 8:54 Christos Zoulas <christos@astron.com>
1852
1853	* Fix regression where the core info was not completely processed
1854	    (Radek Vokal)
1855
18562005-10-20 11:15 Christos Zoulas <christos@astron.com>
1857
1858	* Middle Endian magic (Diomidis Spinellis)
1859
18602005-10-17 11:15 Christos Zoulas <christos@astron.com>
1861
1862	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1863
1864	* Don't close stdin (Arkadiusz Miskiewicz)
1865
1866	* Look for note sections in non executables.
1867
18682005-09-20 13:33 Christos Zoulas <christos@astron.com>
1869
1870	* Don't print SVR4 Style in core files multiple times
1871	    (Radek Vokal)
1872
18732005-08-27 04:09 Christos Zoulas <christos@astron.com>
1874
1875	* Cygwin changes Corinna Vinschen
1876
18772005-08-18 09:53 Christos Zoulas <christos@astron.com>
1878
1879	* Remove erroreous mention of /etc/magic in the file man page
1880	  This is gentoo bug 101639. (Mike Frysinger)
1881
1882	* Cross-compile support and detection (Mike Frysinger)
1883
18842005-08-12 10:17 Christos Zoulas <christos@astron.com>
1885
1886	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1887	  is set.
1888
18892005-07-29 13:57 Christos Zoulas <christos@astron.com>
1890
1891	* Avoid search and regex buffer overflows (Kelledin)
1892
18932005-07-12 11:48 Christos Zoulas <christos@astron.com>
1894
1895	* Provide stub implementations for {v,}nsprintf() for older
1896	  OS's that don't have them.
1897	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1898	  to AC_TYPE_MBSTATE_T.
1899
19002005-06-25 11:48 Christos Zoulas <christos@astron.com>
1901
1902	* Dynamically allocate the string buffers and make the
1903	  default read size 256K.
1904
19052005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1906
1907	* Dragonfly ELF note support
1908
19092005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1910
1911	* Avoid NULL pointer dereference in time conversion.
1912
19132005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1914
1915	* Add indirect magic offset support, and search mode.
1916
19172005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1918
1919	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1920	  If a CRLF text file happens to have CR at offset HOWMANY - 1
1921	  (currently 0xffff), it should not be counted as CR line
1922	  terminator.
1923	  If a line has length exactly MAXLINELEN, it should not yet be
1924	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
1925	  line length''.
1926	  With CRLF, the line length was not computed correctly, and even
1927	  lines of length MAXLINELEN - 1 were treated as ``very long''.
1928
19292004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1930
1931	* bzip2 needs a lot of input buffer space on some files
1932	  before it can begin uncompressing. This makes file -z
1933	  fail on some bz2 files. Fix it by giving it a copy of
1934	  the file descriptor to read as much as it wants if we
1935	  have access to it. <christos@astron.com>
1936
19372004-11-24 12:39  Christos Zoulas  <christos@astron.com>
1938
1939	* Stack smash fix, and ELF more conservative reading.
1940	  Jakub Bogusz <qboosh@pld-linux.org>
1941
19422004-11-20 18:50  Christos Zoulas  <christos@astron.com>
1943
1944	* New FreeBSD version parsing code:
1945	  Jon Noack <noackjr@alumni.rice.edu>
1946
1947	* Hackish support for ucs16 strings <christos@astron.com>
1948
19492004-11-13 03:07  Christos Zoulas  <christos@astron.com>
1950
1951	* print the file name and line number in syntax errors.
1952
19532004 10-12 10:50  Christos Zoulas  <christos@astron.com>
1954
1955	* Fix stack overwriting on 0 length strings: Tim Waugh
1956	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
1957
19582004-09-27 11:30  Christos Zoulas  <christos@astron.com>
1959
1960	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
1961
1962	* Fix small memory leaks; caught by: Tamas Sarlos
1963	    <stamas@csillag.ilab.sztaki.hu>
1964
19652004-07-24 16:33  Christos Zoulas  <christos@astron.com>
1966
1967	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
1968
1969	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
1970
1971	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
1972
1973  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
1974
19752004-04-12 10:55  Christos Zoulas  <christos@astron.com>
1976
1977	* make sure that magic formats match magic types during compilation
1978
1979	* fix broken sgi magic file
1980
19812004-04-06 20:36  Christos Zoulas  <christos@astron.com>
1982
1983	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
1984
1985	* magic fixes
1986
19872004-03-22 15:25  Christos Zoulas  <christos@astron.com>
1988
1989	* Lots of mime fixes
1990	  (Joerg Ostertag) <ostertag@rechengilde.de>
1991
1992	* FreeBSD ELF version handling
1993	  (Edwin Groothuis) <edwin@mavetju.org>
1994
1995	* correct cleanup in all cases; don't just close the file.
1996	  (Christos Zoulas) <christos@astron.com>
1997
1998	* add gettext message catalogue support
1999	  (Michael Piefel) <piefel@debian.org>
2000
2001	* better printout for unreadable files
2002	  (Michael Piefel) <piefel@debian.org>
2003
2004	* compensate for missing MAXPATHLEN
2005	  (Michael Piefel) <piefel@debian.org>
2006
2007	* add wide character string length computation
2008	  (Michael Piefel) <piefel@debian.org>
2009
2010	* Avoid infinite loops caused by bad elf alignments
2011	  or name and description note sizes. Reported by
2012	  (Mikael Magnusson) <mmikael@comhem.se>
2013
20142004-03-09 13:55  Christos Zoulas  <christos@astron.com>
2015
2016	* Fix possible memory leak on error and add missing regfree
2017	  (Dmitry V. Levin) <ldv@altlinux.org>
2018
20192003-12-23 12:12  Christos Zoulas  <christos@astron.com>
2020
2021	* fix -k flag (Maciej W. Rozycki)
2022
20232003-11-18 14:10  Christos Zoulas  <christos@astron.com>
2024
2025	* Try to give us much info as possible on corrupt elf files.
2026	  (Willy Tarreau) <willy@w.ods.org>
2027	* Updated python bindings (Brett Funderburg)
2028	   <brettf@deepfile.com>
2029
20302003-11-11 15:03  Christos Zoulas  <christos@astron.com>
2031
2032	* Include file.h first, because it includes config.h
2033	  breaks largefile test macros otherwise.
2034	  (Paul Eggert <eggert@CS.UCLA.EDU> via
2035	   Lars Hecking <lhecking@nmrc.ie>)
2036
20372003-10-14 21:39  Christos Zoulas  <christos@astron.com>
2038
2039	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
2040	* Don't lookup past the end of the buffer
2041	  (Chad Hanson) <chanson@tcs-sec.com>
2042	* Add MAGIC_ERROR and api on magic_errno()
2043
20442003-10-08 12:40  Christos Zoulas  <christos@astron.com>
2045
2046	* handle error conditions from compile as fatal
2047	  (Antti Kantee) <pooka@netbsd.org>
2048	* handle magic filename parsing sanely
2049	* more magic fixes.
2050	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
2051	* describe magic file handling
2052	  (Bryan Henderson) <bryanh@giraffe-data.com>
2053
20542003-09-12 15:09  Christos Zoulas  <christos@astron.com>
2055
2056	* update magic files.
2057	* remove largefile support from file.h; it breaks things on most OS's
2058
20592003-08-10 10:25  Christos Zoulas  <christos@astron.com>
2060
2061	* fix unmapping'ing of mmaped files.
2062
20632003-07-10 12:03  Christos Zoulas  <christos@astron.com>
2064
2065	* don't exit with -1 on error; always exit 1 (Marty Leisner)
2066	* restore utimes code.
2067
20682003-06-10 17:03  Christos Zoulas  <christos@astron.com>
2069
2070	* make sure we don't access uninitialized memory.
2071	* pass lint
2072	* #ifdef __cplusplus in magic.h
2073
20742003-05-25 19:23  Christos Zoulas  <christos@astron.com>
2075
2076	* rename cvs magic file to revision to deal with
2077	  case insensitive filesystems.
2078
20792003-05-23 17:03  Christos Zoulas  <christos@astron.com>
2080
2081	* documentation fixes from Michael Piefel <piefel@debian.org>
2082	* magic fixes (various)
2083	* revert basename magic in .mgc name determination
2084	* buffer protection in uncompress,
2085	  signness issues,
2086	  close files
2087	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
2088
20892003-04-21 20:12  Christos Zoulas  <christos@astron.com>
2090
2091	* fix zsh magic
2092
20932003-04-04 16:59  Christos Zoulas  <christos@astron.com>
2094
2095	* fix operand sort order in string.
2096
20972003-04-02 17:30  Christos Zoulas  <christos@astron.com>
2098
2099	* cleanup namespace in magic.h
2100
21012003-04-02 13:50  Christos Zoulas  <christos@astron.com>
2102
2103	* Magic additions (Alex Ott)
2104	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
2105
21062003-03-28 16:03  Christos Zoulas  <christos@astron.com>
2107
2108	* remove packed attribute from magic struct.
2109	* make the magic struct properly aligned.
2110	* bump version number of compiled files to 2.
2111
21122003-03-27 13:10  Christos Zoulas  <christos@astron.com>
2113
2114	* separate tar detection and run it before softmagic.
2115	* fix reversed symlink test.
2116	* fix version printing.
2117	* make separator a string instead of a char.
2118	* update manual page and sort options.
2119
21202003-03-26 11:00  Christos Zoulas  <christos@astron.com>
2121
2122	* Pass lint
2123	* make NULL in magic_file mean stdin
2124	* Fix "-" argument to file to pass NULL to magic_file
2125	* avoid pointer casts by using memcpy
2126	* rename magic_buf -> magic_buffer
2127	* keep only the first error
2128	* manual page: new sentence, new line
2129	* fix typo in api function (magic_buf -> magic_buffer)
2130