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