xref: /netbsd-src/external/bsd/file/dist/ChangeLog (revision 325dc460fcb903ba21d515d6422d8abf39bc692e)
12022-09-20  17:12  Christos Zoulas <christos@zoulas.com>
2
3	* fixed various clustefuzz issues
4
52022-09-19  15:54  Christos Zoulas <christos@zoulas.com>
6
7	* Fix error detection for decompression code (Vincent Mihalkovic)
8
92022-09-15  13:50  Christos Zoulas <christos@zoulas.com>
10
11	* Add MAGIC_NO_COMPRESS_FORK and use it to produce a more
12	  meaningful error message if we are sandboxing.
13
142022-09-15  10:45  Christos Zoulas <christos@zoulas.com>
15
16	* Add built-in lzip decompression support (Michal Gorny)
17
182022-09-14  10:35  Christos Zoulas <christos@zoulas.com>
19
20	* Add built-in zstd decompression support (Martin Rodriguez Reboredo)
21
222022-09-13  14:55  Christos Zoulas <christos@zoulas.com>
23
24	* release 5.43
25
262022-09-10   9:17  Christos Zoulas <christos@zoulas.com>
27
28	* Add octal indirect magic (Michal Gorny)
29
302022-08-17  11:43  Christos Zoulas <christos@zoulas.com>
31
32	* PR/374: avoid infinite loop in non-wide code (piru)
33	* PR/373: Obey MAGIC_CONTINUE with multiple magic files (vismarli)
34
352022-07-26  11:10  Christos Zoulas <christos@zoulas.com>
36
37	* Fix bug with large flist (Florian Weimer)
38
392022-07-07  13:21  Christos Zoulas <christos@zoulas.com>
40
41        * PR/364: Detect non-nul-terminated core filenames from QEMU
42	  (mam-ableton)
43
442022-07-04  15:45  Christos Zoulas <christos@zoulas.com>
45
46	* PR/359: Add support for http://ndjson.org/ (darose)
47	* PR/362: Fix wide printing (ro-ee)
48	* PR/358: Fix width for -f - (jpalus)
49	* PR/356: Fix JSON constant parsing (davewhite)
50
512022-06-10   9:40  Christos Zoulas <christos@zoulas.com>
52
53	* release 5.42
54
552022-05-31  14:50   Christos Zoulas <christos@zoulas.com>
56
57	* PR/348: add missing cases to prevent file from aborting on
58	  random magic files.
59
602022-05-27  21:05   Christos Zoulas <christos@zoulas.com>
61
62	* PR/351: octalify filenames when not raw before printing.
63
642022-04-18  17:51   Christos Zoulas <christos@zoulas.com>
65
66	* fix regex cacheing bug (Dirk Mueller)
67	* merge file_regcomp and file_regerror() to simplify the code
68	  and reduce memory requirements for storing regexes (Dirk Mueller)
69
702022-03-19  12:56   Christos Zoulas <christos@zoulas.com>
71
72	* cache regex (Dirk Mueller)
73	* detect filesystem full by flushing output (Dirk Mueller)
74
752021-11-19  12:36   Christos Zoulas <christos@zoulas.com>
76
77	* implement running decompressor programs using
78	  posix_spawnp(2) instead of vfork(2)
79
802021-10-24  11:51   Christos Zoulas <christos@zoulas.com>
81
82	* Add support for msdos dates and times
83
842021-10-20   9:55   Christos Zoulas <christos@zoulas.com>
85
86	* use the system byte swapping functions if available (Werner Fink)
87
882021-10-18  11:57  Christos Zoulas <christos@zoulas.com>
89
90	* release 5.41
91
922021-09-23  03:51  Christos Zoulas <christos@zoulas.com>
93
94	* Avinash Sonawane: Fix tzname detection
95
962021-09-03  09:17  Christos Zoulas <christos@zoulas.com>
97
98	* Fix relationship tests with "search" magic, don't short circuit
99	  logic
100
1012021-07-13  01:06  Christos Zoulas <christos@zoulas.com>
102
103	* Fix memory leak in compile mode
104
1052021-07-01  03:51  Christos Zoulas <christos@zoulas.com>
106
107	* PR/272: kiefermat: Only set returnval = 1 when we printed something
108	  (in all cases print or !print). This simplifies the logic and fixes
109	  the issue in the PR with -k and --mime-type there was no continuation
110	  printed before the default case.
111
1122021-06-30  13:07  Christos Zoulas <christos@zoulas.com>
113
114	* PR/270: Don't translate unprintable characters in %s magic formats
115	  when -r
116	* PR/269: Avoid undefined behavior with clang (adding offset to NULL)
117
1182021-05-09  18:38  Christos Zoulas <christos@zoulas.com>
119
120	* Add a new flag (f) that requires that the match is a full word,
121	   not a partial word match.
122	* Add varint types (unused)
123
1242021-04-19  17:17  Christos Zoulas <christos@zoulas.com>
125
126	* PR/256: mutableVoid: If the file is less than 3 bytes, use the file
127	  length to determine type
128	* PR/259: aleksandr.v.novichkov: mime printing through indirect magic
129	  is not taken into account, use match directly so that it does.
130
1312021-04-04  17:02  Christos Zoulas <christos@zoulas.com>
132
133	* count the total bytes found not the total byte positions
134	  in order to determine encoding (Anatol Belski)
135
1362021-03-30  20:21  Christos Zoulas <christos@zoulas.com>
137
138	* release 5.40
139
1402021-02-05  16:31  Christos Zoulas <christos@zoulas.com>
141
142	* PR/234: Add limit to the number of bytes to scan for encoding
143	* PR/230: Fix /T (trim flag) for regex
144
1452021-02-01  12:31  Christos Zoulas <christos@zoulas.com>
146	* PR/77: Trim trailing separator.
147
1482020-12-17  15:44  Christos Zoulas <christos@zoulas.com>
149
150	* PR/211: Convert system read errors from corrupt ELF
151	  files into human readable error messages
152
1532020-12-08  16:24  Christos Zoulas <christos@zoulas.com>
154
155	* fix multithreaded decompression file descriptor issue
156	  by using close-on-exec (Denys Vlasenko)
157
1582020-06-27  11:58  Christos Zoulas <christos@zoulas.com>
159
160	* Exclude surrogate pairs from utf-8 detection (Michael Liu)
161
1622020-06-25  12:53  Christos Zoulas <christos@zoulas.com>
163
164	* Include # to the list of ignored format chars (Werner Fink)
165
1662020-06-14  20:02  Christos Zoulas <christos@zoulas.com>
167
168	* release 5.39
169
1702020-06-07  20:00  Christos Zoulas <christos@zoulas.com>
171
172	* Remove unused subtype_mime (Steve Grubb)
173	* Remove unused check in okstat (Steve Grubb)
174	* Fix mime-type in elf binaries by making sure $x is set
175	* Fix indirect negative offsets broken by OFFNEGATIVE
176	* Fix GUID equality check
177	* PR/165: Handle empty array and strings in JSON
178	* PR/162: Add --exclude-quiet
179
1802020-06-06  15:33  Christos Zoulas <christos@zoulas.com>
181
182	* Fix memory leak in ascmagic (Steve Grubb)
183
1842020-06-04  00:21  Christos Zoulas <christos@zoulas.com>
185
186	* Fix string comparison length with ignore whitespace
187
1882020-05-31  00:11  Christos Zoulas <christos@zoulas.com>
189
190	* Fix mingwin 64 compilation
191
1922020-05-30  23:56  Christos Zoulas <christos@zoulas.com>
193
194	* PR/159: whitelist getpid needed for file_pipe2file()
195
1962020-05-09  18:57  Christos Zoulas <christos@zoulas.com>
197
198	* Indicate negative offsets with a flag OFFNEGATIVE
199	  so that -0 works.
200	* Introduce "offset" magic type that can be used to
201	  detect the file size, and bail on short files.
202	* document DER better in the magic man page.
203
2042020-03-11  21:53  Christos Zoulas <christos@zoulas.com>
205
206	* fix memory leaks (SonarQube)
207
2082020-03-08  21:33  Christos Zoulas <christos@zoulas.com>
209
210	* fix memory leaks (SonarQube)
211	* rewrite confusing loops (SonarQube)
212	* fix bogus test (SonarQube)
213	* pass a sized buffer to file_fmttime() (SonarQube)
214
215	* fix memory leaks (SonarQube)
216
2172020-02-20  15:50  Christos Zoulas <christos@zoulas.com>
218
219	* Don't allow * in printf formats, or the code itself (Christoph Biedl)
220	* Introduce a printf output size checker to avoid DoS attacks
221
2222020-02-17  17:22  Christos Zoulas <christos@zoulas.com>
223
224	* Avoid memory leak on error (oss-fuzz)
225	* Check length of string on DER before derefercing and add new types
226	* Add missing DER string (oss-fuzz)
227
2282020-02-16  20:45  Christos Zoulas <christos@zoulas.com>
229
230	* Add missing DER types, and debugging
231
2322020-02-13  13:10  Christos Zoulas <christos@zoulas.com>
233
234	* PR/140: Avoid abort with hand-crafted magic file (gockelhahn)
235	* PR/139  Avoid DoS in printf with hand-crafted magic file (gockelhahn)
236	* PR/138: Avoid crash with hand-crafted magic file (gockelhahn)
237
2382020-02-12  17:30  Christos Zoulas <christos@zoulas.com>
239
240	* PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine)
241
2422019-12-24  14:16  Christos Zoulas <christos@zoulas.com>
243
244	* add guid support
245
2462019-12-16  21:11  Christos Zoulas <christos@zoulas.com>
247
248	* release 5.38
249
2502019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
251    Document changes since the previous release:
252	- Always accept -S (no sandbox) even if we don't support sandboxing
253	- More syscalls elided for sandboxiing
254	- For ELF dynamic means having an interpreter not just PT_DYNAMIC
255	- Check for large ELF session header offset
256	- When saving and restoring a locale, keep the locale name in our
257	  own storage.
258	- Add a flag to disable CSV file detection.
259	- Don't pass NULL/0 to memset to appease sanitizers.
260	- Avoid spurious prints when looks for extensions or apple strings
261	  in fsmagic.
262	- Add builtin decompressors for xz and and bzip.
263	- Add a limit for the number of CDF elements.
264	- More checks for overflow in CDF.
265
2662019-05-14  22:26  Christos Zoulas <christos@zoulas.com>
267
268	* release 5.37
269
2702019-05-09  22:27  Christos Zoulas <christos@zoulas.com>
271
272	* Make sure that continuation separators are printed
273	  with -k within softmagic
274
2752019-05-06  22:27  Christos Zoulas <christos@zoulas.com>
276
277	* Change SIGPIPE saving and restoring during compression to use
278	  sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko)
279	* Cache stat(2) calls more to reduce number of calls (Denys Vlasenko)
280
2812019-05-06  17:25  Christos Zoulas <christos@zoulas.com>
282
283	* PR/77: Handle --mime-type and -k correctly.
284
2852019-05-03  15:26  Christos Zoulas <christos@zoulas.com>
286
287	* Switch decompression code to use vfork() because
288	  tools like rpmdiff and rpmbuild call libmagic
289	  with large process footprints (Denys Vlasenko)
290
2912019-04-07  14:05  Christos Zoulas <christos@zoulas.com>
292
293	* PR/75: --enable-zlib, did not work.
294
2952019-02-27  11:54  Christos Zoulas <christos@zoulas.com>
296
297	* Improve regex efficiency (Michael Schroeder) by:
298		1. Prefixing regex searches with regular search
299		   for keywords where possible
300		2. Using memmem(3) where available
301
3022019-02-20  10:16  Christos Zoulas <christos@zoulas.com>
303
304	* release 5.36
305
3062019-02-19  15:30  Christos Zoulas <christos@zoulas.com>
307
308	* Fix cast to use cast macros
309	* Add UCS-32 builtin detection (PR/61) reported by tmc
310
3112019-02-18  18:24  Christos Zoulas <christos@zoulas.com>
312
313	* Fix stack read (PR/62) and write (PR/64) stack overflows
314	  reported by spinpx
315
3162018-10-18  19:32  Christos Zoulas <christos@zoulas.com>
317
318	* release 5.35
319
3202018-09-10  20:38  Christos Zoulas <christos@zoulas.com>
321
322	* Add FreeBSD ELF core file support (John Baldwin)
323
3242018-08-20  18:40  Christos Zoulas <christos@zoulas.com>
325
326	* PR/30: Allow all parameter values to be set (don't treat 0 specially)
327	* handle default annotations on the softmagic match instead at the
328	  end.
329
3302018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
331
332	* PR/23: Recognize JSON files
333
3342018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
335
336	* PR/18: file --mime-encoding should not print mime-type
337
3382018-07-25   8:50  Christos Zoulas <christos@zoulas.com>
339
340	* release 5.34
341
3422018-06-22  16:38  Christos Zoulas <christos@zoulas.com>
343
344	* Add Quad indirect offsets
345
3462018-05-24  14:10  Christos Zoulas <christos@zoulas.com>
347
348	* Enable parsing of ELF dynamic sections to handle PIE better
349
3502018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
351
352	* release 5.33
353
3542018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
355
356	* extend the support for ${x?:} expansions for magic descriptions
357
3582018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
359
360	* add support for ${x?:} in mime types to handle
361	  pie binaries.
362
3632017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
364
365	* add support for negative offsets (offsets from the end of file)
366
3672017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
368
369	* close the file on error when writing magic (Steve Grubb)
370
3712017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
372
373	* seccomp support (Paul Moore)
374
3752017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
376
377	* release 5.32
378
3792017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
380
381	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
382
3832017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
384
385	* Fix always true condition (Thomas Jarosch)
386
3872017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
388
389	* pickier parsing of numeric values in magic files.
390
3912017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
392
393	* PR/615 add magic_getflags()
394
3952017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
396
397	* release 5.31
398
3992017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
400
401	* remove trailing spaces from magic files
402	* refactor is_tar
403	* better bounds checks for cdf
404
4052017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
406
407	* release 5.30
408
4092017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
410
411	* If we exceeded the offset in a search return no match
412	  (Christoph Biedl)
413	* Be more lenient on corrupt CDF files (Christoph Biedl)
414
4152017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
416
417	* pacify ubsan sign extension (oss-fuzz/524)
418
4192017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
420
421	* off by one in cdf parsing (PR/593)
422	* report debugging sections in elf (PR/591)
423
4242016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
425
426	* Allow @@@ in extensions
427	* Add missing overflow check in der magic (Jonas Wagner)
428
4292016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
430
431	* release 5.29
432
4332016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
434
435	* der getlength overflow (Jonas Wagner)
436	* multiple magic file load failure (Christoph Biedl)
437
4382016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
439
440	* CDF parsing improvements (Guy Helmer)
441
4422016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
443
444	* Add support for signed indirect offsets
445
4462016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
447
448	* cat /dev/null | file - should print empty (Christoph Biedl)
449
4502016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
451
452	* Bump string size from 64 to 96.
453
4542016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
455
456	* PR/556: Fix separators on annotations.
457
4582016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
459
460	* release 5.28
461	* fix leak on allocation failure
462
4632016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
464
465	* PR/555: Avoid overflow for offset > nbytes
466	* PR/550: Segv on DER parsing:
467	    - use the correct variable for length
468	    - set offset to 0 on failure.
469
4702016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
471
472	* release 5.27
473
4742016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
475
476	* Errors comparing DER entries or computing offsets
477	  are just indications of malformed non-DER files.
478	  Don't print them.
479	* Offset comparison was off-by-one.
480	* Fix compression code (Werner Fink)
481	* Put new bytes constant in the right file (not the generated one)
482
4832016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
484
485	* release 5.26
486
4872016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
488
489	* make the number of bytes read from files configurable.
490
4912016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
492
493	* Add bounds checks for DER code (discovered by Thomas Jarosch)
494	* Change indirect recursion limit to indirect use count and
495	  bump from 15 to 50 to prevent abuse.
496
4972016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
498
499	* Add -00 which prints filename\0description\0
500
5012016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
502
503	* Fix ID3 indirect parsing
504
5052016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
506
507	* add DER parsing capability
508
5092015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
510
511	* provide dprintf(3) for the OS's that don't have it.
512
5132015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
514
515	* redo the compression code report decompression errors
516
5172015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
518
519	* REG_STARTEND code is not working as expected, delete it.
520
5212015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
522
523	* Add zlib support if we have it.
524
5252015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
526
527	* PR/492: compression forking was broken with magic_buffer.
528
5292015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
530
531	* release 5.25
532
5332015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
534
535	* add a limit to the length of regex searches
536
5372015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
538
539	* fix problems with --parameter (Christoph Biedl)
540
5412015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
542
543	* Windows fixes PR/466 (Jason Hood)
544
5452015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
546
547	* release 5.24
548
5492015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
550
551	* redo long option encoding to fix off-by-one in 5.23
552
5532015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
554
555	* release 5.23
556
5572015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
558
559	* Fix issue with regex range for magic with offset
560	* Always return true from mget with USE (success to mget not match
561	  indication). Fixes mime evaluation after USE magic
562	* PR/459: Don't insert magic entries to the list if there are parsing
563	  errors for them.
564
5652015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
566
567	* PR/455: Add utf-7 encoding
568
5692015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
570
571	* PR/455: Implement -Z, look inside, but don't report on compression
572	* PR/454: Fix allocation error on bad magic.
573
5742015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
575
576	* handle MAGIC_CONTINUE everywhere, not just in softmagic
577
5782015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
579
580	* don't print descriptions for NAME types when mime.
581
5822015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
583
584	* Add --extension to list the known extensions for this file type
585	  Idea by Andrew J Roazen
586
5872015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
588
589	* Bump file search buffer size to 1M.
590
5912015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
592
593	* Fix multiple issues with date formats reported by Christoph Biedl:
594		- T_LOCAL meaning was reversed
595		- Arithmetic did not work
596	  Also stop adjusting daylight savings for gmt printing.
597
5982015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
599
600	* PR/411: Fix memory corruption from corrupt cdf file.
601
6022015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
603
604	* release 5.22
605
6062015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
607
608	* add indirect relative for TIFF/Exif
609
6102014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
611
612	* restructure elf note printing to avoid repeated messages
613	* add note limit, suggested by Alexander Cherepanov
614
6152014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
616
617	* Bail out on partial pread()'s (Alexander Cherepanov)
618	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
619
6202014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
621
622	* PR/405: ignore SIGPIPE from uncompress programs
623	* change printable -> file_printable and use it in
624	  more places for safety
625	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
626	  is present print the interpreter name.
627
6282014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
629
630	* release 5.21
631
6322014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
633
634	* Allow setting more parameters from the command line.
635	* Split name/use and indirect magic recursion limits.
636
6372014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
638
639	* Adjust ELF parameters and the default recursion
640	  level.
641	* Allow setting the recursion level dynamically.
642
6432014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
644
645	* The following fixes resulted from Thomas Jarosch's fuzzing
646	  tests that revealed severe performance issues on pathological
647	  input:
648	    - limit number of elf program and sections processing
649	    - abort elf note processing quickly
650	    - reduce the number of recursion levels from 20 to 10
651	    - preserve error messages in indirect magic handling
652
653	This is tracked as CVE-2014-8116 and CVE-2014-8117
654
6552014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
656
657	* fix bogus free in the user buffer case.
658
6592014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
660
661	* fix out of bounds read for pascal strings
662	* fix memory leak (not freeing the head of each mlist)
663
6642014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
665
666	* When printing strings from a file, convert them to printable
667	  on a byte by byte basis, so that we don't get issues with
668	  locale's trying to interpret random byte streams as UTF-8 and
669	  having printf error out with EILSEQ.
670
6712014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
672
673	* fix bounds in note reading (Francisco Alonso / Red Hat)
674
6752014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
676
677	* fix autoconf glue for setlocale and locale_t; some OS's
678	  have locale_t in xlocale.h
679
6802014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
681
682	* release 5.20
683
6842014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
685
686	* recognize encrypted CDF documents
687
6882014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
689
690	* add magic_load_buffers from Brooks Davis
691
6922014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
693
694	* add thumbs.db support
695
6962014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
697
698	* release 5.19
699
7002014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
701
702	* Misc buffer overruns and missing buffer size tests in cdf parsing
703	  (Francisco Alonso, Jan Kaluza)
704
7052014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
706
707	* Enforce limit of 8K on regex searches that have no limits
708	* Allow the l modifier for regex to mean line count. Default
709	  to byte count. If line count is specified, assume a max
710	  of 80 characters per line to limit the byte count.
711	* Don't allow conversions to be used for dates, allowing
712	  the mask field to be used as an offset.
713
7142014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
715
716	* Make the range operator limit the length of the
717	  regex search.
718
7192014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
720
721	* PR/347: Windows fixes
722	* PR/352: Hangul word processor recognition
723	* PR/354: Encoding irregularities in text files
724
7252014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
726
727	* Fix uninitialized title in CDF files (Jan Kaluza)
728
7292014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
730
731	* PR/351: Fix compilation of empty files
732
7332014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
734
735	* Fix integer formats: We don't specify 'l' or
736	  'h' and 'hh' specifiers anymore, only 'll' for
737	  quads and nothing for the rest. This is so that
738	  magic writing is simpler.
739
7402014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
741
742	* PR/341: Jan Kaluza, fix memory leak
743	* PR/342: Jan Kaluza, fix out of bounds read
744
7452014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
746
747	* Fix issue with long formats not matching fmtcheck
748
7492014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
750
751	* release 5.18
752
7532014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
754
755	* add fmtcheck(3) for those who don't have it
756
7572014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
758
759	* prevent mime entries from being attached to magic
760	  entries with no descriptions
761
762	* adjust magic strength for regex type
763
764	* remove superfluous ascmagic with encoding test
765
7662014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
767
768	* fix regression fix echo -ne "\012\013\014" | file -i -
769	  which printed "binary" instead of "application/octet-stream"
770
771	* add size_t overflow check for magic file size
772
7732014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
774
775	* experimental support for matching with CFD CLSID
776
7772014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
778
779	* Cache old LC_CTYPE locale before setting it to "C", so
780	  we can use it to restore LC_CTYPE instead of asking
781	  setlocale() to scan the environment variables.
782
7832014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
784
785	* Count recursion levels through indirect magic
786
7872014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
788
789	* Prevent infinite recursion on files with indirect offsets of 0
790
7912014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
792
793	* Add -E flag that makes file print filesystem errors to stderr
794	  and exit.
795
7962014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
797
798	* mime printing could print results from multiple magic entries
799	  if there were multiple matches.
800	* in some cases overflow was not detected when computing offsets
801	  in softmagic.
802
8032013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
804
805	* use strcasestr() to for cdf strings
806	* reset to the "C" locale while doing regex operations, or case
807	  insensitive comparisons; this is provisional
808
8092013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
810
811	* always leave magic file loaded, don't unload for magic_check, etc.
812	* fix default encoding to binary instead of unknown which broke recently
813	* handle empty and one byte files, less specially so that
814	  --mime-encoding does not break completely.
815		`
8162013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
817
818	* fix erroneous non-zero exit code from non-existent file and message
819
8202013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
821
822	* add CDF MSI file detection (Guy Helmer)
823
8242013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
825
826	* Don't mix errors and regular output if there was an error
827	* in magic_descriptor() don't close the file and try to restore
828	  its position
829
8302013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
831
832	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
833
8342013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
835
836	* Fix spacing issues in softmagic and elf (Jan Kaluza)
837
8382013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
839
840	* Fix segmentation fault with multiple magic_load commands.
841
8422013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
843
844	* The way "default" was implemented was not very useful
845	  because the "if something was printed at that level"
846	  was not easily controlled by the user, and the format
847	  was bound to a string which is too restrictive. Add
848	  a "clear" for that level keyword and make "default"
849	  void. This way one can do:
850
851		>>13	clear	x
852		>>13	lelong	1	foo
853		>>13	lelong	2	bar
854		>>13	default	x
855		>>>13	lelong	x	unknown %x
856
8572013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
858
859	* disallow strength setting in "name" entries
860
8612013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
862
863	* fix recursive magic separator printing
864
8652013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
866
867	* limit recursion level for mget
868	* fix pread() related breakage in cdf
869	* handle offsets properly in recursive "use"
870
8712013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
872
873	* add elf reading of debug info to determine if file is stripped
874	  (Jan Kaluza)
875	* use pread()
876
8772013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
878
879	* change mime description size from 64 to 80 to accommodate OOXML.
880
8812013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
882
883	* Warn about inconsistent continuation levels.
884	* Change fsmagic to add a space after it prints.
885
8862013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
887
888	* Make getline public so that file can link against it.
889	  Perhaps it is better to rename it, or hide it differently.
890	  Fixes builds on platforms that do not provide it.
891
8922013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
893
894	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
895	  what long, int, short, etc is (Guy Harris)
896
8972013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
898
899	* add magic_version function and constant
900	* Redo memory allocation and de-allocation.
901	  (prevents double frees on non mmap platforms)
902	* Fix bug with name/use having to do with passing
903	  found state from the parent to the child and back.
904
9052012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
906
907	* Only print elf capabilities for archs we know (Jan Kaluza)
908
9092012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
910
911	* Add "name" and "use" file types in order to look
912	  inside mach-o files.
913
9142012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
915
916	* make --version exit 0 (Matthew Schultz)
917	* add string/T (Jan Kaluza)
918
9192012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
920
921	* add z and t modifiers for our own vasprintf
922	* search for $HOME/.magic.mgc if it is there first
923	* fix reads from a pipe, and preserve errno
924
9252012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
926
927	* use ctime_r, asctime_r
928
9292012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
930
931	* Fixes for indirect offsets to handle apple disk formats
932
9332012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
934
935	* Add windows date field types
936	* More info for windows shortcuts (incomplete)
937
9382012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
939
940	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
941
9422011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
943
944	* Support Tilera architectures (tile64, tilepro, tilegx).
945
9462011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
947
948	* Add magic for /usr/bin/env Perl scripts
949	* Weaken generic script magic to avoid clashing with
950	language-specific magic.
951
9522011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
953
954	* Simplify if (p) free(p) to free(p).
955
9562011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
957
958	* Remove hardwired token finding (names.h), turning it into soft
959	magic. Patterns are either anchored regexs or search/8192. English
960	language detection and PL/1 detection have been removed as they
961	were too fragile. -e tokens is still accepted for backwards
962	compatibility.
963	* Move 3ds patterns (which are commented out anyway) into autodesk
964	(they were, oddly, in c-lang).
965
9662011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
967
968	* Tweak strength of generic hash-bang detectors to be less than
969	specific ones.
970	* Make an inconsistent description of Python scripts consistent.
971
9722011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
973
974	* Fix minor error in file(1).
975
9762011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
977
978	* Fix issue #150 (I hope).
979
9802011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
981
982	* Python3 binding fixes from Kelly Anderson
983
9842011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
985
986	* If a string type magic entry is marked as text or binary
987	  only match text files against text entries and binary
988	  files against binary entries.
989
9902011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
991
992	* Don't wait for any subprocess, just the one we forked.
993
9942011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
995
996	* If the application name is not set in a cdf file, try to see
997	  if it has a directory with the application name on it.
998
9992011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
1000
1001	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
1002
10032011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
1004
1005	* Don't use variable string formats.
1006
10072011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
1008
1009	* Fix detection of Zip files (Mantis #128).
1010	* Make some minor improvements to file(1).
1011	* Rename MIME types for filesystem objects for consistency with
1012	  xdg-utils. Typically this means that application/x-foo becomes
1013	  inode/foo, but some names also change slightly, e.g.
1014	  application/x-character-device becomes inode/chardevice.
1015
10162011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1017
1018	* fix mingw compilation (Abradoks)
1019
10202011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1021
1022	* remove patchlevel.h
1023	* Fix read past allocated memory caused by double-incrementing
1024	  a pointer in a loop (reported by Roberto Maar)
1025
10262011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
1027
1028	* Fix cdf string buffer setting (Sven Anders)
1029
10302011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
1031
1032	* Eliminate MAXPATHLEN and use dynamic allocation for
1033	  path and file buffers.
1034
10352011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
1036
1037	* binary tests on magic entries with masks could spuriously
1038	  get converted to ascii.
1039
10402011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
1041
1042	* Improve file.man (remove BUGS, present email addresses consistently).
1043
10442011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
1045
1046	* add lrzip support (from Ville Skytta)
1047
10482011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
1049
1050	* fix CDF bounds checking (Guy Helmer)
1051
10522011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
1053
1054	* add cdf_ctime() that prints a meaningful error when time cannot
1055	  be converted.
1056
10572011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
1058
1059	* help and version output to stdout.
1060
1061	* When matching softmagic for ascii files, don't just print
1062	  the softmagic classification, keep going and print the
1063	  text classification too. This fixes broken troff files when
1064	  we moved them from keyword recognition to softmagic
1065	  (they stopped printing "with CRLF" etc.)
1066	  Reported by Doug McIlroy.
1067
10682011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
1069
1070	* Fix two potential buffer overruns in apprentice_list.
1071
10722011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
1073
1074	* New Python binding in pure Python.
1075	* Update libmagic(3).
1076
10772011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
1078
1079	* Fix Python bindings (including recent Python 3 compatibility
1080	  update).
1081
10822011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
1083
1084	* magic/Makefile.am: make it easier to recover from magic build failures.
1085	* Fix pstring length specifier parsing to avoid generating invalid
1086	  magic files.
1087	* Add pstring length "J" (for "JPEG") to specify that the length
1088	  include itself.
1089	* Fix JPEG comment parsing at last using pstring/HJ!
1090	* Ignore section 5 man pages in doc/.cvsignore.
1091
10922010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
1093
1094	* Add pstring/BHhLl to specify the type of the length of pascal
1095	  strings.
1096
10972010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
1098
1099	* Fix "-e soft": it was ignored when softmagic was called
1100	  during asciimagic.
1101	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
1102
11032010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
1104
1105	* Make bug reporting addresses more visible.
1106
11072010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
1108
1109	* Add tcl magic from Gustaf Neumann
1110
11112010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
1112
1113	* Fix the whitespace comparing code (Christopher Chittleborough)
1114
11152010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
1116
1117	* allow string/t to work (Jan Kaluza)
1118
11192010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
1120
1121	* Apply some patches from Ubuntu and Fedora.
1122
11232010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
1124
1125	* Apply all patches from Debian package 5.04-6 which have not
1126	  already been applied and are not Debian-specific.
1127
11282010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
1129
1130	* Minor security fix to softmagic.c (don't use untrusted
1131	  string as printf format).
1132
11332010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
1134
1135	* MINGW32 portability from LRN
1136
1137	* Don't warn about escaping magic regex chars when we are in a regex.
1138
11392010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
1140
1141	* Only try to print prpsinfo for core files. (Jan Kaluza)
1142
11432010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
1144
1145	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
1146
11472010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
1148
1149	* Clarify which sort of CDF we mean.
1150
11512010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
1152
1153	* Re-jig Zip file type magic so that unsupported special
1154	  Zip types (those with "mimetype" at offset 30) can be
1155	  recognized.
1156
11572010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
1158
1159	* Add support for OCF (EPUB) files (application/epub+zip)
1160
11612010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
1162
1163	* Fix core-dump from unbound loop:
1164	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
1165
11662010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
1167
1168	* print proper mime for crystal reports file
1169
1170	* print the last summary information of a cdf document, not the
1171	  first so that nested documents print the right info
1172
11732010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
1174
1175	* bring back some fixes from OpenBSD:
1176		- make gcc2 builds file
1177		- fix typos in a magic file comment
1178
11792009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
1180
1181	* ctime/asctime can return NULL on some OS's although
1182	  they should not (Toshit Antani)
1183
11842009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
1185
1186	* Centralize magic path handling routines and remove the
1187	  special-casing from file.c so that the python module for
1188	  example comes up with the same magic path (Fixes ~/.magic
1189	  handling) (from Gab)
1190
11912009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
1192
1193	* When magic argument is a directory, read the files in
1194	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
1195
11962009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
1197
1198	* Combine overlapping epoc and psion magic files into one (epoc).
1199
1200	* Add some more EPOC MIME types.
1201
12022009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
1203
1204	* Fix 3 bugs (From Ian Darwin):
1205	    - file_showstr could move one past the end of the array
1206	    - parse_apple did not nul terminate the string in the overflow case
1207	    - parse_mime truncated the wrong string in the overflow case
1208
12092009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
1210
1211	* Include Localstuff when compiling magic.
1212
12132009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
1214
1215	* Fix logic for including mygetopts.h
1216
1217	* Make cdf.c compile again with debugging
1218
1219	* Add the necessary field handling for crystal reports files to work
1220
12212009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
1222
1223	* Stop "(if" identifying Lisp files, that's plain dumb!
1224
12252009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
1226
1227	* Add a couple of missing MP3 MIME types.
1228
12292009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
1230
1231	* Add full range of hash-bang tests for Python and Ruby.
1232
1233	* Add MIME types for Python and Ruby scripts.
1234
12352009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
1236
1237	* off by one in parsing hw capabilities in elf
1238	  (Cheng Renquan)
1239
12402009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
1241
1242	* lint fixes and more from NetBSD
1243
12442009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
1245
1246	* Avoid null dereference in cdf code (Drew Yao)
1247
1248	* More cdf bounds checks and overflow checks
1249
12502009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
1251
1252	* Buffer overflow fixes from Drew Yao
1253
12542009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
1255
1256	* Fix more cdf lossage. All the documents I have
1257	  right now print the correct information.
1258
12592009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
1260
1261	* don't print \012- separators in the same magic entry
1262	  if it consists of multiple magic printing lines.
1263
12642009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
1265
1266	* Avoid file descriptor leak in compress code from
1267	  (Daniel Novotny)
1268
12692009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
1270
1271	* Allow escaping of relation characters, so that we can say \^[A-Z]
1272	  and the ^ is not eaten as a relation char.
1273
1274	* Fix troff and fortran to their previous glory using
1275	  regex. This was broken since their removel from ascmagic.
1276
12772009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
1278
1279	* don't use strlen in strndup() (Toby Peterson)
1280
12812009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
1282
1283	* avoid c99 syntax.
1284
12852009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
1286
1287	* make the cdf code use the buffer first if available,
1288	  and then the fd code.
1289
12902009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
1291
1292	* look for struct option to determine if getopt.h is usable for IRIX.
1293
1294	* sanitize cdf document strings
1295
12962009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
1297
1298	* fix OS/2 warnings.
1299
13002008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
1301
1302	* fix initial offset calculation for non 4K sector files
1303
1304	* add loop limits to avoid DoS attacks by constructing
1305	  looping sector references.
1306
13072008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
1308
1309	* fix memory botches on cdf file parsing.
1310
1311	* exit with non-zero value for any error, not just for the last
1312	  file processed.
1313
13142008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
1315
1316	* Replace all str{cpy,cat} functions with strl{cpy,cat}
1317	* Ensure that strl{cpy,cat} are included in libmagic,
1318	  as needed.
1319
13202008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
1321
1322	* Handle ID3 format files.
1323
13242008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
1325
1326	* Fix --mime, --mime-type and --mime-encoding under new scheme.
1327
1328	* Rename "ascii" to "text" and add "encoding" test.
1329
1330	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
1331	  UTF-16.
1332
1333	* Fix error in comment caused by automatic indentation adding
1334	  words!
1335
13362008-11-06 10:35  Christos Zoulas <christos@astron.com>
1337
1338	* use memchr instead of strchr because the string
1339	  might not be NUL terminated (Scott MacVicar)
1340
13412008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
1342
1343	* Fix a printf with a non-literal format string.
1344
1345	* Fix formatting and punctuation of help for "--apple".
1346
13472008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
1348
1349	* Correct words counts in comments of struct magic.
1350
1351	* Fix handle_annotation to allow both Apple and MIME types to be
1352	  printed, and to return correct code if MIME type is
1353	  printed (1, not 0) or if there's an error (-1 not 1).
1354
1355	* Fix output of charset for MIME type (precede with semi-colon;
1356	  fixes Debian bug #501460).
1357
1358	* Fix potential attacks via conversion specifications in magic
1359	  strings.
1360
1361	* Add a FIXME for Debian bug #488562 (magic files should be
1362	  read in a defined order, by sorting the names).
1363
13642008-10-18 16:45  Christos Zoulas <christos@astron.com>
1365
1366	* Added APPLE file creator/type
1367
13682008-10-12 10:20  Christos Zoulas <christos@astron.com>
1369
1370	* Added CDF parsing
1371
13722008-10-09 16:40  Christos Zoulas <christos@astron.com>
1373
1374	* filesystem and msdos patches (Joerg Jenderek)
1375
13762008-10-09 13:20  Christos Zoulas <christos@astron.com>
1377
1378	* correct --exclude documentation issues: remove troff and fortran
1379	  and rename "token" to "tokens". (Randy McMurchy)
1380
13812008-10-01 10:30  Christos Zoulas <christos@astron.com>
1382
1383	* Read ~/.magic in addition to the default magic file not instead
1384	  of, as documented in the man page.
1385
13862008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1387
1388	* Comment out graphviz patterns, as they match too many files.
1389
13902008-08-30 12:54  Christos Zoulas <christos@astron.com>
1391
1392	* Don't eat trailing \n in magic enties.
1393
1394	* Cast defines to allow compilation using a c++ compiler.
1395
13962008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1397
1398	* Add text/x-lua MIME type for Lua scripts.
1399
1400	* Escape { in regex in graphviz patterns.
1401
14022008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1403
1404	* Add MIME types for special files.
1405
1406	* Use access to give more accurate information for files that
1407	  can't be opened.
1408
1409	* Add a TODO list.
1410
14112008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1412
1413	* add !:strength op to adjust magic strength (experimental)
1414
14152008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1416
1417	* Fix automake error in configure.ac.
1418
1419	* Add MIME type for Psion Sketch files.
1420
14212008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1422
1423	* Don't print warnings about bad namesize in stripped
1424	  binaries with PT_NOTE is still there, and the actual
1425	  note is gone (Jakub Jelinek)
1426
14272008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1428
1429	* magic/Magdir/elf:
1430	  Note invalid byte order for little-endian SPARC32PLUS.
1431	  Add SPARC V9 vendor extensions and memory model.
1432
1433	* src/elfclass.h:
1434	  Pass target machine to doshn (for Solaris hardware capabilities).
1435
1436	* src/readelf.c (doshn):
1437	  Add support for Solaris hardware/software capabilities.
1438
1439	* src/readelf.h:
1440	  Ditto.
1441
1442	* src/vasprintf.c (dispatch):
1443	  Add support for ll modifier.
1444
14452008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1446
1447	* Fix compiler warnings.
1448
1449	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1450
14512008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1452
1453	* src/Makefile.am:
1454	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1455	  as needed.
1456
1457	  Remove unnecessary EXTRA_DIST.
1458
1459	* src/Makefile.in:
1460	  Rerun automake.
1461
1462	* src/vasprintf.c (dispatch):
1463	  Fix variable precision bug: be sure to step past '*'.
1464
1465	* src/vasprintf.c (core):
1466	  Remove unreachable code.
1467
1468	* src/apprentice.c (set_test_type):
1469	  Add cast to avoid compiler warning.
1470
14712008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1472
1473	* Add magic submission guidelines (Abel Cheung)
1474
1475	* split msdos and windows magic (Abel Cheung)
1476
14772008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1478
1479	* >= <= is not supported, so fix the magic and warn about it.
1480	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1481
14822008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1483
1484	* src/readelf.c (donote):
1485	  ELF core file command name/line bug fixes and enhancements:
1486
1487	  Try larger offsets first to avoid false matches
1488	  from earlier data that happen to look like strings;
1489	  this primarily affected SunOS 5.x 32-bit Intel core files.
1490
1491	  Add support for command line (instead of just short name)
1492	  for SunOS 5.x.
1493
1494	  Add information about NT_PSINFO for SunOS 5.x.
1495
1496	  Only trim whitespace from end of command line.
1497
14982007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1499
1500	* Change strength of ! from MULT to 0, as it matches almost
1501		  anything (Reuben Thomas)
1502
1503	* Debian fixes (Reuben Thomas)
1504
15052007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1506
1507	* Clarify UTF-8 BOM message (Reuben Thomas)
1508
1509	* Add HTML comment to token list in names.h
1510
15112007-02-04 15:50 Christos Zoulas <christos@astron.com>
1512
1513	* Debian fixes (Reuben Thomas)
1514
15152007-02-04 11:31 Christos Zoulas <christos@astron.com>
1516
1517	* !:mime annotations in magic files (Reuben Thomas)
1518
15192007-01-29 15:35 Christos Zoulas <christos@astron.com>
1520
1521	* zero out utime/utimes structs (Gavin Atkinson)
1522
15232007-01-26 13:45 Christos Zoulas <christos@astron.com>
1524
1525	* reduce writable data from Diego "Flameeyes" Petten
1526
15272007-12-28 15:06 Christos Zoulas <christos@astron.com>
1528
1529	* strtof detection
1530
1531	* remove bogus regex magic that could cause a DoS
1532
1533	* better mismatch version message
1534
15352007-12-27 11:35 Christos Zoulas <christos@astron.com>
1536
1537	* bring back some fixes from OpenBSD
1538
1539	* treat ELF dynamic objects as executables
1540
1541	* fix gcc warnings
1542
15432007-12-01 19:55 Christos Zoulas <christos@astron.com>
1544
1545	* make sure we have zlib.h and libz to compile the builtin
1546	  decompress code
1547
15482007-10-28 20:48 Christos Zoulas <christos@astron.com>
1549
1550 	* float and double magic support (Behan Webster)
1551
15522007-10-28 20:48 Christos Zoulas <christos@astron.com>
1553
1554	* Convert fortran to a soft test (Reuben Thomas)
1555
15562007-10-23  5:25 Christos Zoulas <christos@astron.com>
1557
1558	* Add --with-filename, and --no-filename (Reuben Thomas)
1559
15602007-10-23  3:59 Christos Zoulas <christos@astron.com>
1561
1562	* Rest of the mime split (Reuben Thomas)
1563
1564	* Make usage message generated from the flags so that
1565	  they stay consistent (Reuben Thomas)
1566
15672007-10-20  3:06 Christos Zoulas <christos@astron.com>
1568
1569	* typo in comment, missing ifdef QUICK, remove unneeded code
1570		(Charles Longeau)
1571
15722007-10-17  3:33 Christos Zoulas <christos@astron.com>
1573
1574	* Fix problem printing -\012 in some entries
1575
1576	* Separate magic type and encoding flags (Reuben Thomas)
1577
15782007-10-09  3:55 Christos Zoulas <christos@astron.com>
1579
1580	* configure fix for int64 and strndup (Reuben Thomas)
1581
15822007-09-26  4:45 Christos Zoulas <christos@astron.com>
1583
1584	* Add magic_descriptor() function.
1585
1586	* Fix regression in elf reading code where the core name was
1587	  not being printed.
1588
1589	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1590
15912007-08-19  6:30 Christos Zoulas <christos@astron.com>
1592
1593	* Make mime format consistent so that it can
1594	  be easily parsed:
1595	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1596
1597	  Remove spurious extra text from some MIME type printouts
1598	  (mostly in is_tar).
1599
1600	  Fix one case where -i produced nothing at all (for a 1-byte file,
1601	  which is now classed as application/octet-stream).
1602
1603	  Remove 7/8bit classifications, since they were arbitrary
1604	  and not based on the file data.
1605
1606	  This work was done by Reuben Thomas
1607
16082007-05-24 10:00 Christos Zoulas <christos@astron.com>
1609
1610	* Fix another integer overflow (Colin Percival)
1611
16122007-03-26 13:58 Christos Zoulas <christos@astron.com>
1613
1614	* make sure that all of struct magic_set is initialized appropriately
1615	  (Brett)
1616
16172007-03-25 17:44 Christos Zoulas <christos@astron.com>
1618
1619	* reset left bytes in the buffer (Dmitry V. Levin)
1620
1621	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1622	  (Peter Avalos)
1623
16242007-03-15 10:51 Christos Zoulas <christos@astron.com>
1625
1626	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1627
1628	* fix exclude option (Dmitry V. Levin)
1629
16302007-02-08 17:30 Christos Zoulas <christos@astron.com>
1631
1632	* fix integer underflow in file_printf which can lead to
1633	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1634
16352007-02-05 11:35 Christos Zoulas <christos@astron.com>
1636
1637	* make socket/pipe reading more robust
1638
16392007-01-25 16:01 Christos Zoulas <christos@astron.com>
1640
1641	* Centralize all the tests in file_buffer.
1642
1643	* Add exclude flag.
1644
16452007-01-18 05:29 Anon Ymous <do@not.spam.me>
1646
1647	* Move the "type" detection code from parse() into its own table
1648	  driven routine.  This avoids maintaining multiple lists in
1649	  file.h.
1650
1651	* Add an optional conditional field (ust before the type field).
1652	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1653	  likely to go away.
1654
16552007-01-16 23:24 Anon Ymous <do@not.spam.me>
1656
1657	* Fix an initialization bug in check_mem().
1658
16592007-01-16 14:58 Anon Ymous <do@not.spam.me>
1660
1661	* Add a "default" type to print a message if nothing previously
1662	  matched at that level or since the last default at that
1663	  level.  This is useful for setting up switch-like statements.
1664	  It can also be used to do if/else constructions without a
1665	  redundant second test.
1666
1667	* Fix the "x" special case test so that one can test for that
1668	  string with "=x".
1669
1670	* Allow "search" to search the entire buffer if the "/N"
1671	  search count is missing.
1672
1673	* Make "regex" work!  It now starts its search at the
1674	  specified offset and takes an (optional) "/N" line count to
1675	  specify the search range; otherwise it searches to the end
1676	  of the file.  The match is now grabbed correctly for format
1677	  strings and the offset set to the end of the match.
1678
1679	* Add a "/s" flag to "regex" and "search" to set the offset to
1680	  the start of the match.  By default the offset is set to the
1681	  end of the match, as it is with other tests.  This is mostly
1682	  useful for "regex".
1683
1684	* Make "search", "string" and "pstring" use the same
1685	  file_strncmp() routine so that they support the same flags;
1686	  "bestring16" and "lestring16" call the same routine, but
1687	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1688	  to ignore the case on uppercase (lowercase) characters in
1689	  the test string.
1690
1691	* Strict adherence to C style string escapes.  A warnings are
1692	  printed when compiling.  Note: previously "\a" was
1693	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1694	  BELL, typically 0x07).
1695
1696	* Make this compile with "-Wall -Wextra" and all the warning
1697	  flags used with WARNS=4 in the NetBSD source.  Also make it
1698	  pass lint.
1699
1700	* Many "cleanups" and hopefully not too many new bugs!
1701
17022007-01-16 14:56 Anon Ymous <do@not.spam.me>
1703
1704	* make several more files compile with gcc warnings
1705	  on and also make them pass lint.
1706
17072007-01-16 14:54 Anon Ymous <do@not.spam.me>
1708
1709	* fix a puts()/putc() usage goof in file.c
1710
1711	* make file.c compile with gcc warnings and pass lint
1712
17132006-12-11 16:49 Christos Zoulas <christos@astron.com>
1714
1715	* fix byteswapping issue
1716
1717	* report the number of bytes we tried to
1718	  allocate when allocation fails
1719
1720	* add a few missed cases in the strength routine
1721
17222006-12-08 16:32 Christos Zoulas <christos@astron.com>
1723
1724	* store and print the line number of the magic
1725	  entry for debugging.
1726
1727	* if the magic entry did not print anything,
1728	  don't treat it as a match
1729
1730	* change the magic strength algorithm to take
1731	  into account the relationship op.
1732
1733	* fix a bug in search where we could accidentally
1734	  return a match.
1735
1736	* propagate the error return from match to
1737	  file_softmagic.
1738
17392006-11-25 13:35 Christos Zoulas <christos@astron.com>
1740
1741	* Don't store the current offset in the magic
1742	  struct, because it needs to be restored and
1743	  it was not done properly all the time. Bug
1744	  found by: Arkadiusz Miskiewicz
1745
1746	* Fix problem in the '\0' separator; and don't
1747	  print it as an additional separator; print
1748	  it as the only separator.
1749
17502006-11-17 10:51 Christos Zoulas <christos@astron.com>
1751
1752	* Added a -0 option to print a '\0' separator
1753	  Etienne Buira <etienne.buira@free.fr>
1754
17552006-10-31 15:14 Christos Zoulas <christos@astron.com>
1756
1757	* Check offset before copying (Mike Frysinger)
1758
1759	* merge duplicated code
1760
1761	* add quad date support
1762
1763	* make sure that we nul terminate desc (Ryoji Kanai)
1764
1765	* don't process elf notes multiple times
1766
1767	* allow -z to report empty compressed files
1768
1769	* use calloc to initialize the ascii buffers (Jos van den Oever)
1770
17712006-06-08 11:11 Christos Zoulas <christos@astron.com>
1772
1773	* QNX fixes (Mike Gorchak)
1774
1775	* Add quad support.
1776
1777	* FIFO checks (Dr. Werner Fink)
1778
1779	* Linux ELF fixes (Dr. Werner Fink)
1780
1781	* Magic format checks (Dr. Werner Fink)
1782
1783	* Magic format function improvent (Karl Chen)
1784
17852006-05-03 11:11 Christos Zoulas <christos@astron.com>
1786
1787	* Pick up some elf changes and some constant fixes from SUSE
1788
1789	* Identify gnu tar vs. posix tar
1790
1791	* When keep going, don't print spurious newlines (Radek Vokal)
1792
17932006-04-01 12:02 Christos Zoulas <christos@astron.com>
1794
1795	* Use calloc instead of malloc (Mike Frysinger)
1796
1797	* Fix configure script to detect wctypes.h (Mike Frysinger)
1798
17992006-03-02 16:06 Christos Zoulas <christos@astron.com>
1800
1801	* Print empty if the file is (Mike Frysinger)
1802
1803	* Don't try to read past the end of the buffer (Mike Frysinger)
1804
1805	* Sort magic entries by strength [experimental]
1806
18072005-11-29 13:26 Christos Zoulas <christos@astron.com>
1808
1809	* Use iswprint() to convert the output string.
1810	    (Bastien Nocera)
1811
18122005-10-31 8:54 Christos Zoulas <christos@astron.com>
1813
1814	* Fix regression where the core info was not completely processed
1815	    (Radek Vokal)
1816
18172005-10-20 11:15 Christos Zoulas <christos@astron.com>
1818
1819	* Middle Endian magic (Diomidis Spinellis)
1820
18212005-10-17 11:15 Christos Zoulas <christos@astron.com>
1822
1823	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1824
1825	* Don't close stdin (Arkadiusz Miskiewicz)
1826
1827	* Look for note sections in non executables.
1828
18292005-09-20 13:33 Christos Zoulas <christos@astron.com>
1830
1831	* Don't print SVR4 Style in core files multiple times
1832	    (Radek Vokal)
1833
18342005-08-27 04:09 Christos Zoulas <christos@astron.com>
1835
1836	* Cygwin changes Corinna Vinschen
1837
18382005-08-18 09:53 Christos Zoulas <christos@astron.com>
1839
1840	* Remove erroreous mention of /etc/magic in the file man page
1841	  This is gentoo bug 101639. (Mike Frysinger)
1842
1843	* Cross-compile support and detection (Mike Frysinger)
1844
18452005-08-12 10:17 Christos Zoulas <christos@astron.com>
1846
1847	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1848	  is set.
1849
18502005-07-29 13:57 Christos Zoulas <christos@astron.com>
1851
1852	* Avoid search and regex buffer overflows (Kelledin)
1853
18542005-07-12 11:48 Christos Zoulas <christos@astron.com>
1855
1856	* Provide stub implementations for {v,}nsprintf() for older
1857	  OS's that don't have them.
1858	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1859	  to AC_TYPE_MBSTATE_T.
1860
18612005-06-25 11:48 Christos Zoulas <christos@astron.com>
1862
1863	* Dynamically allocate the string buffers and make the
1864	  default read size 256K.
1865
18662005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1867
1868	* Dragonfly ELF note support
1869
18702005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1871
1872	* Avoid NULL pointer dereference in time conversion.
1873
18742005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1875
1876	* Add indirect magic offset support, and search mode.
1877
18782005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1879
1880	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1881	  If a CRLF text file happens to have CR at offset HOWMANY - 1
1882	  (currently 0xffff), it should not be counted as CR line
1883	  terminator.
1884	  If a line has length exactly MAXLINELEN, it should not yet be
1885	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
1886	  line length''.
1887	  With CRLF, the line length was not computed correctly, and even
1888	  lines of length MAXLINELEN - 1 were treated as ``very long''.
1889
18902004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1891
1892	* bzip2 needs a lot of input buffer space on some files
1893	  before it can begin uncompressing. This makes file -z
1894	  fail on some bz2 files. Fix it by giving it a copy of
1895	  the file descriptor to read as much as it wants if we
1896	  have access to it. <christos@astron.com>
1897
18982004-11-24 12:39  Christos Zoulas  <christos@astron.com>
1899
1900	* Stack smash fix, and ELF more conservative reading.
1901	  Jakub Bogusz <qboosh@pld-linux.org>
1902
19032004-11-20 18:50  Christos Zoulas  <christos@astron.com>
1904
1905	* New FreeBSD version parsing code:
1906	  Jon Noack <noackjr@alumni.rice.edu>
1907
1908	* Hackish support for ucs16 strings <christos@astron.com>
1909
19102004-11-13 03:07  Christos Zoulas  <christos@astron.com>
1911
1912	* print the file name and line number in syntax errors.
1913
19142004 10-12 10:50  Christos Zoulas  <christos@astron.com>
1915
1916	* Fix stack overwriting on 0 length strings: Tim Waugh
1917	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
1918
19192004-09-27 11:30  Christos Zoulas  <christos@astron.com>
1920
1921	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
1922
1923	* Fix small memory leaks; caught by: Tamas Sarlos
1924	    <stamas@csillag.ilab.sztaki.hu>
1925
19262004-07-24 16:33  Christos Zoulas  <christos@astron.com>
1927
1928	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
1929
1930	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
1931
1932	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
1933
1934  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
1935
19362004-04-12 10:55  Christos Zoulas  <christos@astron.com>
1937
1938	* make sure that magic formats match magic types during compilation
1939
1940	* fix broken sgi magic file
1941
19422004-04-06 20:36  Christos Zoulas  <christos@astron.com>
1943
1944	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
1945
1946	* magic fixes
1947
19482004-03-22 15:25  Christos Zoulas  <christos@astron.com>
1949
1950	* Lots of mime fixes
1951	  (Joerg Ostertag) <ostertag@rechengilde.de>
1952
1953	* FreeBSD ELF version handling
1954	  (Edwin Groothuis) <edwin@mavetju.org>
1955
1956	* correct cleanup in all cases; don't just close the file.
1957	  (Christos Zoulas) <christos@astron.com>
1958
1959	* add gettext message catalogue support
1960	  (Michael Piefel) <piefel@debian.org>
1961
1962	* better printout for unreadable files
1963	  (Michael Piefel) <piefel@debian.org>
1964
1965	* compensate for missing MAXPATHLEN
1966	  (Michael Piefel) <piefel@debian.org>
1967
1968	* add wide character string length computation
1969	  (Michael Piefel) <piefel@debian.org>
1970
1971	* Avoid infinite loops caused by bad elf alignments
1972	  or name and description note sizes. Reported by
1973	  (Mikael Magnusson) <mmikael@comhem.se>
1974
19752004-03-09 13:55  Christos Zoulas  <christos@astron.com>
1976
1977	* Fix possible memory leak on error and add missing regfree
1978	  (Dmitry V. Levin) <ldv@altlinux.org>
1979
19802003-12-23 12:12  Christos Zoulas  <christos@astron.com>
1981
1982	* fix -k flag (Maciej W. Rozycki)
1983
19842003-11-18 14:10  Christos Zoulas  <christos@astron.com>
1985
1986	* Try to give us much info as possible on corrupt elf files.
1987	  (Willy Tarreau) <willy@w.ods.org>
1988	* Updated python bindings (Brett Funderburg)
1989	   <brettf@deepfile.com>
1990
19912003-11-11 15:03  Christos Zoulas  <christos@astron.com>
1992
1993	* Include file.h first, because it includes config.h
1994	  breaks largefile test macros otherwise.
1995	  (Paul Eggert <eggert@CS.UCLA.EDU> via
1996	   Lars Hecking <lhecking@nmrc.ie>)
1997
19982003-10-14 21:39  Christos Zoulas  <christos@astron.com>
1999
2000	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
2001	* Don't lookup past the end of the buffer
2002	  (Chad Hanson) <chanson@tcs-sec.com>
2003	* Add MAGIC_ERROR and api on magic_errno()
2004
20052003-10-08 12:40  Christos Zoulas  <christos@astron.com>
2006
2007	* handle error conditions from compile as fatal
2008	  (Antti Kantee) <pooka@netbsd.org>
2009	* handle magic filename parsing sanely
2010	* more magic fixes.
2011	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
2012	* describe magic file handling
2013	  (Bryan Henderson) <bryanh@giraffe-data.com>
2014
20152003-09-12 15:09  Christos Zoulas  <christos@astron.com>
2016
2017	* update magic files.
2018	* remove largefile support from file.h; it breaks things on most OS's
2019
20202003-08-10 10:25  Christos Zoulas  <christos@astron.com>
2021
2022	* fix unmapping'ing of mmaped files.
2023
20242003-07-10 12:03  Christos Zoulas  <christos@astron.com>
2025
2026	* don't exit with -1 on error; always exit 1 (Marty Leisner)
2027	* restore utimes code.
2028
20292003-06-10 17:03  Christos Zoulas  <christos@astron.com>
2030
2031	* make sure we don't access uninitialized memory.
2032	* pass lint
2033	* #ifdef __cplusplus in magic.h
2034
20352003-05-25 19:23  Christos Zoulas  <christos@astron.com>
2036
2037	* rename cvs magic file to revision to deal with
2038	  case insensitive filesystems.
2039
20402003-05-23 17:03  Christos Zoulas  <christos@astron.com>
2041
2042	* documentation fixes from Michael Piefel <piefel@debian.org>
2043	* magic fixes (various)
2044	* revert basename magic in .mgc name determination
2045	* buffer protection in uncompress,
2046	  signness issues,
2047	  close files
2048	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
2049
20502003-04-21 20:12  Christos Zoulas  <christos@astron.com>
2051
2052	* fix zsh magic
2053
20542003-04-04 16:59  Christos Zoulas  <christos@astron.com>
2055
2056	* fix operand sort order in string.
2057
20582003-04-02 17:30  Christos Zoulas  <christos@astron.com>
2059
2060	* cleanup namespace in magic.h
2061
20622003-04-02 13:50  Christos Zoulas  <christos@astron.com>
2063
2064	* Magic additions (Alex Ott)
2065	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
2066
20672003-03-28 16:03  Christos Zoulas  <christos@astron.com>
2068
2069	* remove packed attribute from magic struct.
2070	* make the magic struct properly aligned.
2071	* bump version number of compiled files to 2.
2072
20732003-03-27 13:10  Christos Zoulas  <christos@astron.com>
2074
2075	* separate tar detection and run it before softmagic.
2076	* fix reversed symlink test.
2077	* fix version printing.
2078	* make separator a string instead of a char.
2079	* update manual page and sort options.
2080
20812003-03-26 11:00  Christos Zoulas  <christos@astron.com>
2082
2083	* Pass lint
2084	* make NULL in magic_file mean stdin
2085	* Fix "-" argument to file to pass NULL to magic_file
2086	* avoid pointer casts by using memcpy
2087	* rename magic_buf -> magic_buffer
2088	* keep only the first error
2089	* manual page: new sentence, new line
2090	* fix typo in api function (magic_buf -> magic_buffer)
2091