xref: /freebsd/contrib/file/ChangeLog (revision b55f5e1c4ae375d92dfd597901f238a230e868da)
12024-11-27  14:44  Christos Zoulas <christos@zoulas.com>
2
3	* release 5.46
4	* Add OFFPOSITIVE
5
62024-11-25  13:56  Christos Zoulas <christos@zoulas.com>
7
8	* avoid leaking symbols in libmagic
9
102024-11-10  13:56  Christos Zoulas <christos@zoulas.com>
11
12	* PR/562: jsummers: Search/regex offsets are absolute to the
13	  beginning of the file, so adjust them by subtracting the
14	  offset that the "use" starts so that we don't double-count it.
15
16
172024-11-09  19:30  Christos Zoulas <christos@zoulas.com>
18 	* PR/543: matshch: bump nbuf so we can get the flags into the buffer.
19
20
212024-11-02  14:34  Christos Zoulas <christos@zoulas.com>
22
23 	* Add Android elf notes (enh)
24
252023-12-29  12:55  Christos Zoulas <christos@zoulas.com>
26
27	* Add limit for number of magic warnings allowed
28
292023-07-29  12:55  Christos Zoulas <christos@zoulas.com>
30
31	* check regex bounds (found by clusterfuzz)
32
332023-07-27  15:45  Christos Zoulas <christos@zoulas.com>
34
35	* release 5.45
36
372023-07-17  11:53  Christos Zoulas <christos@zoulas.com>
38
39	* PR/465: psrok1: Avoid muslc asctime_r crash
40
412023-05-21  13:05  Christos Zoulas <christos@zoulas.com>
42
43	* add SIMH tape format support
44
452023-02-09  12:50  Christos Zoulas <christos@zoulas.com>
46
47	* bump the max size of the elf section notes to be read to 128K
48	  and make it configurable
49
502023-01-08   1:08  Christos Zoulas <christos@zoulas.com>
51
52	* PR/415: Fix decompression with program returning empty
53
542022-12-26   1:47  Christos Zoulas <christos@zoulas.com>
55
56	* PR/408: fix -p with seccomp
57	* PR/412: fix MinGW compilation
58
592022-12-26  12:26  Christos Zoulas <christos@zoulas.com>
60
61	* release 5.44
62
632022-12-14   9:24  Christos Zoulas <christos@zoulas.com>
64
65	* Handle nan's so that we don't get internal floating point exceptions
66	  when they are enabled (Vincent Mihalkovic)
67
682022-10-23  10:21  Christos Zoulas <christos@zoulas.com>
69
70	* PR/397: Restore the ability to process files from stdin immediately.
71
722022-09-20  17:12  Christos Zoulas <christos@zoulas.com>
73
74	* fixed various clustefuzz issues
75
762022-09-19  15:54  Christos Zoulas <christos@zoulas.com>
77
78	* Fix error detection for decompression code (Vincent Mihalkovic)
79
802022-09-15  13:50  Christos Zoulas <christos@zoulas.com>
81
82	* Add MAGIC_NO_COMPRESS_FORK and use it to produce a more
83	  meaningful error message if we are sandboxing.
84
852022-09-15  10:45  Christos Zoulas <christos@zoulas.com>
86
87	* Add built-in lzip decompression support (Michal Gorny)
88
892022-09-14  10:35  Christos Zoulas <christos@zoulas.com>
90
91	* Add built-in zstd decompression support (Martin Rodriguez Reboredo)
92
932022-09-13  14:55  Christos Zoulas <christos@zoulas.com>
94
95	* release 5.43
96
972022-09-10   9:17  Christos Zoulas <christos@zoulas.com>
98
99	* Add octal indirect magic (Michal Gorny)
100
1012022-08-17  11:43  Christos Zoulas <christos@zoulas.com>
102
103	* PR/374: avoid infinite loop in non-wide code (piru)
104	* PR/373: Obey MAGIC_CONTINUE with multiple magic files (vismarli)
105
1062022-07-26  11:10  Christos Zoulas <christos@zoulas.com>
107
108	* Fix bug with large flist (Florian Weimer)
109
1102022-07-07  13:21  Christos Zoulas <christos@zoulas.com>
111
112        * PR/364: Detect non-nul-terminated core filenames from QEMU
113	  (mam-ableton)
114
1152022-07-04  15:45  Christos Zoulas <christos@zoulas.com>
116
117	* PR/359: Add support for http://ndjson.org/ (darose)
118	* PR/362: Fix wide printing (ro-ee)
119	* PR/358: Fix width for -f - (jpalus)
120	* PR/356: Fix JSON constant parsing (davewhite)
121
1222022-06-10   9:40  Christos Zoulas <christos@zoulas.com>
123
124	* release 5.42
125
1262022-05-31  14:50   Christos Zoulas <christos@zoulas.com>
127
128	* PR/348: add missing cases to prevent file from aborting on
129	  random magic files.
130
1312022-05-27  21:05   Christos Zoulas <christos@zoulas.com>
132
133	* PR/351: octalify filenames when not raw before printing.
134
1352022-04-18  17:51   Christos Zoulas <christos@zoulas.com>
136
137	* fix regex cacheing bug (Dirk Mueller)
138	* merge file_regcomp and file_regerror() to simplify the code
139	  and reduce memory requirements for storing regexes (Dirk Mueller)
140
1412022-03-19  12:56   Christos Zoulas <christos@zoulas.com>
142
143	* cache regex (Dirk Mueller)
144	* detect filesystem full by flushing output (Dirk Mueller)
145
1462021-11-19  12:36   Christos Zoulas <christos@zoulas.com>
147
148	* implement running decompressor programs using
149	  posix_spawnp(2) instead of vfork(2)
150
1512021-10-24  11:51   Christos Zoulas <christos@zoulas.com>
152
153	* Add support for msdos dates and times
154
1552021-10-20   9:55   Christos Zoulas <christos@zoulas.com>
156
157	* use the system byte swapping functions if available (Werner Fink)
158
1592021-10-18  11:57  Christos Zoulas <christos@zoulas.com>
160
161	* release 5.41
162
1632021-09-23  03:51  Christos Zoulas <christos@zoulas.com>
164
165	* Avinash Sonawane: Fix tzname detection
166
1672021-09-03  09:17  Christos Zoulas <christos@zoulas.com>
168
169	* Fix relationship tests with "search" magic, don't short circuit
170	  logic
171
1722021-07-13  01:06  Christos Zoulas <christos@zoulas.com>
173
174	* Fix memory leak in compile mode
175
1762021-07-01  03:51  Christos Zoulas <christos@zoulas.com>
177
178	* PR/272: kiefermat: Only set returnval = 1 when we printed something
179	  (in all cases print or !print). This simplifies the logic and fixes
180	  the issue in the PR with -k and --mime-type there was no continuation
181	  printed before the default case.
182
1832021-06-30  13:07  Christos Zoulas <christos@zoulas.com>
184
185	* PR/270: Don't translate unprintable characters in %s magic formats
186	  when -r
187	* PR/269: Avoid undefined behavior with clang (adding offset to NULL)
188
1892021-05-09  18:38  Christos Zoulas <christos@zoulas.com>
190
191	* Add a new flag (f) that requires that the match is a full word,
192	   not a partial word match.
193	* Add varint types (unused)
194
1952021-04-19  17:17  Christos Zoulas <christos@zoulas.com>
196
197	* PR/256: mutableVoid: If the file is less than 3 bytes, use the file
198	  length to determine type
199	* PR/259: aleksandr.v.novichkov: mime printing through indirect magic
200	  is not taken into account, use match directly so that it does.
201
2022021-04-04  17:02  Christos Zoulas <christos@zoulas.com>
203
204	* count the total bytes found not the total byte positions
205	  in order to determine encoding (Anatol Belski)
206
2072021-03-30  20:21  Christos Zoulas <christos@zoulas.com>
208
209	* release 5.40
210
2112021-02-05  16:31  Christos Zoulas <christos@zoulas.com>
212
213	* PR/234: Add limit to the number of bytes to scan for encoding
214	* PR/230: Fix /T (trim flag) for regex
215
2162021-02-01  12:31  Christos Zoulas <christos@zoulas.com>
217	* PR/77: Trim trailing separator.
218
2192020-12-17  15:44  Christos Zoulas <christos@zoulas.com>
220
221	* PR/211: Convert system read errors from corrupt ELF
222	  files into human readable error messages
223
2242020-12-08  16:24  Christos Zoulas <christos@zoulas.com>
225
226	* fix multithreaded decompression file descriptor issue
227	  by using close-on-exec (Denys Vlasenko)
228
2292020-06-27  11:58  Christos Zoulas <christos@zoulas.com>
230
231	* Exclude surrogate pairs from utf-8 detection (Michael Liu)
232
2332020-06-25  12:53  Christos Zoulas <christos@zoulas.com>
234
235	* Include # to the list of ignored format chars (Werner Fink)
236
2372020-06-14  20:02  Christos Zoulas <christos@zoulas.com>
238
239	* release 5.39
240
2412020-06-07  20:00  Christos Zoulas <christos@zoulas.com>
242
243	* Remove unused subtype_mime (Steve Grubb)
244	* Remove unused check in okstat (Steve Grubb)
245	* Fix mime-type in elf binaries by making sure $x is set
246	* Fix indirect negative offsets broken by OFFNEGATIVE
247	* Fix GUID equality check
248	* PR/165: Handle empty array and strings in JSON
249	* PR/162: Add --exclude-quiet
250
2512020-06-06  15:33  Christos Zoulas <christos@zoulas.com>
252
253	* Fix memory leak in ascmagic (Steve Grubb)
254
2552020-06-04  00:21  Christos Zoulas <christos@zoulas.com>
256
257	* Fix string comparison length with ignore whitespace
258
2592020-05-31  00:11  Christos Zoulas <christos@zoulas.com>
260
261	* Fix mingwin 64 compilation
262
2632020-05-30  23:56  Christos Zoulas <christos@zoulas.com>
264
265	* PR/159: whitelist getpid needed for file_pipe2file()
266
2672020-05-09  18:57  Christos Zoulas <christos@zoulas.com>
268
269	* Indicate negative offsets with a flag OFFNEGATIVE
270	  so that -0 works.
271	* Introduce "offset" magic type that can be used to
272	  detect the file size, and bail on short files.
273	* document DER better in the magic man page.
274
2752020-03-11  21:53  Christos Zoulas <christos@zoulas.com>
276
277	* fix memory leaks (SonarQube)
278
2792020-03-08  21:33  Christos Zoulas <christos@zoulas.com>
280
281	* fix memory leaks (SonarQube)
282	* rewrite confusing loops (SonarQube)
283	* fix bogus test (SonarQube)
284	* pass a sized buffer to file_fmttime() (SonarQube)
285
286	* fix memory leaks (SonarQube)
287
2882020-02-20  15:50  Christos Zoulas <christos@zoulas.com>
289
290	* Don't allow * in printf formats, or the code itself (Christoph Biedl)
291	* Introduce a printf output size checker to avoid DoS attacks
292
2932020-02-17  17:22  Christos Zoulas <christos@zoulas.com>
294
295	* Avoid memory leak on error (oss-fuzz)
296	* Check length of string on DER before derefercing and add new types
297	* Add missing DER string (oss-fuzz)
298
2992020-02-16  20:45  Christos Zoulas <christos@zoulas.com>
300
301	* Add missing DER types, and debugging
302
3032020-02-13  13:10  Christos Zoulas <christos@zoulas.com>
304
305	* PR/140: Avoid abort with hand-crafted magic file (gockelhahn)
306	* PR/139  Avoid DoS in printf with hand-crafted magic file (gockelhahn)
307	* PR/138: Avoid crash with hand-crafted magic file (gockelhahn)
308
3092020-02-12  17:30  Christos Zoulas <christos@zoulas.com>
310
311	* PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine)
312
3132019-12-24  14:16  Christos Zoulas <christos@zoulas.com>
314
315	* add guid support
316
3172019-12-16  21:11  Christos Zoulas <christos@zoulas.com>
318
319	* release 5.38
320
3212019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
322    Document changes since the previous release:
323	- Always accept -S (no sandbox) even if we don't support sandboxing
324	- More syscalls elided for sandboxing
325	- For ELF dynamic means having an interpreter not just PT_DYNAMIC
326	- Check for large ELF session header offset
327	- When saving and restoring a locale, keep the locale name in our
328	  own storage.
329	- Add a flag to disable CSV file detection.
330	- Don't pass NULL/0 to memset to appease sanitizers.
331	- Avoid spurious prints when looks for extensions or apple strings
332	  in fsmagic.
333	- Add builtin decompressors for xz and and bzip.
334	- Add a limit for the number of CDF elements.
335	- More checks for overflow in CDF.
336
3372019-05-14  22:26  Christos Zoulas <christos@zoulas.com>
338
339	* release 5.37
340
3412019-05-09  22:27  Christos Zoulas <christos@zoulas.com>
342
343	* Make sure that continuation separators are printed
344	  with -k within softmagic
345
3462019-05-06  22:27  Christos Zoulas <christos@zoulas.com>
347
348	* Change SIGPIPE saving and restoring during compression to use
349	  sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko)
350	* Cache stat(2) calls more to reduce number of calls (Denys Vlasenko)
351
3522019-05-06  17:25  Christos Zoulas <christos@zoulas.com>
353
354	* PR/77: Handle --mime-type and -k correctly.
355
3562019-05-03  15:26  Christos Zoulas <christos@zoulas.com>
357
358	* Switch decompression code to use vfork() because
359	  tools like rpmdiff and rpmbuild call libmagic
360	  with large process footprints (Denys Vlasenko)
361
3622019-04-07  14:05  Christos Zoulas <christos@zoulas.com>
363
364	* PR/75: --enable-zlib, did not work.
365
3662019-02-27  11:54  Christos Zoulas <christos@zoulas.com>
367
368	* Improve regex efficiency (Michael Schroeder) by:
369		1. Prefixing regex searches with regular search
370		   for keywords where possible
371		2. Using memmem(3) where available
372
3732019-02-20  10:16  Christos Zoulas <christos@zoulas.com>
374
375	* release 5.36
376
3772019-02-19  15:30  Christos Zoulas <christos@zoulas.com>
378
379	* Fix cast to use cast macros
380	* Add UCS-32 builtin detection (PR/61) reported by tmc
381
3822019-02-18  18:24  Christos Zoulas <christos@zoulas.com>
383
384	* Fix stack read (PR/62) and write (PR/64) stack overflows
385	  reported by spinpx
386
3872018-10-18  19:32  Christos Zoulas <christos@zoulas.com>
388
389	* release 5.35
390
3912018-09-10  20:38  Christos Zoulas <christos@zoulas.com>
392
393	* Add FreeBSD ELF core file support (John Baldwin)
394
3952018-08-20  18:40  Christos Zoulas <christos@zoulas.com>
396
397	* PR/30: Allow all parameter values to be set (don't treat 0 specially)
398	* handle default annotations on the softmagic match instead at the
399	  end.
400
4012018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
402
403	* PR/23: Recognize JSON files
404
4052018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
406
407	* PR/18: file --mime-encoding should not print mime-type
408
4092018-07-25   8:50  Christos Zoulas <christos@zoulas.com>
410
411	* release 5.34
412
4132018-06-22  16:38  Christos Zoulas <christos@zoulas.com>
414
415	* Add Quad indirect offsets
416
4172018-05-24  14:10  Christos Zoulas <christos@zoulas.com>
418
419	* Enable parsing of ELF dynamic sections to handle PIE better
420
4212018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
422
423	* release 5.33
424
4252018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
426
427	* extend the support for ${x?:} expansions for magic descriptions
428
4292018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
430
431	* add support for ${x?:} in mime types to handle
432	  pie binaries.
433
4342017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
435
436	* add support for negative offsets (offsets from the end of file)
437
4382017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
439
440	* close the file on error when writing magic (Steve Grubb)
441
4422017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
443
444	* seccomp support (Paul Moore)
445
4462017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
447
448	* release 5.32
449
4502017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
451
452	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
453
4542017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
455
456	* Fix always true condition (Thomas Jarosch)
457
4582017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
459
460	* pickier parsing of numeric values in magic files.
461
4622017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
463
464	* PR/615 add magic_getflags()
465
4662017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
467
468	* release 5.31
469
4702017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
471
472	* remove trailing spaces from magic files
473	* refactor is_tar
474	* better bounds checks for cdf
475
4762017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
477
478	* release 5.30
479
4802017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
481
482	* If we exceeded the offset in a search return no match
483	  (Christoph Biedl)
484	* Be more lenient on corrupt CDF files (Christoph Biedl)
485
4862017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
487
488	* pacify ubsan sign extension (oss-fuzz/524)
489
4902017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
491
492	* off by one in cdf parsing (PR/593)
493	* report debugging sections in elf (PR/591)
494
4952016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
496
497	* Allow @@@ in extensions
498	* Add missing overflow check in der magic (Jonas Wagner)
499
5002016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
501
502	* release 5.29
503
5042016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
505
506	* der getlength overflow (Jonas Wagner)
507	* multiple magic file load failure (Christoph Biedl)
508
5092016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
510
511	* CDF parsing improvements (Guy Helmer)
512
5132016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
514
515	* Add support for signed indirect offsets
516
5172016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
518
519	* cat /dev/null | file - should print empty (Christoph Biedl)
520
5212016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
522
523	* Bump string size from 64 to 96.
524
5252016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
526
527	* PR/556: Fix separators on annotations.
528
5292016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
530
531	* release 5.28
532	* fix leak on allocation failure
533
5342016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
535
536	* PR/555: Avoid overflow for offset > nbytes
537	* PR/550: Segv on DER parsing:
538	    - use the correct variable for length
539	    - set offset to 0 on failure.
540
5412016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
542
543	* release 5.27
544
5452016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
546
547	* Errors comparing DER entries or computing offsets
548	  are just indications of malformed non-DER files.
549	  Don't print them.
550	* Offset comparison was off-by-one.
551	* Fix compression code (Werner Fink)
552	* Put new bytes constant in the right file (not the generated one)
553
5542016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
555
556	* release 5.26
557
5582016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
559
560	* make the number of bytes read from files configurable.
561
5622016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
563
564	* Add bounds checks for DER code (discovered by Thomas Jarosch)
565	* Change indirect recursion limit to indirect use count and
566	  bump from 15 to 50 to prevent abuse.
567
5682016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
569
570	* Add -00 which prints filename\0description\0
571
5722016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
573
574	* Fix ID3 indirect parsing
575
5762016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
577
578	* add DER parsing capability
579
5802015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
581
582	* provide dprintf(3) for the OS's that don't have it.
583
5842015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
585
586	* redo the compression code report decompression errors
587
5882015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
589
590	* REG_STARTEND code is not working as expected, delete it.
591
5922015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
593
594	* Add zlib support if we have it.
595
5962015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
597
598	* PR/492: compression forking was broken with magic_buffer.
599
6002015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
601
602	* release 5.25
603
6042015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
605
606	* add a limit to the length of regex searches
607
6082015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
609
610	* fix problems with --parameter (Christoph Biedl)
611
6122015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
613
614	* Windows fixes PR/466 (Jason Hood)
615
6162015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
617
618	* release 5.24
619
6202015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
621
622	* redo long option encoding to fix off-by-one in 5.23
623
6242015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
625
626	* release 5.23
627
6282015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
629
630	* Fix issue with regex range for magic with offset
631	* Always return true from mget with USE (success to mget not match
632	  indication). Fixes mime evaluation after USE magic
633	* PR/459: Don't insert magic entries to the list if there are parsing
634	  errors for them.
635
6362015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
637
638	* PR/455: Add utf-7 encoding
639
6402015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
641
642	* PR/455: Implement -Z, look inside, but don't report on compression
643	* PR/454: Fix allocation error on bad magic.
644
6452015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
646
647	* handle MAGIC_CONTINUE everywhere, not just in softmagic
648
6492015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
650
651	* don't print descriptions for NAME types when mime.
652
6532015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
654
655	* Add --extension to list the known extensions for this file type
656	  Idea by Andrew J Roazen
657
6582015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
659
660	* Bump file search buffer size to 1M.
661
6622015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
663
664	* Fix multiple issues with date formats reported by Christoph Biedl:
665		- T_LOCAL meaning was reversed
666		- Arithmetic did not work
667	  Also stop adjusting daylight savings for gmt printing.
668
6692015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
670
671	* PR/411: Fix memory corruption from corrupt cdf file.
672
6732015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
674
675	* release 5.22
676
6772015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
678
679	* add indirect relative for TIFF/Exif
680
6812014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
682
683	* restructure elf note printing to avoid repeated messages
684	* add note limit, suggested by Alexander Cherepanov
685
6862014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
687
688	* Bail out on partial pread()'s (Alexander Cherepanov)
689	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
690
6912014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
692
693	* PR/405: ignore SIGPIPE from uncompress programs
694	* change printable -> file_printable and use it in
695	  more places for safety
696	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
697	  is present print the interpreter name.
698
6992014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
700
701	* release 5.21
702
7032014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
704
705	* Allow setting more parameters from the command line.
706	* Split name/use and indirect magic recursion limits.
707
7082014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
709
710	* Adjust ELF parameters and the default recursion
711	  level.
712	* Allow setting the recursion level dynamically.
713
7142014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
715
716	* The following fixes resulted from Thomas Jarosch's fuzzing
717	  tests that revealed severe performance issues on pathological
718	  input:
719	    - limit number of elf program and sections processing
720	    - abort elf note processing quickly
721	    - reduce the number of recursion levels from 20 to 10
722	    - preserve error messages in indirect magic handling
723
724	This is tracked as CVE-2014-8116 and CVE-2014-8117
725
7262014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
727
728	* fix bogus free in the user buffer case.
729
7302014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
731
732	* fix out of bounds read for pascal strings
733	* fix memory leak (not freeing the head of each mlist)
734
7352014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
736
737	* When printing strings from a file, convert them to printable
738	  on a byte by byte basis, so that we don't get issues with
739	  locale's trying to interpret random byte streams as UTF-8 and
740	  having printf error out with EILSEQ.
741
7422014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
743
744	* fix bounds in note reading (Francisco Alonso / Red Hat)
745
7462014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
747
748	* fix autoconf glue for setlocale and locale_t; some OS's
749	  have locale_t in xlocale.h
750
7512014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
752
753	* release 5.20
754
7552014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
756
757	* recognize encrypted CDF documents
758
7592014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
760
761	* add magic_load_buffers from Brooks Davis
762
7632014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
764
765	* add thumbs.db support
766
7672014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
768
769	* release 5.19
770
7712014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
772
773	* Misc buffer overruns and missing buffer size tests in cdf parsing
774	  (Francisco Alonso, Jan Kaluza)
775
7762014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
777
778	* Enforce limit of 8K on regex searches that have no limits
779	* Allow the l modifier for regex to mean line count. Default
780	  to byte count. If line count is specified, assume a max
781	  of 80 characters per line to limit the byte count.
782	* Don't allow conversions to be used for dates, allowing
783	  the mask field to be used as an offset.
784
7852014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
786
787	* Make the range operator limit the length of the
788	  regex search.
789
7902014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
791
792	* PR/347: Windows fixes
793	* PR/352: Hangul word processor recognition
794	* PR/354: Encoding irregularities in text files
795
7962014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
797
798	* Fix uninitialized title in CDF files (Jan Kaluza)
799
8002014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
801
802	* PR/351: Fix compilation of empty files
803
8042014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
805
806	* Fix integer formats: We don't specify 'l' or
807	  'h' and 'hh' specifiers anymore, only 'll' for
808	  quads and nothing for the rest. This is so that
809	  magic writing is simpler.
810
8112014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
812
813	* PR/341: Jan Kaluza, fix memory leak
814	* PR/342: Jan Kaluza, fix out of bounds read
815
8162014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
817
818	* Fix issue with long formats not matching fmtcheck
819
8202014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
821
822	* release 5.18
823
8242014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
825
826	* add fmtcheck(3) for those who don't have it
827
8282014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
829
830	* prevent mime entries from being attached to magic
831	  entries with no descriptions
832
833	* adjust magic strength for regex type
834
835	* remove superfluous ascmagic with encoding test
836
8372014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
838
839	* fix regression fix echo -ne "\012\013\014" | file -i -
840	  which printed "binary" instead of "application/octet-stream"
841
842	* add size_t overflow check for magic file size
843
8442014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
845
846	* experimental support for matching with CFD CLSID
847
8482014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
849
850	* Cache old LC_CTYPE locale before setting it to "C", so
851	  we can use it to restore LC_CTYPE instead of asking
852	  setlocale() to scan the environment variables.
853
8542014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
855
856	* Count recursion levels through indirect magic
857
8582014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
859
860	* Prevent infinite recursion on files with indirect offsets of 0
861
8622014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
863
864	* Add -E flag that makes file print filesystem errors to stderr
865	  and exit.
866
8672014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
868
869	* mime printing could print results from multiple magic entries
870	  if there were multiple matches.
871	* in some cases overflow was not detected when computing offsets
872	  in softmagic.
873
8742013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
875
876	* use strcasestr() to for cdf strings
877	* reset to the "C" locale while doing regex operations, or case
878	  insensitive comparisons; this is provisional
879
8802013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
881
882	* always leave magic file loaded, don't unload for magic_check, etc.
883	* fix default encoding to binary instead of unknown which broke recently
884	* handle empty and one byte files, less specially so that
885	  --mime-encoding does not break completely.
886		`
8872013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
888
889	* fix erroneous non-zero exit code from non-existent file and message
890
8912013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
892
893	* add CDF MSI file detection (Guy Helmer)
894
8952013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
896
897	* Don't mix errors and regular output if there was an error
898	* in magic_descriptor() don't close the file and try to restore
899	  its position
900
9012013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
902
903	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
904
9052013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
906
907	* Fix spacing issues in softmagic and elf (Jan Kaluza)
908
9092013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
910
911	* Fix segmentation fault with multiple magic_load commands.
912
9132013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
914
915	* The way "default" was implemented was not very useful
916	  because the "if something was printed at that level"
917	  was not easily controlled by the user, and the format
918	  was bound to a string which is too restrictive. Add
919	  a "clear" for that level keyword and make "default"
920	  void. This way one can do:
921
922		>>13	clear	x
923		>>13	lelong	1	foo
924		>>13	lelong	2	bar
925		>>13	default	x
926		>>>13	lelong	x	unknown %x
927
9282013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
929
930	* disallow strength setting in "name" entries
931
9322013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
933
934	* fix recursive magic separator printing
935
9362013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
937
938	* limit recursion level for mget
939	* fix pread() related breakage in cdf
940	* handle offsets properly in recursive "use"
941
9422013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
943
944	* add elf reading of debug info to determine if file is stripped
945	  (Jan Kaluza)
946	* use pread()
947
9482013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
949
950	* change mime description size from 64 to 80 to accommodate OOXML.
951
9522013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
953
954	* Warn about inconsistent continuation levels.
955	* Change fsmagic to add a space after it prints.
956
9572013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
958
959	* Make getline public so that file can link against it.
960	  Perhaps it is better to rename it, or hide it differently.
961	  Fixes builds on platforms that do not provide it.
962
9632013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
964
965	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
966	  what long, int, short, etc is (Guy Harris)
967
9682013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
969
970	* add magic_version function and constant
971	* Redo memory allocation and de-allocation.
972	  (prevents double frees on non mmap platforms)
973	* Fix bug with name/use having to do with passing
974	  found state from the parent to the child and back.
975
9762012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
977
978	* Only print elf capabilities for archs we know (Jan Kaluza)
979
9802012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
981
982	* Add "name" and "use" file types in order to look
983	  inside mach-o files.
984
9852012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
986
987	* make --version exit 0 (Matthew Schultz)
988	* add string/T (Jan Kaluza)
989
9902012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
991
992	* add z and t modifiers for our own vasprintf
993	* search for $HOME/.magic.mgc if it is there first
994	* fix reads from a pipe, and preserve errno
995
9962012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
997
998	* use ctime_r, asctime_r
999
10002012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
1001
1002	* Fixes for indirect offsets to handle apple disk formats
1003
10042012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
1005
1006	* Add windows date field types
1007	* More info for windows shortcuts (incomplete)
1008
10092012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
1010
1011	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
1012
10132011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
1014
1015	* Support Tilera architectures (tile64, tilepro, tilegx).
1016
10172011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
1018
1019	* Add magic for /usr/bin/env Perl scripts
1020	* Weaken generic script magic to avoid clashing with
1021	language-specific magic.
1022
10232011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
1024
1025	* Simplify if (p) free(p) to free(p).
1026
10272011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
1028
1029	* Remove hardwired token finding (names.h), turning it into soft
1030	magic. Patterns are either anchored regexs or search/8192. English
1031	language detection and PL/1 detection have been removed as they
1032	were too fragile. -e tokens is still accepted for backwards
1033	compatibility.
1034	* Move 3ds patterns (which are commented out anyway) into autodesk
1035	(they were, oddly, in c-lang).
1036
10372011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
1038
1039	* Tweak strength of generic hash-bang detectors to be less than
1040	specific ones.
1041	* Make an inconsistent description of Python scripts consistent.
1042
10432011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
1044
1045	* Fix minor error in file(1).
1046
10472011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
1048
1049	* Fix issue #150 (I hope).
1050
10512011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
1052
1053	* Python3 binding fixes from Kelly Anderson
1054
10552011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
1056
1057	* If a string type magic entry is marked as text or binary
1058	  only match text files against text entries and binary
1059	  files against binary entries.
1060
10612011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
1062
1063	* Don't wait for any subprocess, just the one we forked.
1064
10652011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
1066
1067	* If the application name is not set in a cdf file, try to see
1068	  if it has a directory with the application name on it.
1069
10702011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
1071
1072	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
1073
10742011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
1075
1076	* Don't use variable string formats.
1077
10782011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
1079
1080	* Fix detection of Zip files (Mantis #128).
1081	* Make some minor improvements to file(1).
1082	* Rename MIME types for filesystem objects for consistency with
1083	  xdg-utils. Typically this means that application/x-foo becomes
1084	  inode/foo, but some names also change slightly, e.g.
1085	  application/x-character-device becomes inode/chardevice.
1086
10872011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1088
1089	* fix mingw compilation (Abradoks)
1090
10912011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1092
1093	* remove patchlevel.h
1094	* Fix read past allocated memory caused by double-incrementing
1095	  a pointer in a loop (reported by Roberto Maar)
1096
10972011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
1098
1099	* Fix cdf string buffer setting (Sven Anders)
1100
11012011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
1102
1103	* Eliminate MAXPATHLEN and use dynamic allocation for
1104	  path and file buffers.
1105
11062011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
1107
1108	* binary tests on magic entries with masks could spuriously
1109	  get converted to ascii.
1110
11112011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
1112
1113	* Improve file.man (remove BUGS, present email addresses consistently).
1114
11152011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
1116
1117	* add lrzip support (from Ville Skytta)
1118
11192011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
1120
1121	* fix CDF bounds checking (Guy Helmer)
1122
11232011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
1124
1125	* add cdf_ctime() that prints a meaningful error when time cannot
1126	  be converted.
1127
11282011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
1129
1130	* help and version output to stdout.
1131
1132	* When matching softmagic for ascii files, don't just print
1133	  the softmagic classification, keep going and print the
1134	  text classification too. This fixes broken troff files when
1135	  we moved them from keyword recognition to softmagic
1136	  (they stopped printing "with CRLF" etc.)
1137	  Reported by Doug McIlroy.
1138
11392011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
1140
1141	* Fix two potential buffer overruns in apprentice_list.
1142
11432011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
1144
1145	* New Python binding in pure Python.
1146	* Update libmagic(3).
1147
11482011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
1149
1150	* Fix Python bindings (including recent Python 3 compatibility
1151	  update).
1152
11532011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
1154
1155	* magic/Makefile.am: make it easier to recover from magic build failures.
1156	* Fix pstring length specifier parsing to avoid generating invalid
1157	  magic files.
1158	* Add pstring length "J" (for "JPEG") to specify that the length
1159	  include itself.
1160	* Fix JPEG comment parsing at last using pstring/HJ!
1161	* Ignore section 5 man pages in doc/.cvsignore.
1162
11632010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
1164
1165	* Add pstring/BHhLl to specify the type of the length of pascal
1166	  strings.
1167
11682010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
1169
1170	* Fix "-e soft": it was ignored when softmagic was called
1171	  during asciimagic.
1172	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
1173
11742010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
1175
1176	* Make bug reporting addresses more visible.
1177
11782010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
1179
1180	* Add tcl magic from Gustaf Neumann
1181
11822010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
1183
1184	* Fix the whitespace comparing code (Christopher Chittleborough)
1185
11862010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
1187
1188	* allow string/t to work (Jan Kaluza)
1189
11902010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
1191
1192	* Apply some patches from Ubuntu and Fedora.
1193
11942010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
1195
1196	* Apply all patches from Debian package 5.04-6 which have not
1197	  already been applied and are not Debian-specific.
1198
11992010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
1200
1201	* Minor security fix to softmagic.c (don't use untrusted
1202	  string as printf format).
1203
12042010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
1205
1206	* MINGW32 portability from LRN
1207
1208	* Don't warn about escaping magic regex chars when we are in a regex.
1209
12102010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
1211
1212	* Only try to print prpsinfo for core files. (Jan Kaluza)
1213
12142010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
1215
1216	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
1217
12182010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
1219
1220	* Clarify which sort of CDF we mean.
1221
12222010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
1223
1224	* Re-jig Zip file type magic so that unsupported special
1225	  Zip types (those with "mimetype" at offset 30) can be
1226	  recognized.
1227
12282010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
1229
1230	* Add support for OCF (EPUB) files (application/epub+zip)
1231
12322010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
1233
1234	* Fix core-dump from unbound loop:
1235	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
1236
12372010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
1238
1239	* print proper mime for crystal reports file
1240
1241	* print the last summary information of a cdf document, not the
1242	  first so that nested documents print the right info
1243
12442010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
1245
1246	* bring back some fixes from OpenBSD:
1247		- make gcc2 builds file
1248		- fix typos in a magic file comment
1249
12502009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
1251
1252	* ctime/asctime can return NULL on some OS's although
1253	  they should not (Toshit Antani)
1254
12552009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
1256
1257	* Centralize magic path handling routines and remove the
1258	  special-casing from file.c so that the python module for
1259	  example comes up with the same magic path (Fixes ~/.magic
1260	  handling) (from Gab)
1261
12622009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
1263
1264	* When magic argument is a directory, read the files in
1265	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
1266
12672009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
1268
1269	* Combine overlapping epoc and psion magic files into one (epoc).
1270
1271	* Add some more EPOC MIME types.
1272
12732009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
1274
1275	* Fix 3 bugs (From Ian Darwin):
1276	    - file_showstr could move one past the end of the array
1277	    - parse_apple did not nul terminate the string in the overflow case
1278	    - parse_mime truncated the wrong string in the overflow case
1279
12802009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
1281
1282	* Include Localstuff when compiling magic.
1283
12842009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
1285
1286	* Fix logic for including mygetopts.h
1287
1288	* Make cdf.c compile again with debugging
1289
1290	* Add the necessary field handling for crystal reports files to work
1291
12922009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
1293
1294	* Stop "(if" identifying Lisp files, that's plain dumb!
1295
12962009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
1297
1298	* Add a couple of missing MP3 MIME types.
1299
13002009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
1301
1302	* Add full range of hash-bang tests for Python and Ruby.
1303
1304	* Add MIME types for Python and Ruby scripts.
1305
13062009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
1307
1308	* off by one in parsing hw capabilities in elf
1309	  (Cheng Renquan)
1310
13112009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
1312
1313	* lint fixes and more from NetBSD
1314
13152009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
1316
1317	* Avoid null dereference in cdf code (Drew Yao)
1318
1319	* More cdf bounds checks and overflow checks
1320
13212009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
1322
1323	* Buffer overflow fixes from Drew Yao
1324
13252009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
1326
1327	* Fix more cdf lossage. All the documents I have
1328	  right now print the correct information.
1329
13302009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
1331
1332	* don't print \012- separators in the same magic entry
1333	  if it consists of multiple magic printing lines.
1334
13352009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
1336
1337	* Avoid file descriptor leak in compress code from
1338	  (Daniel Novotny)
1339
13402009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
1341
1342	* Allow escaping of relation characters, so that we can say \^[A-Z]
1343	  and the ^ is not eaten as a relation char.
1344
1345	* Fix troff and fortran to their previous glory using
1346	  regex. This was broken since their removel from ascmagic.
1347
13482009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
1349
1350	* don't use strlen in strndup() (Toby Peterson)
1351
13522009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
1353
1354	* avoid c99 syntax.
1355
13562009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
1357
1358	* make the cdf code use the buffer first if available,
1359	  and then the fd code.
1360
13612009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
1362
1363	* look for struct option to determine if getopt.h is usable for IRIX.
1364
1365	* sanitize cdf document strings
1366
13672009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
1368
1369	* fix OS/2 warnings.
1370
13712008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
1372
1373	* fix initial offset calculation for non 4K sector files
1374
1375	* add loop limits to avoid DoS attacks by constructing
1376	  looping sector references.
1377
13782008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
1379
1380	* fix memory botches on cdf file parsing.
1381
1382	* exit with non-zero value for any error, not just for the last
1383	  file processed.
1384
13852008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
1386
1387	* Replace all str{cpy,cat} functions with strl{cpy,cat}
1388	* Ensure that strl{cpy,cat} are included in libmagic,
1389	  as needed.
1390
13912008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
1392
1393	* Handle ID3 format files.
1394
13952008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
1396
1397	* Fix --mime, --mime-type and --mime-encoding under new scheme.
1398
1399	* Rename "ascii" to "text" and add "encoding" test.
1400
1401	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
1402	  UTF-16.
1403
1404	* Fix error in comment caused by automatic indentation adding
1405	  words!
1406
14072008-11-06 10:35  Christos Zoulas <christos@astron.com>
1408
1409	* use memchr instead of strchr because the string
1410	  might not be NUL terminated (Scott MacVicar)
1411
14122008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
1413
1414	* Fix a printf with a non-literal format string.
1415
1416	* Fix formatting and punctuation of help for "--apple".
1417
14182008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
1419
1420	* Correct words counts in comments of struct magic.
1421
1422	* Fix handle_annotation to allow both Apple and MIME types to be
1423	  printed, and to return correct code if MIME type is
1424	  printed (1, not 0) or if there's an error (-1 not 1).
1425
1426	* Fix output of charset for MIME type (precede with semi-colon;
1427	  fixes Debian bug #501460).
1428
1429	* Fix potential attacks via conversion specifications in magic
1430	  strings.
1431
1432	* Add a FIXME for Debian bug #488562 (magic files should be
1433	  read in a defined order, by sorting the names).
1434
14352008-10-18 16:45  Christos Zoulas <christos@astron.com>
1436
1437	* Added APPLE file creator/type
1438
14392008-10-12 10:20  Christos Zoulas <christos@astron.com>
1440
1441	* Added CDF parsing
1442
14432008-10-09 16:40  Christos Zoulas <christos@astron.com>
1444
1445	* filesystem and msdos patches (Joerg Jenderek)
1446
14472008-10-09 13:20  Christos Zoulas <christos@astron.com>
1448
1449	* correct --exclude documentation issues: remove troff and fortran
1450	  and rename "token" to "tokens". (Randy McMurchy)
1451
14522008-10-01 10:30  Christos Zoulas <christos@astron.com>
1453
1454	* Read ~/.magic in addition to the default magic file not instead
1455	  of, as documented in the man page.
1456
14572008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1458
1459	* Comment out graphviz patterns, as they match too many files.
1460
14612008-08-30 12:54  Christos Zoulas <christos@astron.com>
1462
1463	* Don't eat trailing \n in magic enties.
1464
1465	* Cast defines to allow compilation using a c++ compiler.
1466
14672008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1468
1469	* Add text/x-lua MIME type for Lua scripts.
1470
1471	* Escape { in regex in graphviz patterns.
1472
14732008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1474
1475	* Add MIME types for special files.
1476
1477	* Use access to give more accurate information for files that
1478	  can't be opened.
1479
1480	* Add a TODO list.
1481
14822008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1483
1484	* add !:strength op to adjust magic strength (experimental)
1485
14862008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1487
1488	* Fix automake error in configure.ac.
1489
1490	* Add MIME type for Psion Sketch files.
1491
14922008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1493
1494	* Don't print warnings about bad namesize in stripped
1495	  binaries with PT_NOTE is still there, and the actual
1496	  note is gone (Jakub Jelinek)
1497
14982008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1499
1500	* magic/Magdir/elf:
1501	  Note invalid byte order for little-endian SPARC32PLUS.
1502	  Add SPARC V9 vendor extensions and memory model.
1503
1504	* src/elfclass.h:
1505	  Pass target machine to doshn (for Solaris hardware capabilities).
1506
1507	* src/readelf.c (doshn):
1508	  Add support for Solaris hardware/software capabilities.
1509
1510	* src/readelf.h:
1511	  Ditto.
1512
1513	* src/vasprintf.c (dispatch):
1514	  Add support for ll modifier.
1515
15162008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1517
1518	* Fix compiler warnings.
1519
1520	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1521
15222008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1523
1524	* src/Makefile.am:
1525	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1526	  as needed.
1527
1528	  Remove unnecessary EXTRA_DIST.
1529
1530	* src/Makefile.in:
1531	  Rerun automake.
1532
1533	* src/vasprintf.c (dispatch):
1534	  Fix variable precision bug: be sure to step past '*'.
1535
1536	* src/vasprintf.c (core):
1537	  Remove unreachable code.
1538
1539	* src/apprentice.c (set_test_type):
1540	  Add cast to avoid compiler warning.
1541
15422008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1543
1544	* Add magic submission guidelines (Abel Cheung)
1545
1546	* split msdos and windows magic (Abel Cheung)
1547
15482008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1549
1550	* >= <= is not supported, so fix the magic and warn about it.
1551	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1552
15532008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1554
1555	* src/readelf.c (donote):
1556	  ELF core file command name/line bug fixes and enhancements:
1557
1558	  Try larger offsets first to avoid false matches
1559	  from earlier data that happen to look like strings;
1560	  this primarily affected SunOS 5.x 32-bit Intel core files.
1561
1562	  Add support for command line (instead of just short name)
1563	  for SunOS 5.x.
1564
1565	  Add information about NT_PSINFO for SunOS 5.x.
1566
1567	  Only trim whitespace from end of command line.
1568
15692007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1570
1571	* Change strength of ! from MULT to 0, as it matches almost
1572		  anything (Reuben Thomas)
1573
1574	* Debian fixes (Reuben Thomas)
1575
15762007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1577
1578	* Clarify UTF-8 BOM message (Reuben Thomas)
1579
1580	* Add HTML comment to token list in names.h
1581
15822007-02-04 15:50 Christos Zoulas <christos@astron.com>
1583
1584	* Debian fixes (Reuben Thomas)
1585
15862007-02-04 11:31 Christos Zoulas <christos@astron.com>
1587
1588	* !:mime annotations in magic files (Reuben Thomas)
1589
15902007-01-29 15:35 Christos Zoulas <christos@astron.com>
1591
1592	* zero out utime/utimes structs (Gavin Atkinson)
1593
15942007-01-26 13:45 Christos Zoulas <christos@astron.com>
1595
1596	* reduce writable data from Diego "Flameeyes" Petten
1597
15982007-12-28 15:06 Christos Zoulas <christos@astron.com>
1599
1600	* strtof detection
1601
1602	* remove bogus regex magic that could cause a DoS
1603
1604	* better mismatch version message
1605
16062007-12-27 11:35 Christos Zoulas <christos@astron.com>
1607
1608	* bring back some fixes from OpenBSD
1609
1610	* treat ELF dynamic objects as executables
1611
1612	* fix gcc warnings
1613
16142007-12-01 19:55 Christos Zoulas <christos@astron.com>
1615
1616	* make sure we have zlib.h and libz to compile the builtin
1617	  decompress code
1618
16192007-10-28 20:48 Christos Zoulas <christos@astron.com>
1620
1621 	* float and double magic support (Behan Webster)
1622
16232007-10-28 20:48 Christos Zoulas <christos@astron.com>
1624
1625	* Convert fortran to a soft test (Reuben Thomas)
1626
16272007-10-23  5:25 Christos Zoulas <christos@astron.com>
1628
1629	* Add --with-filename, and --no-filename (Reuben Thomas)
1630
16312007-10-23  3:59 Christos Zoulas <christos@astron.com>
1632
1633	* Rest of the mime split (Reuben Thomas)
1634
1635	* Make usage message generated from the flags so that
1636	  they stay consistent (Reuben Thomas)
1637
16382007-10-20  3:06 Christos Zoulas <christos@astron.com>
1639
1640	* typo in comment, missing ifdef QUICK, remove unneeded code
1641		(Charles Longeau)
1642
16432007-10-17  3:33 Christos Zoulas <christos@astron.com>
1644
1645	* Fix problem printing -\012 in some entries
1646
1647	* Separate magic type and encoding flags (Reuben Thomas)
1648
16492007-10-09  3:55 Christos Zoulas <christos@astron.com>
1650
1651	* configure fix for int64 and strndup (Reuben Thomas)
1652
16532007-09-26  4:45 Christos Zoulas <christos@astron.com>
1654
1655	* Add magic_descriptor() function.
1656
1657	* Fix regression in elf reading code where the core name was
1658	  not being printed.
1659
1660	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1661
16622007-08-19  6:30 Christos Zoulas <christos@astron.com>
1663
1664	* Make mime format consistent so that it can
1665	  be easily parsed:
1666	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1667
1668	  Remove spurious extra text from some MIME type printouts
1669	  (mostly in is_tar).
1670
1671	  Fix one case where -i produced nothing at all (for a 1-byte file,
1672	  which is now classed as application/octet-stream).
1673
1674	  Remove 7/8bit classifications, since they were arbitrary
1675	  and not based on the file data.
1676
1677	  This work was done by Reuben Thomas
1678
16792007-05-24 10:00 Christos Zoulas <christos@astron.com>
1680
1681	* Fix another integer overflow (Colin Percival)
1682
16832007-03-26 13:58 Christos Zoulas <christos@astron.com>
1684
1685	* make sure that all of struct magic_set is initialized appropriately
1686	  (Brett)
1687
16882007-03-25 17:44 Christos Zoulas <christos@astron.com>
1689
1690	* reset left bytes in the buffer (Dmitry V. Levin)
1691
1692	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1693	  (Peter Avalos)
1694
16952007-03-15 10:51 Christos Zoulas <christos@astron.com>
1696
1697	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1698
1699	* fix exclude option (Dmitry V. Levin)
1700
17012007-02-08 17:30 Christos Zoulas <christos@astron.com>
1702
1703	* fix integer underflow in file_printf which can lead to
1704	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1705
17062007-02-05 11:35 Christos Zoulas <christos@astron.com>
1707
1708	* make socket/pipe reading more robust
1709
17102007-01-25 16:01 Christos Zoulas <christos@astron.com>
1711
1712	* Centralize all the tests in file_buffer.
1713
1714	* Add exclude flag.
1715
17162007-01-18 05:29 Anon Ymous <do@not.spam.me>
1717
1718	* Move the "type" detection code from parse() into its own table
1719	  driven routine.  This avoids maintaining multiple lists in
1720	  file.h.
1721
1722	* Add an optional conditional field (ust before the type field).
1723	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1724	  likely to go away.
1725
17262007-01-16 23:24 Anon Ymous <do@not.spam.me>
1727
1728	* Fix an initialization bug in check_mem().
1729
17302007-01-16 14:58 Anon Ymous <do@not.spam.me>
1731
1732	* Add a "default" type to print a message if nothing previously
1733	  matched at that level or since the last default at that
1734	  level.  This is useful for setting up switch-like statements.
1735	  It can also be used to do if/else constructions without a
1736	  redundant second test.
1737
1738	* Fix the "x" special case test so that one can test for that
1739	  string with "=x".
1740
1741	* Allow "search" to search the entire buffer if the "/N"
1742	  search count is missing.
1743
1744	* Make "regex" work!  It now starts its search at the
1745	  specified offset and takes an (optional) "/N" line count to
1746	  specify the search range; otherwise it searches to the end
1747	  of the file.  The match is now grabbed correctly for format
1748	  strings and the offset set to the end of the match.
1749
1750	* Add a "/s" flag to "regex" and "search" to set the offset to
1751	  the start of the match.  By default the offset is set to the
1752	  end of the match, as it is with other tests.  This is mostly
1753	  useful for "regex".
1754
1755	* Make "search", "string" and "pstring" use the same
1756	  file_strncmp() routine so that they support the same flags;
1757	  "bestring16" and "lestring16" call the same routine, but
1758	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1759	  to ignore the case on uppercase (lowercase) characters in
1760	  the test string.
1761
1762	* Strict adherence to C style string escapes.  A warnings are
1763	  printed when compiling.  Note: previously "\a" was
1764	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1765	  BELL, typically 0x07).
1766
1767	* Make this compile with "-Wall -Wextra" and all the warning
1768	  flags used with WARNS=4 in the NetBSD source.  Also make it
1769	  pass lint.
1770
1771	* Many "cleanups" and hopefully not too many new bugs!
1772
17732007-01-16 14:56 Anon Ymous <do@not.spam.me>
1774
1775	* make several more files compile with gcc warnings
1776	  on and also make them pass lint.
1777
17782007-01-16 14:54 Anon Ymous <do@not.spam.me>
1779
1780	* fix a puts()/putc() usage goof in file.c
1781
1782	* make file.c compile with gcc warnings and pass lint
1783
17842006-12-11 16:49 Christos Zoulas <christos@astron.com>
1785
1786	* fix byteswapping issue
1787
1788	* report the number of bytes we tried to
1789	  allocate when allocation fails
1790
1791	* add a few missed cases in the strength routine
1792
17932006-12-08 16:32 Christos Zoulas <christos@astron.com>
1794
1795	* store and print the line number of the magic
1796	  entry for debugging.
1797
1798	* if the magic entry did not print anything,
1799	  don't treat it as a match
1800
1801	* change the magic strength algorithm to take
1802	  into account the relationship op.
1803
1804	* fix a bug in search where we could accidentally
1805	  return a match.
1806
1807	* propagate the error return from match to
1808	  file_softmagic.
1809
18102006-11-25 13:35 Christos Zoulas <christos@astron.com>
1811
1812	* Don't store the current offset in the magic
1813	  struct, because it needs to be restored and
1814	  it was not done properly all the time. Bug
1815	  found by: Arkadiusz Miskiewicz
1816
1817	* Fix problem in the '\0' separator; and don't
1818	  print it as an additional separator; print
1819	  it as the only separator.
1820
18212006-11-17 10:51 Christos Zoulas <christos@astron.com>
1822
1823	* Added a -0 option to print a '\0' separator
1824	  Etienne Buira <etienne.buira@free.fr>
1825
18262006-10-31 15:14 Christos Zoulas <christos@astron.com>
1827
1828	* Check offset before copying (Mike Frysinger)
1829
1830	* merge duplicated code
1831
1832	* add quad date support
1833
1834	* make sure that we nul terminate desc (Ryoji Kanai)
1835
1836	* don't process elf notes multiple times
1837
1838	* allow -z to report empty compressed files
1839
1840	* use calloc to initialize the ascii buffers (Jos van den Oever)
1841
18422006-06-08 11:11 Christos Zoulas <christos@astron.com>
1843
1844	* QNX fixes (Mike Gorchak)
1845
1846	* Add quad support.
1847
1848	* FIFO checks (Dr. Werner Fink)
1849
1850	* Linux ELF fixes (Dr. Werner Fink)
1851
1852	* Magic format checks (Dr. Werner Fink)
1853
1854	* Magic format function improvement (Karl Chen)
1855
18562006-05-03 11:11 Christos Zoulas <christos@astron.com>
1857
1858	* Pick up some elf changes and some constant fixes from SUSE
1859
1860	* Identify gnu tar vs. posix tar
1861
1862	* When keep going, don't print spurious newlines (Radek Vokal)
1863
18642006-04-01 12:02 Christos Zoulas <christos@astron.com>
1865
1866	* Use calloc instead of malloc (Mike Frysinger)
1867
1868	* Fix configure script to detect wctypes.h (Mike Frysinger)
1869
18702006-03-02 16:06 Christos Zoulas <christos@astron.com>
1871
1872	* Print empty if the file is (Mike Frysinger)
1873
1874	* Don't try to read past the end of the buffer (Mike Frysinger)
1875
1876	* Sort magic entries by strength [experimental]
1877
18782005-11-29 13:26 Christos Zoulas <christos@astron.com>
1879
1880	* Use iswprint() to convert the output string.
1881	    (Bastien Nocera)
1882
18832005-10-31 8:54 Christos Zoulas <christos@astron.com>
1884
1885	* Fix regression where the core info was not completely processed
1886	    (Radek Vokal)
1887
18882005-10-20 11:15 Christos Zoulas <christos@astron.com>
1889
1890	* Middle Endian magic (Diomidis Spinellis)
1891
18922005-10-17 11:15 Christos Zoulas <christos@astron.com>
1893
1894	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1895
1896	* Don't close stdin (Arkadiusz Miskiewicz)
1897
1898	* Look for note sections in non executables.
1899
19002005-09-20 13:33 Christos Zoulas <christos@astron.com>
1901
1902	* Don't print SVR4 Style in core files multiple times
1903	    (Radek Vokal)
1904
19052005-08-27 04:09 Christos Zoulas <christos@astron.com>
1906
1907	* Cygwin changes Corinna Vinschen
1908
19092005-08-18 09:53 Christos Zoulas <christos@astron.com>
1910
1911	* Remove erroreous mention of /etc/magic in the file man page
1912	  This is gentoo bug 101639. (Mike Frysinger)
1913
1914	* Cross-compile support and detection (Mike Frysinger)
1915
19162005-08-12 10:17 Christos Zoulas <christos@astron.com>
1917
1918	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1919	  is set.
1920
19212005-07-29 13:57 Christos Zoulas <christos@astron.com>
1922
1923	* Avoid search and regex buffer overflows (Kelledin)
1924
19252005-07-12 11:48 Christos Zoulas <christos@astron.com>
1926
1927	* Provide stub implementations for {v,}nsprintf() for older
1928	  OS's that don't have them.
1929	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1930	  to AC_TYPE_MBSTATE_T.
1931
19322005-06-25 11:48 Christos Zoulas <christos@astron.com>
1933
1934	* Dynamically allocate the string buffers and make the
1935	  default read size 256K.
1936
19372005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1938
1939	* Dragonfly ELF note support
1940
19412005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1942
1943	* Avoid NULL pointer dereference in time conversion.
1944
19452005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1946
1947	* Add indirect magic offset support, and search mode.
1948
19492005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1950
1951	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1952	  If a CRLF text file happens to have CR at offset HOWMANY - 1
1953	  (currently 0xffff), it should not be counted as CR line
1954	  terminator.
1955	  If a line has length exactly MAXLINELEN, it should not yet be
1956	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
1957	  line length''.
1958	  With CRLF, the line length was not computed correctly, and even
1959	  lines of length MAXLINELEN - 1 were treated as ``very long''.
1960
19612004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1962
1963	* bzip2 needs a lot of input buffer space on some files
1964	  before it can begin uncompressing. This makes file -z
1965	  fail on some bz2 files. Fix it by giving it a copy of
1966	  the file descriptor to read as much as it wants if we
1967	  have access to it. <christos@astron.com>
1968
19692004-11-24 12:39  Christos Zoulas  <christos@astron.com>
1970
1971	* Stack smash fix, and ELF more conservative reading.
1972	  Jakub Bogusz <qboosh@pld-linux.org>
1973
19742004-11-20 18:50  Christos Zoulas  <christos@astron.com>
1975
1976	* New FreeBSD version parsing code:
1977	  Jon Noack <noackjr@alumni.rice.edu>
1978
1979	* Hackish support for ucs16 strings <christos@astron.com>
1980
19812004-11-13 03:07  Christos Zoulas  <christos@astron.com>
1982
1983	* print the file name and line number in syntax errors.
1984
19852004 10-12 10:50  Christos Zoulas  <christos@astron.com>
1986
1987	* Fix stack overwriting on 0 length strings: Tim Waugh
1988	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
1989
19902004-09-27 11:30  Christos Zoulas  <christos@astron.com>
1991
1992	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
1993
1994	* Fix small memory leaks; caught by: Tamas Sarlos
1995	    <stamas@csillag.ilab.sztaki.hu>
1996
19972004-07-24 16:33  Christos Zoulas  <christos@astron.com>
1998
1999	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
2000
2001	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
2002
2003	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
2004
2005  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
2006
20072004-04-12 10:55  Christos Zoulas  <christos@astron.com>
2008
2009	* make sure that magic formats match magic types during compilation
2010
2011	* fix broken sgi magic file
2012
20132004-04-06 20:36  Christos Zoulas  <christos@astron.com>
2014
2015	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
2016
2017	* magic fixes
2018
20192004-03-22 15:25  Christos Zoulas  <christos@astron.com>
2020
2021	* Lots of mime fixes
2022	  (Joerg Ostertag) <ostertag@rechengilde.de>
2023
2024	* FreeBSD ELF version handling
2025	  (Edwin Groothuis) <edwin@mavetju.org>
2026
2027	* correct cleanup in all cases; don't just close the file.
2028	  (Christos Zoulas) <christos@astron.com>
2029
2030	* add gettext message catalogue support
2031	  (Michael Piefel) <piefel@debian.org>
2032
2033	* better printout for unreadable files
2034	  (Michael Piefel) <piefel@debian.org>
2035
2036	* compensate for missing MAXPATHLEN
2037	  (Michael Piefel) <piefel@debian.org>
2038
2039	* add wide character string length computation
2040	  (Michael Piefel) <piefel@debian.org>
2041
2042	* Avoid infinite loops caused by bad elf alignments
2043	  or name and description note sizes. Reported by
2044	  (Mikael Magnusson) <mmikael@comhem.se>
2045
20462004-03-09 13:55  Christos Zoulas  <christos@astron.com>
2047
2048	* Fix possible memory leak on error and add missing regfree
2049	  (Dmitry V. Levin) <ldv@altlinux.org>
2050
20512003-12-23 12:12  Christos Zoulas  <christos@astron.com>
2052
2053	* fix -k flag (Maciej W. Rozycki)
2054
20552003-11-18 14:10  Christos Zoulas  <christos@astron.com>
2056
2057	* Try to give us much info as possible on corrupt elf files.
2058	  (Willy Tarreau) <willy@w.ods.org>
2059	* Updated python bindings (Brett Funderburg)
2060	   <brettf@deepfile.com>
2061
20622003-11-11 15:03  Christos Zoulas  <christos@astron.com>
2063
2064	* Include file.h first, because it includes config.h
2065	  breaks largefile test macros otherwise.
2066	  (Paul Eggert <eggert@CS.UCLA.EDU> via
2067	   Lars Hecking <lhecking@nmrc.ie>)
2068
20692003-10-14 21:39  Christos Zoulas  <christos@astron.com>
2070
2071	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
2072	* Don't lookup past the end of the buffer
2073	  (Chad Hanson) <chanson@tcs-sec.com>
2074	* Add MAGIC_ERROR and api on magic_errno()
2075
20762003-10-08 12:40  Christos Zoulas  <christos@astron.com>
2077
2078	* handle error conditions from compile as fatal
2079	  (Antti Kantee) <pooka@netbsd.org>
2080	* handle magic filename parsing sanely
2081	* more magic fixes.
2082	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
2083	* describe magic file handling
2084	  (Bryan Henderson) <bryanh@giraffe-data.com>
2085
20862003-09-12 15:09  Christos Zoulas  <christos@astron.com>
2087
2088	* update magic files.
2089	* remove largefile support from file.h; it breaks things on most OS's
2090
20912003-08-10 10:25  Christos Zoulas  <christos@astron.com>
2092
2093	* fix unmapping'ing of mmaped files.
2094
20952003-07-10 12:03  Christos Zoulas  <christos@astron.com>
2096
2097	* don't exit with -1 on error; always exit 1 (Marty Leisner)
2098	* restore utimes code.
2099
21002003-06-10 17:03  Christos Zoulas  <christos@astron.com>
2101
2102	* make sure we don't access uninitialized memory.
2103	* pass lint
2104	* #ifdef __cplusplus in magic.h
2105
21062003-05-25 19:23  Christos Zoulas  <christos@astron.com>
2107
2108	* rename cvs magic file to revision to deal with
2109	  case insensitive filesystems.
2110
21112003-05-23 17:03  Christos Zoulas  <christos@astron.com>
2112
2113	* documentation fixes from Michael Piefel <piefel@debian.org>
2114	* magic fixes (various)
2115	* revert basename magic in .mgc name determination
2116	* buffer protection in uncompress,
2117	  signness issues,
2118	  close files
2119	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
2120
21212003-04-21 20:12  Christos Zoulas  <christos@astron.com>
2122
2123	* fix zsh magic
2124
21252003-04-04 16:59  Christos Zoulas  <christos@astron.com>
2126
2127	* fix operand sort order in string.
2128
21292003-04-02 17:30  Christos Zoulas  <christos@astron.com>
2130
2131	* cleanup namespace in magic.h
2132
21332003-04-02 13:50  Christos Zoulas  <christos@astron.com>
2134
2135	* Magic additions (Alex Ott)
2136	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
2137
21382003-03-28 16:03  Christos Zoulas  <christos@astron.com>
2139
2140	* remove packed attribute from magic struct.
2141	* make the magic struct properly aligned.
2142	* bump version number of compiled files to 2.
2143
21442003-03-27 13:10  Christos Zoulas  <christos@astron.com>
2145
2146	* separate tar detection and run it before softmagic.
2147	* fix reversed symlink test.
2148	* fix version printing.
2149	* make separator a string instead of a char.
2150	* update manual page and sort options.
2151
21522003-03-26 11:00  Christos Zoulas  <christos@astron.com>
2153
2154	* Pass lint
2155	* make NULL in magic_file mean stdin
2156	* Fix "-" argument to file to pass NULL to magic_file
2157	* avoid pointer casts by using memcpy
2158	* rename magic_buf -> magic_buffer
2159	* keep only the first error
2160	* manual page: new sentence, new line
2161	* fix typo in api function (magic_buf -> magic_buffer)
2162