xref: /dragonfly/contrib/file/ChangeLog (revision f9993810)
12022-09-13  14:55  Christos Zoulas <christos@zoulas.com>
2
3	* release 5.43
4
52022-09-10   9:17  Christos Zoulas <christos@zoulas.com>
6
7	* Add octal indirect magic (Michal Gorny)
8
92022-08-17  11:43  Christos Zoulas <christos@zoulas.com>
10
11	* PR/374: avoid infinite loop in non-wide code (piru)
12	* PR/373: Obey MAGIC_CONTINUE with multiple magic files (vismarli)
13
142022-07-26  11:10  Christos Zoulas <christos@zoulas.com>
15
16	* Fix bug with large flist (Florian Weimer)
17
182022-07-07  13:21  Christos Zoulas <christos@zoulas.com>
19
20        * PR/364: Detect non-nul-terminated core filenames from QEMU
21	  (mam-ableton)
22
232022-07-04  15:45  Christos Zoulas <christos@zoulas.com>
24
25	* PR/359: Add support for http://ndjson.org/ (darose)
26	* PR/362: Fix wide printing (ro-ee)
27	* PR/358: Fix width for -f - (jpalus)
28	* PR/356: Fix JSON constant parsing (davewhite)
29
302022-06-10   9:40  Christos Zoulas <christos@zoulas.com>
31
32	* release 5.42
33
342022-05-31  14:50   Christos Zoulas <christos@zoulas.com>
35
36	* PR/348: add missing cases to prevent file from aborting on
37	  random magic files.
38
392022-05-27  21:05   Christos Zoulas <christos@zoulas.com>
40
41	* PR/351: octalify filenames when not raw before printing.
42
432022-04-18  17:51   Christos Zoulas <christos@zoulas.com>
44
45	* fix regex cacheing bug (Dirk Mueller)
46	* merge file_regcomp and file_regerror() to simplify the code
47	  and reduce memory requirements for storing regexes (Dirk Mueller)
48
492022-03-19  12:56   Christos Zoulas <christos@zoulas.com>
50
51	* cache regex (Dirk Mueller)
52	* detect filesystem full by flushing output (Dirk Mueller)
53
542021-11-19  12:36   Christos Zoulas <christos@zoulas.com>
55
56	* implement running decompressor programs using
57	  posix_spawnp(2) instead of vfork(2)
58
592021-10-24  11:51   Christos Zoulas <christos@zoulas.com>
60
61	* Add support for msdos dates and times
62
632021-10-20   9:55   Christos Zoulas <christos@zoulas.com>
64
65	* use the system byte swapping functions if available (Werner Fink)
66
672021-10-18  11:57  Christos Zoulas <christos@zoulas.com>
68
69	* release 5.41
70
712021-09-23  03:51  Christos Zoulas <christos@zoulas.com>
72
73	* Avinash Sonawane: Fix tzname detection
74
752021-09-03  09:17  Christos Zoulas <christos@zoulas.com>
76
77	* Fix relationship tests with "search" magic, don't short circuit
78	  logic
79
802021-07-13  01:06  Christos Zoulas <christos@zoulas.com>
81
82	* Fix memory leak in compile mode
83
842021-07-01  03:51  Christos Zoulas <christos@zoulas.com>
85
86	* PR/272: kiefermat: Only set returnval = 1 when we printed something
87	  (in all cases print or !print). This simplifies the logic and fixes
88	  the issue in the PR with -k and --mime-type there was no continuation
89	  printed before the default case.
90
912021-06-30  13:07  Christos Zoulas <christos@zoulas.com>
92
93	* PR/270: Don't translate unprintable characters in %s magic formats
94	  when -r
95	* PR/269: Avoid undefined behavior with clang (adding offset to NULL)
96
972021-05-09  18:38  Christos Zoulas <christos@zoulas.com>
98
99	* Add a new flag (f) that requires that the match is a full word,
100	   not a partial word match.
101	* Add varint types (unused)
102
1032021-04-19  17:17  Christos Zoulas <christos@zoulas.com>
104
105	* PR/256: mutableVoid: If the file is less than 3 bytes, use the file
106	  length to determine type
107	* PR/259: aleksandr.v.novichkov: mime printing through indirect magic
108	  is not taken into account, use match directly so that it does.
109
1102021-04-04  17:02  Christos Zoulas <christos@zoulas.com>
111
112	* count the total bytes found not the total byte positions
113	  in order to determine encoding (Anatol Belski)
114
1152021-03-30  20:21  Christos Zoulas <christos@zoulas.com>
116
117	* release 5.40
118
1192021-02-05  16:31  Christos Zoulas <christos@zoulas.com>
120
121	* PR/234: Add limit to the number of bytes to scan for encoding
122	* PR/230: Fix /T (trim flag) for regex
123
1242021-02-01  12:31  Christos Zoulas <christos@zoulas.com>
125	* PR/77: Trim trailing separator.
126
1272020-12-17  15:44  Christos Zoulas <christos@zoulas.com>
128
129	* PR/211: Convert system read errors from corrupt ELF
130	  files into human readable error messages
131
1322020-12-08  16:24  Christos Zoulas <christos@zoulas.com>
133
134	* fix multithreaded decompression file descriptor issue
135	  by using close-on-exec (Denys Vlasenko)
136
1372020-06-27  11:58  Christos Zoulas <christos@zoulas.com>
138
139	* Exclude surrogate pairs from utf-8 detection (Michael Liu)
140
1412020-06-25  12:53  Christos Zoulas <christos@zoulas.com>
142
143	* Include # to the list of ignored format chars (Werner Fink)
144
1452020-06-14  20:02  Christos Zoulas <christos@zoulas.com>
146
147	* release 5.39
148
1492020-06-07  20:00  Christos Zoulas <christos@zoulas.com>
150
151	* Remove unused subtype_mime (Steve Grubb)
152	* Remove unused check in okstat (Steve Grubb)
153	* Fix mime-type in elf binaries by making sure $x is set
154	* Fix indirect negative offsets broken by OFFNEGATIVE
155	* Fix GUID equality check
156	* PR/165: Handle empty array and strings in JSON
157	* PR/162: Add --exclude-quiet
158
1592020-06-06  15:33  Christos Zoulas <christos@zoulas.com>
160
161	* Fix memory leak in ascmagic (Steve Grubb)
162
1632020-06-04  00:21  Christos Zoulas <christos@zoulas.com>
164
165	* Fix string comparison length with ignore whitespace
166
1672020-05-31  00:11  Christos Zoulas <christos@zoulas.com>
168
169	* Fix mingwin 64 compilation
170
1712020-05-30  23:56  Christos Zoulas <christos@zoulas.com>
172
173	* PR/159: whitelist getpid needed for file_pipe2file()
174
1752020-05-09  18:57  Christos Zoulas <christos@zoulas.com>
176
177	* Indicate negative offsets with a flag OFFNEGATIVE
178	  so that -0 works.
179	* Introduce "offset" magic type that can be used to
180	  detect the file size, and bail on short files.
181	* document DER better in the magic man page.
182
1832020-03-11  21:53  Christos Zoulas <christos@zoulas.com>
184
185	* fix memory leaks (SonarQube)
186
1872020-03-08  21:33  Christos Zoulas <christos@zoulas.com>
188
189	* fix memory leaks (SonarQube)
190	* rewrite confusing loops (SonarQube)
191	* fix bogus test (SonarQube)
192	* pass a sized buffer to file_fmttime() (SonarQube)
193
194	* fix memory leaks (SonarQube)
195
1962020-02-20  15:50  Christos Zoulas <christos@zoulas.com>
197
198	* Don't allow * in printf formats, or the code itself (Christoph Biedl)
199	* Introduce a printf output size checker to avoid DoS attacks
200
2012020-02-17  17:22  Christos Zoulas <christos@zoulas.com>
202
203	* Avoid memory leak on error (oss-fuzz)
204	* Check length of string on DER before derefercing and add new types
205	* Add missing DER string (oss-fuzz)
206
2072020-02-16  20:45  Christos Zoulas <christos@zoulas.com>
208
209	* Add missing DER types, and debugging
210
2112020-02-13  13:10  Christos Zoulas <christos@zoulas.com>
212
213	* PR/140: Avoid abort with hand-crafted magic file (gockelhahn)
214	* PR/139  Avoid DoS in printf with hand-crafted magic file (gockelhahn)
215	* PR/138: Avoid crash with hand-crafted magic file (gockelhahn)
216
2172020-02-12  17:30  Christos Zoulas <christos@zoulas.com>
218
219	* PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine)
220
2212019-12-24  14:16  Christos Zoulas <christos@zoulas.com>
222
223	* add guid support
224
2252019-12-16  21:11  Christos Zoulas <christos@zoulas.com>
226
227	* release 5.38
228
2292019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
230    Document changes since the previous release:
231	- Always accept -S (no sandbox) even if we don't support sandboxing
232	- More syscalls elided for sandboxiing
233	- For ELF dynamic means having an interpreter not just PT_DYNAMIC
234	- Check for large ELF session header offset
235	- When saving and restoring a locale, keep the locale name in our
236	  own storage.
237	- Add a flag to disable CSV file detection.
238	- Don't pass NULL/0 to memset to appease sanitizers.
239	- Avoid spurious prints when looks for extensions or apple strings
240	  in fsmagic.
241	- Add builtin decompressors for xz and and bzip.
242	- Add a limit for the number of CDF elements.
243	- More checks for overflow in CDF.
244
2452019-05-14  22:26  Christos Zoulas <christos@zoulas.com>
246
247	* release 5.37
248
2492019-05-09  22:27  Christos Zoulas <christos@zoulas.com>
250
251	* Make sure that continuation separators are printed
252	  with -k within softmagic
253
2542019-05-06  22:27  Christos Zoulas <christos@zoulas.com>
255
256	* Change SIGPIPE saving and restoring during compression to use
257	  sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko)
258	* Cache stat(2) calls more to reduce number of calls (Denys Vlasenko)
259
2602019-05-06  17:25  Christos Zoulas <christos@zoulas.com>
261
262	* PR/77: Handle --mime-type and -k correctly.
263
2642019-05-03  15:26  Christos Zoulas <christos@zoulas.com>
265
266	* Switch decompression code to use vfork() because
267	  tools like rpmdiff and rpmbuild call libmagic
268	  with large process footprints (Denys Vlasenko)
269
2702019-04-07  14:05  Christos Zoulas <christos@zoulas.com>
271
272	* PR/75: --enable-zlib, did not work.
273
2742019-02-27  11:54  Christos Zoulas <christos@zoulas.com>
275
276	* Improve regex efficiency (Michael Schroeder) by:
277		1. Prefixing regex searches with regular search
278		   for keywords where possible
279		2. Using memmem(3) where available
280
2812019-02-20  10:16  Christos Zoulas <christos@zoulas.com>
282
283	* release 5.36
284
2852019-02-19  15:30  Christos Zoulas <christos@zoulas.com>
286
287	* Fix cast to use cast macros
288	* Add UCS-32 builtin detection (PR/61) reported by tmc
289
2902019-02-18  18:24  Christos Zoulas <christos@zoulas.com>
291
292	* Fix stack read (PR/62) and write (PR/64) stack overflows
293	  reported by spinpx
294
2952018-10-18  19:32  Christos Zoulas <christos@zoulas.com>
296
297	* release 5.35
298
2992018-09-10  20:38  Christos Zoulas <christos@zoulas.com>
300
301	* Add FreeBSD ELF core file support (John Baldwin)
302
3032018-08-20  18:40  Christos Zoulas <christos@zoulas.com>
304
305	* PR/30: Allow all parameter values to be set (don't treat 0 specially)
306	* handle default annotations on the softmagic match instead at the
307	  end.
308
3092018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
310
311	* PR/23: Recognize JSON files
312
3132018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
314
315	* PR/18: file --mime-encoding should not print mime-type
316
3172018-07-25   8:50  Christos Zoulas <christos@zoulas.com>
318
319	* release 5.34
320
3212018-06-22  16:38  Christos Zoulas <christos@zoulas.com>
322
323	* Add Quad indirect offsets
324
3252018-05-24  14:10  Christos Zoulas <christos@zoulas.com>
326
327	* Enable parsing of ELF dynamic sections to handle PIE better
328
3292018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
330
331	* release 5.33
332
3332018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
334
335	* extend the support for ${x?:} expansions for magic descriptions
336
3372018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
338
339	* add support for ${x?:} in mime types to handle
340	  pie binaries.
341
3422017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
343
344	* add support for negative offsets (offsets from the end of file)
345
3462017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
347
348	* close the file on error when writing magic (Steve Grubb)
349
3502017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
351
352	* seccomp support (Paul Moore)
353
3542017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
355
356	* release 5.32
357
3582017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
359
360	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
361
3622017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
363
364	* Fix always true condition (Thomas Jarosch)
365
3662017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
367
368	* pickier parsing of numeric values in magic files.
369
3702017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
371
372	* PR/615 add magic_getflags()
373
3742017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
375
376	* release 5.31
377
3782017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
379
380	* remove trailing spaces from magic files
381	* refactor is_tar
382	* better bounds checks for cdf
383
3842017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
385
386	* release 5.30
387
3882017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
389
390	* If we exceeded the offset in a search return no match
391	  (Christoph Biedl)
392	* Be more lenient on corrupt CDF files (Christoph Biedl)
393
3942017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
395
396	* pacify ubsan sign extension (oss-fuzz/524)
397
3982017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
399
400	* off by one in cdf parsing (PR/593)
401	* report debugging sections in elf (PR/591)
402
4032016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
404
405	* Allow @@@ in extensions
406	* Add missing overflow check in der magic (Jonas Wagner)
407
4082016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
409
410	* release 5.29
411
4122016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
413
414	* der getlength overflow (Jonas Wagner)
415	* multiple magic file load failure (Christoph Biedl)
416
4172016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
418
419	* CDF parsing improvements (Guy Helmer)
420
4212016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
422
423	* Add support for signed indirect offsets
424
4252016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
426
427	* cat /dev/null | file - should print empty (Christoph Biedl)
428
4292016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
430
431	* Bump string size from 64 to 96.
432
4332016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
434
435	* PR/556: Fix separators on annotations.
436
4372016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
438
439	* release 5.28
440	* fix leak on allocation failure
441
4422016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
443
444	* PR/555: Avoid overflow for offset > nbytes
445	* PR/550: Segv on DER parsing:
446	    - use the correct variable for length
447	    - set offset to 0 on failure.
448
4492016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
450
451	* release 5.27
452
4532016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
454
455	* Errors comparing DER entries or computing offsets
456	  are just indications of malformed non-DER files.
457	  Don't print them.
458	* Offset comparison was off-by-one.
459	* Fix compression code (Werner Fink)
460	* Put new bytes constant in the right file (not the generated one)
461
4622016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
463
464	* release 5.26
465
4662016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
467
468	* make the number of bytes read from files configurable.
469
4702016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
471
472	* Add bounds checks for DER code (discovered by Thomas Jarosch)
473	* Change indirect recursion limit to indirect use count and
474	  bump from 15 to 50 to prevent abuse.
475
4762016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
477
478	* Add -00 which prints filename\0description\0
479
4802016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
481
482	* Fix ID3 indirect parsing
483
4842016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
485
486	* add DER parsing capability
487
4882015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
489
490	* provide dprintf(3) for the OS's that don't have it.
491
4922015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
493
494	* redo the compression code report decompression errors
495
4962015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
497
498	* REG_STARTEND code is not working as expected, delete it.
499
5002015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
501
502	* Add zlib support if we have it.
503
5042015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
505
506	* PR/492: compression forking was broken with magic_buffer.
507
5082015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
509
510	* release 5.25
511
5122015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
513
514	* add a limit to the length of regex searches
515
5162015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
517
518	* fix problems with --parameter (Christoph Biedl)
519
5202015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
521
522	* Windows fixes PR/466 (Jason Hood)
523
5242015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
525
526	* release 5.24
527
5282015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
529
530	* redo long option encoding to fix off-by-one in 5.23
531
5322015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
533
534	* release 5.23
535
5362015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
537
538	* Fix issue with regex range for magic with offset
539	* Always return true from mget with USE (success to mget not match
540	  indication). Fixes mime evaluation after USE magic
541	* PR/459: Don't insert magic entries to the list if there are parsing
542	  errors for them.
543
5442015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
545
546	* PR/455: Add utf-7 encoding
547
5482015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
549
550	* PR/455: Implement -Z, look inside, but don't report on compression
551	* PR/454: Fix allocation error on bad magic.
552
5532015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
554
555	* handle MAGIC_CONTINUE everywhere, not just in softmagic
556
5572015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
558
559	* don't print descriptions for NAME types when mime.
560
5612015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
562
563	* Add --extension to list the known extensions for this file type
564	  Idea by Andrew J Roazen
565
5662015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
567
568	* Bump file search buffer size to 1M.
569
5702015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
571
572	* Fix multiple issues with date formats reported by Christoph Biedl:
573		- T_LOCAL meaning was reversed
574		- Arithmetic did not work
575	  Also stop adjusting daylight savings for gmt printing.
576
5772015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
578
579	* PR/411: Fix memory corruption from corrupt cdf file.
580
5812015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
582
583	* release 5.22
584
5852015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
586
587	* add indirect relative for TIFF/Exif
588
5892014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
590
591	* restructure elf note printing to avoid repeated messages
592	* add note limit, suggested by Alexander Cherepanov
593
5942014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
595
596	* Bail out on partial pread()'s (Alexander Cherepanov)
597	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
598
5992014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
600
601	* PR/405: ignore SIGPIPE from uncompress programs
602	* change printable -> file_printable and use it in
603	  more places for safety
604	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
605	  is present print the interpreter name.
606
6072014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
608
609	* release 5.21
610
6112014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
612
613	* Allow setting more parameters from the command line.
614	* Split name/use and indirect magic recursion limits.
615
6162014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
617
618	* Adjust ELF parameters and the default recursion
619	  level.
620	* Allow setting the recursion level dynamically.
621
6222014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
623
624	* The following fixes resulted from Thomas Jarosch's fuzzing
625	  tests that revealed severe performance issues on pathological
626	  input:
627	    - limit number of elf program and sections processing
628	    - abort elf note processing quickly
629	    - reduce the number of recursion levels from 20 to 10
630	    - preserve error messages in indirect magic handling
631
632	This is tracked as CVE-2014-8116 and CVE-2014-8117
633
6342014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
635
636	* fix bogus free in the user buffer case.
637
6382014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
639
640	* fix out of bounds read for pascal strings
641	* fix memory leak (not freeing the head of each mlist)
642
6432014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
644
645	* When printing strings from a file, convert them to printable
646	  on a byte by byte basis, so that we don't get issues with
647	  locale's trying to interpret random byte streams as UTF-8 and
648	  having printf error out with EILSEQ.
649
6502014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
651
652	* fix bounds in note reading (Francisco Alonso / Red Hat)
653
6542014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
655
656	* fix autoconf glue for setlocale and locale_t; some OS's
657	  have locale_t in xlocale.h
658
6592014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
660
661	* release 5.20
662
6632014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
664
665	* recognize encrypted CDF documents
666
6672014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
668
669	* add magic_load_buffers from Brooks Davis
670
6712014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
672
673	* add thumbs.db support
674
6752014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
676
677	* release 5.19
678
6792014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
680
681	* Misc buffer overruns and missing buffer size tests in cdf parsing
682	  (Francisco Alonso, Jan Kaluza)
683
6842014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
685
686	* Enforce limit of 8K on regex searches that have no limits
687	* Allow the l modifier for regex to mean line count. Default
688	  to byte count. If line count is specified, assume a max
689	  of 80 characters per line to limit the byte count.
690	* Don't allow conversions to be used for dates, allowing
691	  the mask field to be used as an offset.
692
6932014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
694
695	* Make the range operator limit the length of the
696	  regex search.
697
6982014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
699
700	* PR/347: Windows fixes
701	* PR/352: Hangul word processor recognition
702	* PR/354: Encoding irregularities in text files
703
7042014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
705
706	* Fix uninitialized title in CDF files (Jan Kaluza)
707
7082014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
709
710	* PR/351: Fix compilation of empty files
711
7122014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
713
714	* Fix integer formats: We don't specify 'l' or
715	  'h' and 'hh' specifiers anymore, only 'll' for
716	  quads and nothing for the rest. This is so that
717	  magic writing is simpler.
718
7192014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
720
721	* PR/341: Jan Kaluza, fix memory leak
722	* PR/342: Jan Kaluza, fix out of bounds read
723
7242014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
725
726	* Fix issue with long formats not matching fmtcheck
727
7282014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
729
730	* release 5.18
731
7322014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
733
734	* add fmtcheck(3) for those who don't have it
735
7362014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
737
738	* prevent mime entries from being attached to magic
739	  entries with no descriptions
740
741	* adjust magic strength for regex type
742
743	* remove superfluous ascmagic with encoding test
744
7452014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
746
747	* fix regression fix echo -ne "\012\013\014" | file -i -
748	  which printed "binary" instead of "application/octet-stream"
749
750	* add size_t overflow check for magic file size
751
7522014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
753
754	* experimental support for matching with CFD CLSID
755
7562014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
757
758	* Cache old LC_CTYPE locale before setting it to "C", so
759	  we can use it to restore LC_CTYPE instead of asking
760	  setlocale() to scan the environment variables.
761
7622014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
763
764	* Count recursion levels through indirect magic
765
7662014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
767
768	* Prevent infinite recursion on files with indirect offsets of 0
769
7702014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
771
772	* Add -E flag that makes file print filesystem errors to stderr
773	  and exit.
774
7752014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
776
777	* mime printing could print results from multiple magic entries
778	  if there were multiple matches.
779	* in some cases overflow was not detected when computing offsets
780	  in softmagic.
781
7822013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
783
784	* use strcasestr() to for cdf strings
785	* reset to the "C" locale while doing regex operations, or case
786	  insensitive comparisons; this is provisional
787
7882013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
789
790	* always leave magic file loaded, don't unload for magic_check, etc.
791	* fix default encoding to binary instead of unknown which broke recently
792	* handle empty and one byte files, less specially so that
793	  --mime-encoding does not break completely.
794		`
7952013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
796
797	* fix erroneous non-zero exit code from non-existent file and message
798
7992013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
800
801	* add CDF MSI file detection (Guy Helmer)
802
8032013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
804
805	* Don't mix errors and regular output if there was an error
806	* in magic_descriptor() don't close the file and try to restore
807	  its position
808
8092013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
810
811	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
812
8132013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
814
815	* Fix spacing issues in softmagic and elf (Jan Kaluza)
816
8172013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
818
819	* Fix segmentation fault with multiple magic_load commands.
820
8212013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
822
823	* The way "default" was implemented was not very useful
824	  because the "if something was printed at that level"
825	  was not easily controlled by the user, and the format
826	  was bound to a string which is too restrictive. Add
827	  a "clear" for that level keyword and make "default"
828	  void. This way one can do:
829
830		>>13	clear	x
831		>>13	lelong	1	foo
832		>>13	lelong	2	bar
833		>>13	default	x
834		>>>13	lelong	x	unknown %x
835
8362013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
837
838	* disallow strength setting in "name" entries
839
8402013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
841
842	* fix recursive magic separator printing
843
8442013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
845
846	* limit recursion level for mget
847	* fix pread() related breakage in cdf
848	* handle offsets properly in recursive "use"
849
8502013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
851
852	* add elf reading of debug info to determine if file is stripped
853	  (Jan Kaluza)
854	* use pread()
855
8562013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
857
858	* change mime description size from 64 to 80 to accommodate OOXML.
859
8602013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
861
862	* Warn about inconsistent continuation levels.
863	* Change fsmagic to add a space after it prints.
864
8652013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
866
867	* Make getline public so that file can link against it.
868	  Perhaps it is better to rename it, or hide it differently.
869	  Fixes builds on platforms that do not provide it.
870
8712013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
872
873	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
874	  what long, int, short, etc is (Guy Harris)
875
8762013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
877
878	* add magic_version function and constant
879	* Redo memory allocation and de-allocation.
880	  (prevents double frees on non mmap platforms)
881	* Fix bug with name/use having to do with passing
882	  found state from the parent to the child and back.
883
8842012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
885
886	* Only print elf capabilities for archs we know (Jan Kaluza)
887
8882012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
889
890	* Add "name" and "use" file types in order to look
891	  inside mach-o files.
892
8932012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
894
895	* make --version exit 0 (Matthew Schultz)
896	* add string/T (Jan Kaluza)
897
8982012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
899
900	* add z and t modifiers for our own vasprintf
901	* search for $HOME/.magic.mgc if it is there first
902	* fix reads from a pipe, and preserve errno
903
9042012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
905
906	* use ctime_r, asctime_r
907
9082012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
909
910	* Fixes for indirect offsets to handle apple disk formats
911
9122012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
913
914	* Add windows date field types
915	* More info for windows shortcuts (incomplete)
916
9172012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
918
919	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
920
9212011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
922
923	* Support Tilera architectures (tile64, tilepro, tilegx).
924
9252011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
926
927	* Add magic for /usr/bin/env Perl scripts
928	* Weaken generic script magic to avoid clashing with
929	language-specific magic.
930
9312011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
932
933	* Simplify if (p) free(p) to free(p).
934
9352011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
936
937	* Remove hardwired token finding (names.h), turning it into soft
938	magic. Patterns are either anchored regexs or search/8192. English
939	language detection and PL/1 detection have been removed as they
940	were too fragile. -e tokens is still accepted for backwards
941	compatibility.
942	* Move 3ds patterns (which are commented out anyway) into autodesk
943	(they were, oddly, in c-lang).
944
9452011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
946
947	* Tweak strength of generic hash-bang detectors to be less than
948	specific ones.
949	* Make an inconsistent description of Python scripts consistent.
950
9512011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
952
953	* Fix minor error in file(1).
954
9552011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
956
957	* Fix issue #150 (I hope).
958
9592011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
960
961	* Python3 binding fixes from Kelly Anderson
962
9632011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
964
965	* If a string type magic entry is marked as text or binary
966	  only match text files against text entries and binary
967	  files against binary entries.
968
9692011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
970
971	* Don't wait for any subprocess, just the one we forked.
972
9732011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
974
975	* If the application name is not set in a cdf file, try to see
976	  if it has a directory with the application name on it.
977
9782011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
979
980	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
981
9822011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
983
984	* Don't use variable string formats.
985
9862011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
987
988	* Fix detection of Zip files (Mantis #128).
989	* Make some minor improvements to file(1).
990	* Rename MIME types for filesystem objects for consistency with
991	  xdg-utils. Typically this means that application/x-foo becomes
992	  inode/foo, but some names also change slightly, e.g.
993	  application/x-character-device becomes inode/chardevice.
994
9952011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
996
997	* fix mingw compilation (Abradoks)
998
9992011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1000
1001	* remove patchlevel.h
1002	* Fix read past allocated memory caused by double-incrementing
1003	  a pointer in a loop (reported by Roberto Maar)
1004
10052011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
1006
1007	* Fix cdf string buffer setting (Sven Anders)
1008
10092011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
1010
1011	* Eliminate MAXPATHLEN and use dynamic allocation for
1012	  path and file buffers.
1013
10142011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
1015
1016	* binary tests on magic entries with masks could spuriously
1017	  get converted to ascii.
1018
10192011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
1020
1021	* Improve file.man (remove BUGS, present email addresses consistently).
1022
10232011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
1024
1025	* add lrzip support (from Ville Skytta)
1026
10272011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
1028
1029	* fix CDF bounds checking (Guy Helmer)
1030
10312011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
1032
1033	* add cdf_ctime() that prints a meaningful error when time cannot
1034	  be converted.
1035
10362011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
1037
1038	* help and version output to stdout.
1039
1040	* When matching softmagic for ascii files, don't just print
1041	  the softmagic classification, keep going and print the
1042	  text classification too. This fixes broken troff files when
1043	  we moved them from keyword recognition to softmagic
1044	  (they stopped printing "with CRLF" etc.)
1045	  Reported by Doug McIlroy.
1046
10472011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
1048
1049	* Fix two potential buffer overruns in apprentice_list.
1050
10512011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
1052
1053	* New Python binding in pure Python.
1054	* Update libmagic(3).
1055
10562011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
1057
1058	* Fix Python bindings (including recent Python 3 compatibility
1059	  update).
1060
10612011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
1062
1063	* magic/Makefile.am: make it easier to recover from magic build failures.
1064	* Fix pstring length specifier parsing to avoid generating invalid
1065	  magic files.
1066	* Add pstring length "J" (for "JPEG") to specify that the length
1067	  include itself.
1068	* Fix JPEG comment parsing at last using pstring/HJ!
1069	* Ignore section 5 man pages in doc/.cvsignore.
1070
10712010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
1072
1073	* Add pstring/BHhLl to specify the type of the length of pascal
1074	  strings.
1075
10762010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
1077
1078	* Fix "-e soft": it was ignored when softmagic was called
1079	  during asciimagic.
1080	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
1081
10822010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
1083
1084	* Make bug reporting addresses more visible.
1085
10862010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
1087
1088	* Add tcl magic from Gustaf Neumann
1089
10902010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
1091
1092	* Fix the whitespace comparing code (Christopher Chittleborough)
1093
10942010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
1095
1096	* allow string/t to work (Jan Kaluza)
1097
10982010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
1099
1100	* Apply some patches from Ubuntu and Fedora.
1101
11022010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
1103
1104	* Apply all patches from Debian package 5.04-6 which have not
1105	  already been applied and are not Debian-specific.
1106
11072010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
1108
1109	* Minor security fix to softmagic.c (don't use untrusted
1110	  string as printf format).
1111
11122010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
1113
1114	* MINGW32 portability from LRN
1115
1116	* Don't warn about escaping magic regex chars when we are in a regex.
1117
11182010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
1119
1120	* Only try to print prpsinfo for core files. (Jan Kaluza)
1121
11222010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
1123
1124	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
1125
11262010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
1127
1128	* Clarify which sort of CDF we mean.
1129
11302010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
1131
1132	* Re-jig Zip file type magic so that unsupported special
1133	  Zip types (those with "mimetype" at offset 30) can be
1134	  recognized.
1135
11362010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
1137
1138	* Add support for OCF (EPUB) files (application/epub+zip)
1139
11402010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
1141
1142	* Fix core-dump from unbound loop:
1143	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
1144
11452010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
1146
1147	* print proper mime for crystal reports file
1148
1149	* print the last summary information of a cdf document, not the
1150	  first so that nested documents print the right info
1151
11522010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
1153
1154	* bring back some fixes from OpenBSD:
1155		- make gcc2 builds file
1156		- fix typos in a magic file comment
1157
11582009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
1159
1160	* ctime/asctime can return NULL on some OS's although
1161	  they should not (Toshit Antani)
1162
11632009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
1164
1165	* Centralize magic path handling routines and remove the
1166	  special-casing from file.c so that the python module for
1167	  example comes up with the same magic path (Fixes ~/.magic
1168	  handling) (from Gab)
1169
11702009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
1171
1172	* When magic argument is a directory, read the files in
1173	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
1174
11752009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
1176
1177	* Combine overlapping epoc and psion magic files into one (epoc).
1178
1179	* Add some more EPOC MIME types.
1180
11812009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
1182
1183	* Fix 3 bugs (From Ian Darwin):
1184	    - file_showstr could move one past the end of the array
1185	    - parse_apple did not nul terminate the string in the overflow case
1186	    - parse_mime truncated the wrong string in the overflow case
1187
11882009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
1189
1190	* Include Localstuff when compiling magic.
1191
11922009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
1193
1194	* Fix logic for including mygetopts.h
1195
1196	* Make cdf.c compile again with debugging
1197
1198	* Add the necessary field handling for crystal reports files to work
1199
12002009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
1201
1202	* Stop "(if" identifying Lisp files, that's plain dumb!
1203
12042009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
1205
1206	* Add a couple of missing MP3 MIME types.
1207
12082009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
1209
1210	* Add full range of hash-bang tests for Python and Ruby.
1211
1212	* Add MIME types for Python and Ruby scripts.
1213
12142009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
1215
1216	* off by one in parsing hw capabilities in elf
1217	  (Cheng Renquan)
1218
12192009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
1220
1221	* lint fixes and more from NetBSD
1222
12232009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
1224
1225	* Avoid null dereference in cdf code (Drew Yao)
1226
1227	* More cdf bounds checks and overflow checks
1228
12292009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
1230
1231	* Buffer overflow fixes from Drew Yao
1232
12332009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
1234
1235	* Fix more cdf lossage. All the documents I have
1236	  right now print the correct information.
1237
12382009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
1239
1240	* don't print \012- separators in the same magic entry
1241	  if it consists of multiple magic printing lines.
1242
12432009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
1244
1245	* Avoid file descriptor leak in compress code from
1246	  (Daniel Novotny)
1247
12482009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
1249
1250	* Allow escaping of relation characters, so that we can say \^[A-Z]
1251	  and the ^ is not eaten as a relation char.
1252
1253	* Fix troff and fortran to their previous glory using
1254	  regex. This was broken since their removel from ascmagic.
1255
12562009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
1257
1258	* don't use strlen in strndup() (Toby Peterson)
1259
12602009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
1261
1262	* avoid c99 syntax.
1263
12642009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
1265
1266	* make the cdf code use the buffer first if available,
1267	  and then the fd code.
1268
12692009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
1270
1271	* look for struct option to determine if getopt.h is usable for IRIX.
1272
1273	* sanitize cdf document strings
1274
12752009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
1276
1277	* fix OS/2 warnings.
1278
12792008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
1280
1281	* fix initial offset calculation for non 4K sector files
1282
1283	* add loop limits to avoid DoS attacks by constructing
1284	  looping sector references.
1285
12862008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
1287
1288	* fix memory botches on cdf file parsing.
1289
1290	* exit with non-zero value for any error, not just for the last
1291	  file processed.
1292
12932008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
1294
1295	* Replace all str{cpy,cat} functions with strl{cpy,cat}
1296	* Ensure that strl{cpy,cat} are included in libmagic,
1297	  as needed.
1298
12992008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
1300
1301	* Handle ID3 format files.
1302
13032008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
1304
1305	* Fix --mime, --mime-type and --mime-encoding under new scheme.
1306
1307	* Rename "ascii" to "text" and add "encoding" test.
1308
1309	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
1310	  UTF-16.
1311
1312	* Fix error in comment caused by automatic indentation adding
1313	  words!
1314
13152008-11-06 10:35  Christos Zoulas <christos@astron.com>
1316
1317	* use memchr instead of strchr because the string
1318	  might not be NUL terminated (Scott MacVicar)
1319
13202008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
1321
1322	* Fix a printf with a non-literal format string.
1323
1324	* Fix formatting and punctuation of help for "--apple".
1325
13262008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
1327
1328	* Correct words counts in comments of struct magic.
1329
1330	* Fix handle_annotation to allow both Apple and MIME types to be
1331	  printed, and to return correct code if MIME type is
1332	  printed (1, not 0) or if there's an error (-1 not 1).
1333
1334	* Fix output of charset for MIME type (precede with semi-colon;
1335	  fixes Debian bug #501460).
1336
1337	* Fix potential attacks via conversion specifications in magic
1338	  strings.
1339
1340	* Add a FIXME for Debian bug #488562 (magic files should be
1341	  read in a defined order, by sorting the names).
1342
13432008-10-18 16:45  Christos Zoulas <christos@astron.com>
1344
1345	* Added APPLE file creator/type
1346
13472008-10-12 10:20  Christos Zoulas <christos@astron.com>
1348
1349	* Added CDF parsing
1350
13512008-10-09 16:40  Christos Zoulas <christos@astron.com>
1352
1353	* filesystem and msdos patches (Joerg Jenderek)
1354
13552008-10-09 13:20  Christos Zoulas <christos@astron.com>
1356
1357	* correct --exclude documentation issues: remove troff and fortran
1358	  and rename "token" to "tokens". (Randy McMurchy)
1359
13602008-10-01 10:30  Christos Zoulas <christos@astron.com>
1361
1362	* Read ~/.magic in addition to the default magic file not instead
1363	  of, as documented in the man page.
1364
13652008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1366
1367	* Comment out graphviz patterns, as they match too many files.
1368
13692008-08-30 12:54  Christos Zoulas <christos@astron.com>
1370
1371	* Don't eat trailing \n in magic enties.
1372
1373	* Cast defines to allow compilation using a c++ compiler.
1374
13752008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1376
1377	* Add text/x-lua MIME type for Lua scripts.
1378
1379	* Escape { in regex in graphviz patterns.
1380
13812008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1382
1383	* Add MIME types for special files.
1384
1385	* Use access to give more accurate information for files that
1386	  can't be opened.
1387
1388	* Add a TODO list.
1389
13902008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1391
1392	* add !:strength op to adjust magic strength (experimental)
1393
13942008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1395
1396	* Fix automake error in configure.ac.
1397
1398	* Add MIME type for Psion Sketch files.
1399
14002008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1401
1402	* Don't print warnings about bad namesize in stripped
1403	  binaries with PT_NOTE is still there, and the actual
1404	  note is gone (Jakub Jelinek)
1405
14062008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1407
1408	* magic/Magdir/elf:
1409	  Note invalid byte order for little-endian SPARC32PLUS.
1410	  Add SPARC V9 vendor extensions and memory model.
1411
1412	* src/elfclass.h:
1413	  Pass target machine to doshn (for Solaris hardware capabilities).
1414
1415	* src/readelf.c (doshn):
1416	  Add support for Solaris hardware/software capabilities.
1417
1418	* src/readelf.h:
1419	  Ditto.
1420
1421	* src/vasprintf.c (dispatch):
1422	  Add support for ll modifier.
1423
14242008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1425
1426	* Fix compiler warnings.
1427
1428	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1429
14302008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1431
1432	* src/Makefile.am:
1433	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1434	  as needed.
1435
1436	  Remove unnecessary EXTRA_DIST.
1437
1438	* src/Makefile.in:
1439	  Rerun automake.
1440
1441	* src/vasprintf.c (dispatch):
1442	  Fix variable precision bug: be sure to step past '*'.
1443
1444	* src/vasprintf.c (core):
1445	  Remove unreachable code.
1446
1447	* src/apprentice.c (set_test_type):
1448	  Add cast to avoid compiler warning.
1449
14502008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1451
1452	* Add magic submission guidelines (Abel Cheung)
1453
1454	* split msdos and windows magic (Abel Cheung)
1455
14562008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1457
1458	* >= <= is not supported, so fix the magic and warn about it.
1459	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1460
14612008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1462
1463	* src/readelf.c (donote):
1464	  ELF core file command name/line bug fixes and enhancements:
1465
1466	  Try larger offsets first to avoid false matches
1467	  from earlier data that happen to look like strings;
1468	  this primarily affected SunOS 5.x 32-bit Intel core files.
1469
1470	  Add support for command line (instead of just short name)
1471	  for SunOS 5.x.
1472
1473	  Add information about NT_PSINFO for SunOS 5.x.
1474
1475	  Only trim whitespace from end of command line.
1476
14772007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1478
1479	* Change strength of ! from MULT to 0, as it matches almost
1480		  anything (Reuben Thomas)
1481
1482	* Debian fixes (Reuben Thomas)
1483
14842007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1485
1486	* Clarify UTF-8 BOM message (Reuben Thomas)
1487
1488	* Add HTML comment to token list in names.h
1489
14902007-02-04 15:50 Christos Zoulas <christos@astron.com>
1491
1492	* Debian fixes (Reuben Thomas)
1493
14942007-02-04 11:31 Christos Zoulas <christos@astron.com>
1495
1496	* !:mime annotations in magic files (Reuben Thomas)
1497
14982007-01-29 15:35 Christos Zoulas <christos@astron.com>
1499
1500	* zero out utime/utimes structs (Gavin Atkinson)
1501
15022007-01-26 13:45 Christos Zoulas <christos@astron.com>
1503
1504	* reduce writable data from Diego "Flameeyes" Petten
1505
15062007-12-28 15:06 Christos Zoulas <christos@astron.com>
1507
1508	* strtof detection
1509
1510	* remove bogus regex magic that could cause a DoS
1511
1512	* better mismatch version message
1513
15142007-12-27 11:35 Christos Zoulas <christos@astron.com>
1515
1516	* bring back some fixes from OpenBSD
1517
1518	* treat ELF dynamic objects as executables
1519
1520	* fix gcc warnings
1521
15222007-12-01 19:55 Christos Zoulas <christos@astron.com>
1523
1524	* make sure we have zlib.h and libz to compile the builtin
1525	  decompress code
1526
15272007-10-28 20:48 Christos Zoulas <christos@astron.com>
1528
1529 	* float and double magic support (Behan Webster)
1530
15312007-10-28 20:48 Christos Zoulas <christos@astron.com>
1532
1533	* Convert fortran to a soft test (Reuben Thomas)
1534
15352007-10-23  5:25 Christos Zoulas <christos@astron.com>
1536
1537	* Add --with-filename, and --no-filename (Reuben Thomas)
1538
15392007-10-23  3:59 Christos Zoulas <christos@astron.com>
1540
1541	* Rest of the mime split (Reuben Thomas)
1542
1543	* Make usage message generated from the flags so that
1544	  they stay consistent (Reuben Thomas)
1545
15462007-10-20  3:06 Christos Zoulas <christos@astron.com>
1547
1548	* typo in comment, missing ifdef QUICK, remove unneeded code
1549		(Charles Longeau)
1550
15512007-10-17  3:33 Christos Zoulas <christos@astron.com>
1552
1553	* Fix problem printing -\012 in some entries
1554
1555	* Separate magic type and encoding flags (Reuben Thomas)
1556
15572007-10-09  3:55 Christos Zoulas <christos@astron.com>
1558
1559	* configure fix for int64 and strndup (Reuben Thomas)
1560
15612007-09-26  4:45 Christos Zoulas <christos@astron.com>
1562
1563	* Add magic_descriptor() function.
1564
1565	* Fix regression in elf reading code where the core name was
1566	  not being printed.
1567
1568	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1569
15702007-08-19  6:30 Christos Zoulas <christos@astron.com>
1571
1572	* Make mime format consistent so that it can
1573	  be easily parsed:
1574	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1575
1576	  Remove spurious extra text from some MIME type printouts
1577	  (mostly in is_tar).
1578
1579	  Fix one case where -i produced nothing at all (for a 1-byte file,
1580	  which is now classed as application/octet-stream).
1581
1582	  Remove 7/8bit classifications, since they were arbitrary
1583	  and not based on the file data.
1584
1585	  This work was done by Reuben Thomas
1586
15872007-05-24 10:00 Christos Zoulas <christos@astron.com>
1588
1589	* Fix another integer overflow (Colin Percival)
1590
15912007-03-26 13:58 Christos Zoulas <christos@astron.com>
1592
1593	* make sure that all of struct magic_set is initialized appropriately
1594	  (Brett)
1595
15962007-03-25 17:44 Christos Zoulas <christos@astron.com>
1597
1598	* reset left bytes in the buffer (Dmitry V. Levin)
1599
1600	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1601	  (Peter Avalos)
1602
16032007-03-15 10:51 Christos Zoulas <christos@astron.com>
1604
1605	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1606
1607	* fix exclude option (Dmitry V. Levin)
1608
16092007-02-08 17:30 Christos Zoulas <christos@astron.com>
1610
1611	* fix integer underflow in file_printf which can lead to
1612	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1613
16142007-02-05 11:35 Christos Zoulas <christos@astron.com>
1615
1616	* make socket/pipe reading more robust
1617
16182007-01-25 16:01 Christos Zoulas <christos@astron.com>
1619
1620	* Centralize all the tests in file_buffer.
1621
1622	* Add exclude flag.
1623
16242007-01-18 05:29 Anon Ymous <do@not.spam.me>
1625
1626	* Move the "type" detection code from parse() into its own table
1627	  driven routine.  This avoids maintaining multiple lists in
1628	  file.h.
1629
1630	* Add an optional conditional field (ust before the type field).
1631	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1632	  likely to go away.
1633
16342007-01-16 23:24 Anon Ymous <do@not.spam.me>
1635
1636	* Fix an initialization bug in check_mem().
1637
16382007-01-16 14:58 Anon Ymous <do@not.spam.me>
1639
1640	* Add a "default" type to print a message if nothing previously
1641	  matched at that level or since the last default at that
1642	  level.  This is useful for setting up switch-like statements.
1643	  It can also be used to do if/else constructions without a
1644	  redundant second test.
1645
1646	* Fix the "x" special case test so that one can test for that
1647	  string with "=x".
1648
1649	* Allow "search" to search the entire buffer if the "/N"
1650	  search count is missing.
1651
1652	* Make "regex" work!  It now starts its search at the
1653	  specified offset and takes an (optional) "/N" line count to
1654	  specify the search range; otherwise it searches to the end
1655	  of the file.  The match is now grabbed correctly for format
1656	  strings and the offset set to the end of the match.
1657
1658	* Add a "/s" flag to "regex" and "search" to set the offset to
1659	  the start of the match.  By default the offset is set to the
1660	  end of the match, as it is with other tests.  This is mostly
1661	  useful for "regex".
1662
1663	* Make "search", "string" and "pstring" use the same
1664	  file_strncmp() routine so that they support the same flags;
1665	  "bestring16" and "lestring16" call the same routine, but
1666	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1667	  to ignore the case on uppercase (lowercase) characters in
1668	  the test string.
1669
1670	* Strict adherence to C style string escapes.  A warnings are
1671	  printed when compiling.  Note: previously "\a" was
1672	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1673	  BELL, typically 0x07).
1674
1675	* Make this compile with "-Wall -Wextra" and all the warning
1676	  flags used with WARNS=4 in the NetBSD source.  Also make it
1677	  pass lint.
1678
1679	* Many "cleanups" and hopefully not too many new bugs!
1680
16812007-01-16 14:56 Anon Ymous <do@not.spam.me>
1682
1683	* make several more files compile with gcc warnings
1684	  on and also make them pass lint.
1685
16862007-01-16 14:54 Anon Ymous <do@not.spam.me>
1687
1688	* fix a puts()/putc() usage goof in file.c
1689
1690	* make file.c compile with gcc warnings and pass lint
1691
16922006-12-11 16:49 Christos Zoulas <christos@astron.com>
1693
1694	* fix byteswapping issue
1695
1696	* report the number of bytes we tried to
1697	  allocate when allocation fails
1698
1699	* add a few missed cases in the strength routine
1700
17012006-12-08 16:32 Christos Zoulas <christos@astron.com>
1702
1703	* store and print the line number of the magic
1704	  entry for debugging.
1705
1706	* if the magic entry did not print anything,
1707	  don't treat it as a match
1708
1709	* change the magic strength algorithm to take
1710	  into account the relationship op.
1711
1712	* fix a bug in search where we could accidentally
1713	  return a match.
1714
1715	* propagate the error return from match to
1716	  file_softmagic.
1717
17182006-11-25 13:35 Christos Zoulas <christos@astron.com>
1719
1720	* Don't store the current offset in the magic
1721	  struct, because it needs to be restored and
1722	  it was not done properly all the time. Bug
1723	  found by: Arkadiusz Miskiewicz
1724
1725	* Fix problem in the '\0' separator; and don't
1726	  print it as an additional separator; print
1727	  it as the only separator.
1728
17292006-11-17 10:51 Christos Zoulas <christos@astron.com>
1730
1731	* Added a -0 option to print a '\0' separator
1732	  Etienne Buira <etienne.buira@free.fr>
1733
17342006-10-31 15:14 Christos Zoulas <christos@astron.com>
1735
1736	* Check offset before copying (Mike Frysinger)
1737
1738	* merge duplicated code
1739
1740	* add quad date support
1741
1742	* make sure that we nul terminate desc (Ryoji Kanai)
1743
1744	* don't process elf notes multiple times
1745
1746	* allow -z to report empty compressed files
1747
1748	* use calloc to initialize the ascii buffers (Jos van den Oever)
1749
17502006-06-08 11:11 Christos Zoulas <christos@astron.com>
1751
1752	* QNX fixes (Mike Gorchak)
1753
1754	* Add quad support.
1755
1756	* FIFO checks (Dr. Werner Fink)
1757
1758	* Linux ELF fixes (Dr. Werner Fink)
1759
1760	* Magic format checks (Dr. Werner Fink)
1761
1762	* Magic format function improvent (Karl Chen)
1763
17642006-05-03 11:11 Christos Zoulas <christos@astron.com>
1765
1766	* Pick up some elf changes and some constant fixes from SUSE
1767
1768	* Identify gnu tar vs. posix tar
1769
1770	* When keep going, don't print spurious newlines (Radek Vokal)
1771
17722006-04-01 12:02 Christos Zoulas <christos@astron.com>
1773
1774	* Use calloc instead of malloc (Mike Frysinger)
1775
1776	* Fix configure script to detect wctypes.h (Mike Frysinger)
1777
17782006-03-02 16:06 Christos Zoulas <christos@astron.com>
1779
1780	* Print empty if the file is (Mike Frysinger)
1781
1782	* Don't try to read past the end of the buffer (Mike Frysinger)
1783
1784	* Sort magic entries by strength [experimental]
1785
17862005-11-29 13:26 Christos Zoulas <christos@astron.com>
1787
1788	* Use iswprint() to convert the output string.
1789	    (Bastien Nocera)
1790
17912005-10-31 8:54 Christos Zoulas <christos@astron.com>
1792
1793	* Fix regression where the core info was not completely processed
1794	    (Radek Vokal)
1795
17962005-10-20 11:15 Christos Zoulas <christos@astron.com>
1797
1798	* Middle Endian magic (Diomidis Spinellis)
1799
18002005-10-17 11:15 Christos Zoulas <christos@astron.com>
1801
1802	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1803
1804	* Don't close stdin (Arkadiusz Miskiewicz)
1805
1806	* Look for note sections in non executables.
1807
18082005-09-20 13:33 Christos Zoulas <christos@astron.com>
1809
1810	* Don't print SVR4 Style in core files multiple times
1811	    (Radek Vokal)
1812
18132005-08-27 04:09 Christos Zoulas <christos@astron.com>
1814
1815	* Cygwin changes Corinna Vinschen
1816
18172005-08-18 09:53 Christos Zoulas <christos@astron.com>
1818
1819	* Remove erroreous mention of /etc/magic in the file man page
1820	  This is gentoo bug 101639. (Mike Frysinger)
1821
1822	* Cross-compile support and detection (Mike Frysinger)
1823
18242005-08-12 10:17 Christos Zoulas <christos@astron.com>
1825
1826	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1827	  is set.
1828
18292005-07-29 13:57 Christos Zoulas <christos@astron.com>
1830
1831	* Avoid search and regex buffer overflows (Kelledin)
1832
18332005-07-12 11:48 Christos Zoulas <christos@astron.com>
1834
1835	* Provide stub implementations for {v,}nsprintf() for older
1836	  OS's that don't have them.
1837	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1838	  to AC_TYPE_MBSTATE_T.
1839
18402005-06-25 11:48 Christos Zoulas <christos@astron.com>
1841
1842	* Dynamically allocate the string buffers and make the
1843	  default read size 256K.
1844
18452005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1846
1847	* Dragonfly ELF note support
1848
18492005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1850
1851	* Avoid NULL pointer dereference in time conversion.
1852
18532005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1854
1855	* Add indirect magic offset support, and search mode.
1856
18572005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1858
1859	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1860	  If a CRLF text file happens to have CR at offset HOWMANY - 1
1861	  (currently 0xffff), it should not be counted as CR line
1862	  terminator.
1863	  If a line has length exactly MAXLINELEN, it should not yet be
1864	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
1865	  line length''.
1866	  With CRLF, the line length was not computed correctly, and even
1867	  lines of length MAXLINELEN - 1 were treated as ``very long''.
1868
18692004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1870
1871	* bzip2 needs a lot of input buffer space on some files
1872	  before it can begin uncompressing. This makes file -z
1873	  fail on some bz2 files. Fix it by giving it a copy of
1874	  the file descriptor to read as much as it wants if we
1875	  have access to it. <christos@astron.com>
1876
18772004-11-24 12:39  Christos Zoulas  <christos@astron.com>
1878
1879	* Stack smash fix, and ELF more conservative reading.
1880	  Jakub Bogusz <qboosh@pld-linux.org>
1881
18822004-11-20 18:50  Christos Zoulas  <christos@astron.com>
1883
1884	* New FreeBSD version parsing code:
1885	  Jon Noack <noackjr@alumni.rice.edu>
1886
1887	* Hackish support for ucs16 strings <christos@astron.com>
1888
18892004-11-13 03:07  Christos Zoulas  <christos@astron.com>
1890
1891	* print the file name and line number in syntax errors.
1892
18932004 10-12 10:50  Christos Zoulas  <christos@astron.com>
1894
1895	* Fix stack overwriting on 0 length strings: Tim Waugh
1896	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
1897
18982004-09-27 11:30  Christos Zoulas  <christos@astron.com>
1899
1900	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
1901
1902	* Fix small memory leaks; caught by: Tamas Sarlos
1903	    <stamas@csillag.ilab.sztaki.hu>
1904
19052004-07-24 16:33  Christos Zoulas  <christos@astron.com>
1906
1907	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
1908
1909	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
1910
1911	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
1912
1913  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
1914
19152004-04-12 10:55  Christos Zoulas  <christos@astron.com>
1916
1917	* make sure that magic formats match magic types during compilation
1918
1919	* fix broken sgi magic file
1920
19212004-04-06 20:36  Christos Zoulas  <christos@astron.com>
1922
1923	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
1924
1925	* magic fixes
1926
19272004-03-22 15:25  Christos Zoulas  <christos@astron.com>
1928
1929	* Lots of mime fixes
1930	  (Joerg Ostertag) <ostertag@rechengilde.de>
1931
1932	* FreeBSD ELF version handling
1933	  (Edwin Groothuis) <edwin@mavetju.org>
1934
1935	* correct cleanup in all cases; don't just close the file.
1936	  (Christos Zoulas) <christos@astron.com>
1937
1938	* add gettext message catalogue support
1939	  (Michael Piefel) <piefel@debian.org>
1940
1941	* better printout for unreadable files
1942	  (Michael Piefel) <piefel@debian.org>
1943
1944	* compensate for missing MAXPATHLEN
1945	  (Michael Piefel) <piefel@debian.org>
1946
1947	* add wide character string length computation
1948	  (Michael Piefel) <piefel@debian.org>
1949
1950	* Avoid infinite loops caused by bad elf alignments
1951	  or name and description note sizes. Reported by
1952	  (Mikael Magnusson) <mmikael@comhem.se>
1953
19542004-03-09 13:55  Christos Zoulas  <christos@astron.com>
1955
1956	* Fix possible memory leak on error and add missing regfree
1957	  (Dmitry V. Levin) <ldv@altlinux.org>
1958
19592003-12-23 12:12  Christos Zoulas  <christos@astron.com>
1960
1961	* fix -k flag (Maciej W. Rozycki)
1962
19632003-11-18 14:10  Christos Zoulas  <christos@astron.com>
1964
1965	* Try to give us much info as possible on corrupt elf files.
1966	  (Willy Tarreau) <willy@w.ods.org>
1967	* Updated python bindings (Brett Funderburg)
1968	   <brettf@deepfile.com>
1969
19702003-11-11 15:03  Christos Zoulas  <christos@astron.com>
1971
1972	* Include file.h first, because it includes config.h
1973	  breaks largefile test macros otherwise.
1974	  (Paul Eggert <eggert@CS.UCLA.EDU> via
1975	   Lars Hecking <lhecking@nmrc.ie>)
1976
19772003-10-14 21:39  Christos Zoulas  <christos@astron.com>
1978
1979	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
1980	* Don't lookup past the end of the buffer
1981	  (Chad Hanson) <chanson@tcs-sec.com>
1982	* Add MAGIC_ERROR and api on magic_errno()
1983
19842003-10-08 12:40  Christos Zoulas  <christos@astron.com>
1985
1986	* handle error conditions from compile as fatal
1987	  (Antti Kantee) <pooka@netbsd.org>
1988	* handle magic filename parsing sanely
1989	* more magic fixes.
1990	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
1991	* describe magic file handling
1992	  (Bryan Henderson) <bryanh@giraffe-data.com>
1993
19942003-09-12 15:09  Christos Zoulas  <christos@astron.com>
1995
1996	* update magic files.
1997	* remove largefile support from file.h; it breaks things on most OS's
1998
19992003-08-10 10:25  Christos Zoulas  <christos@astron.com>
2000
2001	* fix unmapping'ing of mmaped files.
2002
20032003-07-10 12:03  Christos Zoulas  <christos@astron.com>
2004
2005	* don't exit with -1 on error; always exit 1 (Marty Leisner)
2006	* restore utimes code.
2007
20082003-06-10 17:03  Christos Zoulas  <christos@astron.com>
2009
2010	* make sure we don't access uninitialized memory.
2011	* pass lint
2012	* #ifdef __cplusplus in magic.h
2013
20142003-05-25 19:23  Christos Zoulas  <christos@astron.com>
2015
2016	* rename cvs magic file to revision to deal with
2017	  case insensitive filesystems.
2018
20192003-05-23 17:03  Christos Zoulas  <christos@astron.com>
2020
2021	* documentation fixes from Michael Piefel <piefel@debian.org>
2022	* magic fixes (various)
2023	* revert basename magic in .mgc name determination
2024	* buffer protection in uncompress,
2025	  signness issues,
2026	  close files
2027	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
2028
20292003-04-21 20:12  Christos Zoulas  <christos@astron.com>
2030
2031	* fix zsh magic
2032
20332003-04-04 16:59  Christos Zoulas  <christos@astron.com>
2034
2035	* fix operand sort order in string.
2036
20372003-04-02 17:30  Christos Zoulas  <christos@astron.com>
2038
2039	* cleanup namespace in magic.h
2040
20412003-04-02 13:50  Christos Zoulas  <christos@astron.com>
2042
2043	* Magic additions (Alex Ott)
2044	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
2045
20462003-03-28 16:03  Christos Zoulas  <christos@astron.com>
2047
2048	* remove packed attribute from magic struct.
2049	* make the magic struct properly aligned.
2050	* bump version number of compiled files to 2.
2051
20522003-03-27 13:10  Christos Zoulas  <christos@astron.com>
2053
2054	* separate tar detection and run it before softmagic.
2055	* fix reversed symlink test.
2056	* fix version printing.
2057	* make separator a string instead of a char.
2058	* update manual page and sort options.
2059
20602003-03-26 11:00  Christos Zoulas  <christos@astron.com>
2061
2062	* Pass lint
2063	* make NULL in magic_file mean stdin
2064	* Fix "-" argument to file to pass NULL to magic_file
2065	* avoid pointer casts by using memcpy
2066	* rename magic_buf -> magic_buffer
2067	* keep only the first error
2068	* manual page: new sentence, new line
2069	* fix typo in api function (magic_buf -> magic_buffer)
2070