xref: /freebsd/contrib/file/ChangeLog (revision 4996ebdb720042239a197ebec2d265cdfdf1bbf3)
12026-02-26  11:32  Christos Zoulas <christos@zoulas.com>
2
3	* release 5.47
4
52026-02-04  09:54  Christos Zoulas <christos@zoulas.com>
6	* Better multi-compound document identification by following the
7	  order of the directories entries. (Thomas Ledoux)
8
92026-01-19  14:00  Christos Zoulas <christos@zoulas.com>
10	* if stat fails, don't attempt to restore times (Steven Grubb)
11
122025-05-28  15:20  Christos Zoulas <christos@zoulas.com>
13
14	PR/622: Odd_Bloke: Handle negative offsets in file_buffer(),
15	when fd is not available.
16
172025-05-28  12:50  Christos Zoulas <christos@zoulas.com>
18
19	* PR/655: jsummers: Obey str_flags in strings like we do for search
20	  and regex
21	* PR/659: Pitzl: Apply MAGIC_CONTINUE to annotations; i.e. print
22	  only the first, unless -k is specified.
23
242024-12-19  14:44  Christos Zoulas <christos@zoulas.com>
25
26	* PR/592: allow + in format strings
27	* PR/592: signed operations should be done in signed context
28
292024-12-05  13:50 Christos Zoulas <christos@zoulas.com>
30
31	* PR/578: jsummers: Don't crash on cygwin when tm_mon == -1
32	* PR/579: net147: Fix stack overrun.
33
342024-11-27  14:44  Christos Zoulas <christos@zoulas.com>
35
36	* release 5.46
37	* Add OFFPOSITIVE
38
392024-11-25  13:56  Christos Zoulas <christos@zoulas.com>
40
41	* avoid leaking symbols in libmagic
42
432024-11-10  13:56  Christos Zoulas <christos@zoulas.com>
44
45	* PR/562: jsummers: Search/regex offsets are absolute to the
46	  beginning of the file, so adjust them by subtracting the
47	  offset that the "use" starts so that we don't double-count it.
48
49
502024-11-09  19:30  Christos Zoulas <christos@zoulas.com>
51 	* PR/543: matshch: bump nbuf so we can get the flags into the buffer.
52
53
542024-11-02  14:34  Christos Zoulas <christos@zoulas.com>
55
56 	* Add Android elf notes (enh)
57
582023-12-29  12:55  Christos Zoulas <christos@zoulas.com>
59
60	* Add limit for number of magic warnings allowed
61
622023-07-29  12:55  Christos Zoulas <christos@zoulas.com>
63
64	* check regex bounds (found by clusterfuzz)
65
662023-07-27  15:45  Christos Zoulas <christos@zoulas.com>
67
68	* release 5.45
69
702023-07-17  11:53  Christos Zoulas <christos@zoulas.com>
71
72	* PR/465: psrok1: Avoid muslc asctime_r crash
73
742023-05-21  13:05  Christos Zoulas <christos@zoulas.com>
75
76	* add SIMH tape format support
77
782023-02-09  12:50  Christos Zoulas <christos@zoulas.com>
79
80	* bump the max size of the elf section notes to be read to 128K
81	  and make it configurable
82
832023-01-08   1:08  Christos Zoulas <christos@zoulas.com>
84
85	* PR/415: Fix decompression with program returning empty
86
872022-12-26   1:47  Christos Zoulas <christos@zoulas.com>
88
89	* PR/408: fix -p with seccomp
90	* PR/412: fix MinGW compilation
91
922022-12-26  12:26  Christos Zoulas <christos@zoulas.com>
93
94	* release 5.44
95
962022-12-14   9:24  Christos Zoulas <christos@zoulas.com>
97
98	* Handle nan's so that we don't get internal floating point exceptions
99	  when they are enabled (Vincent Mihalkovic)
100
1012022-10-23  10:21  Christos Zoulas <christos@zoulas.com>
102
103	* PR/397: Restore the ability to process files from stdin immediately.
104
1052022-09-20  17:12  Christos Zoulas <christos@zoulas.com>
106
107	* fixed various clustefuzz issues
108
1092022-09-19  15:54  Christos Zoulas <christos@zoulas.com>
110
111	* Fix error detection for decompression code (Vincent Mihalkovic)
112
1132022-09-15  13:50  Christos Zoulas <christos@zoulas.com>
114
115	* Add MAGIC_NO_COMPRESS_FORK and use it to produce a more
116	  meaningful error message if we are sandboxing.
117
1182022-09-15  10:45  Christos Zoulas <christos@zoulas.com>
119
120	* Add built-in lzip decompression support (Michal Gorny)
121
1222022-09-14  10:35  Christos Zoulas <christos@zoulas.com>
123
124	* Add built-in zstd decompression support (Martin Rodriguez Reboredo)
125
1262022-09-13  14:55  Christos Zoulas <christos@zoulas.com>
127
128	* release 5.43
129
1302022-09-10   9:17  Christos Zoulas <christos@zoulas.com>
131
132	* Add octal indirect magic (Michal Gorny)
133
1342022-08-17  11:43  Christos Zoulas <christos@zoulas.com>
135
136	* PR/374: avoid infinite loop in non-wide code (piru)
137	* PR/373: Obey MAGIC_CONTINUE with multiple magic files (vismarli)
138
1392022-07-26  11:10  Christos Zoulas <christos@zoulas.com>
140
141	* Fix bug with large flist (Florian Weimer)
142
1432022-07-07  13:21  Christos Zoulas <christos@zoulas.com>
144
145        * PR/364: Detect non-nul-terminated core filenames from QEMU
146	  (mam-ableton)
147
1482022-07-04  15:45  Christos Zoulas <christos@zoulas.com>
149
150	* PR/359: Add support for http://ndjson.org/ (darose)
151	* PR/362: Fix wide printing (ro-ee)
152	* PR/358: Fix width for -f - (jpalus)
153	* PR/356: Fix JSON constant parsing (davewhite)
154
1552022-06-10   9:40  Christos Zoulas <christos@zoulas.com>
156
157	* release 5.42
158
1592022-05-31  14:50   Christos Zoulas <christos@zoulas.com>
160
161	* PR/348: add missing cases to prevent file from aborting on
162	  random magic files.
163
1642022-05-27  21:05   Christos Zoulas <christos@zoulas.com>
165
166	* PR/351: octalify filenames when not raw before printing.
167
1682022-04-18  17:51   Christos Zoulas <christos@zoulas.com>
169
170	* fix regex cacheing bug (Dirk Mueller)
171	* merge file_regcomp and file_regerror() to simplify the code
172	  and reduce memory requirements for storing regexes (Dirk Mueller)
173
1742022-03-19  12:56   Christos Zoulas <christos@zoulas.com>
175
176	* cache regex (Dirk Mueller)
177	* detect filesystem full by flushing output (Dirk Mueller)
178
1792021-11-19  12:36   Christos Zoulas <christos@zoulas.com>
180
181	* implement running decompressor programs using
182	  posix_spawnp(2) instead of vfork(2)
183
1842021-10-24  11:51   Christos Zoulas <christos@zoulas.com>
185
186	* Add support for msdos dates and times
187
1882021-10-20   9:55   Christos Zoulas <christos@zoulas.com>
189
190	* use the system byte swapping functions if available (Werner Fink)
191
1922021-10-18  11:57  Christos Zoulas <christos@zoulas.com>
193
194	* release 5.41
195
1962021-09-23  03:51  Christos Zoulas <christos@zoulas.com>
197
198	* Avinash Sonawane: Fix tzname detection
199
2002021-09-03  09:17  Christos Zoulas <christos@zoulas.com>
201
202	* Fix relationship tests with "search" magic, don't short circuit
203	  logic
204
2052021-07-13  01:06  Christos Zoulas <christos@zoulas.com>
206
207	* Fix memory leak in compile mode
208
2092021-07-01  03:51  Christos Zoulas <christos@zoulas.com>
210
211	* PR/272: kiefermat: Only set returnval = 1 when we printed something
212	  (in all cases print or !print). This simplifies the logic and fixes
213	  the issue in the PR with -k and --mime-type there was no continuation
214	  printed before the default case.
215
2162021-06-30  13:07  Christos Zoulas <christos@zoulas.com>
217
218	* PR/270: Don't translate unprintable characters in %s magic formats
219	  when -r
220	* PR/269: Avoid undefined behavior with clang (adding offset to NULL)
221
2222021-05-09  18:38  Christos Zoulas <christos@zoulas.com>
223
224	* Add a new flag (f) that requires that the match is a full word,
225	   not a partial word match.
226	* Add varint types (unused)
227
2282021-04-19  17:17  Christos Zoulas <christos@zoulas.com>
229
230	* PR/256: mutableVoid: If the file is less than 3 bytes, use the file
231	  length to determine type
232	* PR/259: aleksandr.v.novichkov: mime printing through indirect magic
233	  is not taken into account, use match directly so that it does.
234
2352021-04-04  17:02  Christos Zoulas <christos@zoulas.com>
236
237	* count the total bytes found not the total byte positions
238	  in order to determine encoding (Anatol Belski)
239
2402021-03-30  20:21  Christos Zoulas <christos@zoulas.com>
241
242	* release 5.40
243
2442021-02-05  16:31  Christos Zoulas <christos@zoulas.com>
245
246	* PR/234: Add limit to the number of bytes to scan for encoding
247	* PR/230: Fix /T (trim flag) for regex
248
2492021-02-01  12:31  Christos Zoulas <christos@zoulas.com>
250	* PR/77: Trim trailing separator.
251
2522020-12-17  15:44  Christos Zoulas <christos@zoulas.com>
253
254	* PR/211: Convert system read errors from corrupt ELF
255	  files into human readable error messages
256
2572020-12-08  16:24  Christos Zoulas <christos@zoulas.com>
258
259	* fix multithreaded decompression file descriptor issue
260	  by using close-on-exec (Denys Vlasenko)
261
2622020-06-27  11:58  Christos Zoulas <christos@zoulas.com>
263
264	* Exclude surrogate pairs from utf-8 detection (Michael Liu)
265
2662020-06-25  12:53  Christos Zoulas <christos@zoulas.com>
267
268	* Include # to the list of ignored format chars (Werner Fink)
269
2702020-06-14  20:02  Christos Zoulas <christos@zoulas.com>
271
272	* release 5.39
273
2742020-06-07  20:00  Christos Zoulas <christos@zoulas.com>
275
276	* Remove unused subtype_mime (Steve Grubb)
277	* Remove unused check in okstat (Steve Grubb)
278	* Fix mime-type in elf binaries by making sure $x is set
279	* Fix indirect negative offsets broken by OFFNEGATIVE
280	* Fix GUID equality check
281	* PR/165: Handle empty array and strings in JSON
282	* PR/162: Add --exclude-quiet
283
2842020-06-06  15:33  Christos Zoulas <christos@zoulas.com>
285
286	* Fix memory leak in ascmagic (Steve Grubb)
287
2882020-06-04  00:21  Christos Zoulas <christos@zoulas.com>
289
290	* Fix string comparison length with ignore whitespace
291
2922020-05-31  00:11  Christos Zoulas <christos@zoulas.com>
293
294	* Fix mingwin 64 compilation
295
2962020-05-30  23:56  Christos Zoulas <christos@zoulas.com>
297
298	* PR/159: whitelist getpid needed for file_pipe2file()
299
3002020-05-09  18:57  Christos Zoulas <christos@zoulas.com>
301
302	* Indicate negative offsets with a flag OFFNEGATIVE
303	  so that -0 works.
304	* Introduce "offset" magic type that can be used to
305	  detect the file size, and bail on short files.
306	* document DER better in the magic man page.
307
3082020-03-11  21:53  Christos Zoulas <christos@zoulas.com>
309
310	* fix memory leaks (SonarQube)
311
3122020-03-08  21:33  Christos Zoulas <christos@zoulas.com>
313
314	* fix memory leaks (SonarQube)
315	* rewrite confusing loops (SonarQube)
316	* fix bogus test (SonarQube)
317	* pass a sized buffer to file_fmttime() (SonarQube)
318
319	* fix memory leaks (SonarQube)
320
3212020-02-20  15:50  Christos Zoulas <christos@zoulas.com>
322
323	* Don't allow * in printf formats, or the code itself (Christoph Biedl)
324	* Introduce a printf output size checker to avoid DoS attacks
325
3262020-02-17  17:22  Christos Zoulas <christos@zoulas.com>
327
328	* Avoid memory leak on error (oss-fuzz)
329	* Check length of string on DER before derefercing and add new types
330	* Add missing DER string (oss-fuzz)
331
3322020-02-16  20:45  Christos Zoulas <christos@zoulas.com>
333
334	* Add missing DER types, and debugging
335
3362020-02-13  13:10  Christos Zoulas <christos@zoulas.com>
337
338	* PR/140: Avoid abort with hand-crafted magic file (gockelhahn)
339	* PR/139  Avoid DoS in printf with hand-crafted magic file (gockelhahn)
340	* PR/138: Avoid crash with hand-crafted magic file (gockelhahn)
341
3422020-02-12  17:30  Christos Zoulas <christos@zoulas.com>
343
344	* PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine)
345
3462019-12-24  14:16  Christos Zoulas <christos@zoulas.com>
347
348	* add guid support
349
3502019-12-16  21:11  Christos Zoulas <christos@zoulas.com>
351
352	* release 5.38
353
3542019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
355    Document changes since the previous release:
356	- Always accept -S (no sandbox) even if we don't support sandboxing
357	- More syscalls elided for sandboxing
358	- For ELF dynamic means having an interpreter not just PT_DYNAMIC
359	- Check for large ELF session header offset
360	- When saving and restoring a locale, keep the locale name in our
361	  own storage.
362	- Add a flag to disable CSV file detection.
363	- Don't pass NULL/0 to memset to appease sanitizers.
364	- Avoid spurious prints when looks for extensions or apple strings
365	  in fsmagic.
366	- Add builtin decompressors for xz and and bzip.
367	- Add a limit for the number of CDF elements.
368	- More checks for overflow in CDF.
369
3702019-05-14  22:26  Christos Zoulas <christos@zoulas.com>
371
372	* release 5.37
373
3742019-05-09  22:27  Christos Zoulas <christos@zoulas.com>
375
376	* Make sure that continuation separators are printed
377	  with -k within softmagic
378
3792019-05-06  22:27  Christos Zoulas <christos@zoulas.com>
380
381	* Change SIGPIPE saving and restoring during compression to use
382	  sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko)
383	* Cache stat(2) calls more to reduce number of calls (Denys Vlasenko)
384
3852019-05-06  17:25  Christos Zoulas <christos@zoulas.com>
386
387	* PR/77: Handle --mime-type and -k correctly.
388
3892019-05-03  15:26  Christos Zoulas <christos@zoulas.com>
390
391	* Switch decompression code to use vfork() because
392	  tools like rpmdiff and rpmbuild call libmagic
393	  with large process footprints (Denys Vlasenko)
394
3952019-04-07  14:05  Christos Zoulas <christos@zoulas.com>
396
397	* PR/75: --enable-zlib, did not work.
398
3992019-02-27  11:54  Christos Zoulas <christos@zoulas.com>
400
401	* Improve regex efficiency (Michael Schroeder) by:
402		1. Prefixing regex searches with regular search
403		   for keywords where possible
404		2. Using memmem(3) where available
405
4062019-02-20  10:16  Christos Zoulas <christos@zoulas.com>
407
408	* release 5.36
409
4102019-02-19  15:30  Christos Zoulas <christos@zoulas.com>
411
412	* Fix cast to use cast macros
413	* Add UCS-32 builtin detection (PR/61) reported by tmc
414
4152019-02-18  18:24  Christos Zoulas <christos@zoulas.com>
416
417	* Fix stack read (PR/62) and write (PR/64) stack overflows
418	  reported by spinpx
419
4202018-10-18  19:32  Christos Zoulas <christos@zoulas.com>
421
422	* release 5.35
423
4242018-09-10  20:38  Christos Zoulas <christos@zoulas.com>
425
426	* Add FreeBSD ELF core file support (John Baldwin)
427
4282018-08-20  18:40  Christos Zoulas <christos@zoulas.com>
429
430	* PR/30: Allow all parameter values to be set (don't treat 0 specially)
431	* handle default annotations on the softmagic match instead at the
432	  end.
433
4342018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
435
436	* PR/23: Recognize JSON files
437
4382018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
439
440	* PR/18: file --mime-encoding should not print mime-type
441
4422018-07-25   8:50  Christos Zoulas <christos@zoulas.com>
443
444	* release 5.34
445
4462018-06-22  16:38  Christos Zoulas <christos@zoulas.com>
447
448	* Add Quad indirect offsets
449
4502018-05-24  14:10  Christos Zoulas <christos@zoulas.com>
451
452	* Enable parsing of ELF dynamic sections to handle PIE better
453
4542018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
455
456	* release 5.33
457
4582018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
459
460	* extend the support for ${x?:} expansions for magic descriptions
461
4622018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
463
464	* add support for ${x?:} in mime types to handle
465	  pie binaries.
466
4672017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
468
469	* add support for negative offsets (offsets from the end of file)
470
4712017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
472
473	* close the file on error when writing magic (Steve Grubb)
474
4752017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
476
477	* seccomp support (Paul Moore)
478
4792017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
480
481	* release 5.32
482
4832017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
484
485	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
486
4872017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
488
489	* Fix always true condition (Thomas Jarosch)
490
4912017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
492
493	* pickier parsing of numeric values in magic files.
494
4952017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
496
497	* PR/615 add magic_getflags()
498
4992017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
500
501	* release 5.31
502
5032017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
504
505	* remove trailing spaces from magic files
506	* refactor is_tar
507	* better bounds checks for cdf
508
5092017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
510
511	* release 5.30
512
5132017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
514
515	* If we exceeded the offset in a search return no match
516	  (Christoph Biedl)
517	* Be more lenient on corrupt CDF files (Christoph Biedl)
518
5192017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
520
521	* pacify ubsan sign extension (oss-fuzz/524)
522
5232017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
524
525	* off by one in cdf parsing (PR/593)
526	* report debugging sections in elf (PR/591)
527
5282016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
529
530	* Allow @@@ in extensions
531	* Add missing overflow check in der magic (Jonas Wagner)
532
5332016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
534
535	* release 5.29
536
5372016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
538
539	* der getlength overflow (Jonas Wagner)
540	* multiple magic file load failure (Christoph Biedl)
541
5422016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
543
544	* CDF parsing improvements (Guy Helmer)
545
5462016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
547
548	* Add support for signed indirect offsets
549
5502016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
551
552	* cat /dev/null | file - should print empty (Christoph Biedl)
553
5542016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
555
556	* Bump string size from 64 to 96.
557
5582016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
559
560	* PR/556: Fix separators on annotations.
561
5622016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
563
564	* release 5.28
565	* fix leak on allocation failure
566
5672016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
568
569	* PR/555: Avoid overflow for offset > nbytes
570	* PR/550: Segv on DER parsing:
571	    - use the correct variable for length
572	    - set offset to 0 on failure.
573
5742016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
575
576	* release 5.27
577
5782016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
579
580	* Errors comparing DER entries or computing offsets
581	  are just indications of malformed non-DER files.
582	  Don't print them.
583	* Offset comparison was off-by-one.
584	* Fix compression code (Werner Fink)
585	* Put new bytes constant in the right file (not the generated one)
586
5872016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
588
589	* release 5.26
590
5912016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
592
593	* make the number of bytes read from files configurable.
594
5952016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
596
597	* Add bounds checks for DER code (discovered by Thomas Jarosch)
598	* Change indirect recursion limit to indirect use count and
599	  bump from 15 to 50 to prevent abuse.
600
6012016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
602
603	* Add -00 which prints filename\0description\0
604
6052016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
606
607	* Fix ID3 indirect parsing
608
6092016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
610
611	* add DER parsing capability
612
6132015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
614
615	* provide dprintf(3) for the OS's that don't have it.
616
6172015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
618
619	* redo the compression code report decompression errors
620
6212015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
622
623	* REG_STARTEND code is not working as expected, delete it.
624
6252015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
626
627	* Add zlib support if we have it.
628
6292015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
630
631	* PR/492: compression forking was broken with magic_buffer.
632
6332015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
634
635	* release 5.25
636
6372015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
638
639	* add a limit to the length of regex searches
640
6412015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
642
643	* fix problems with --parameter (Christoph Biedl)
644
6452015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
646
647	* Windows fixes PR/466 (Jason Hood)
648
6492015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
650
651	* release 5.24
652
6532015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
654
655	* redo long option encoding to fix off-by-one in 5.23
656
6572015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
658
659	* release 5.23
660
6612015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
662
663	* Fix issue with regex range for magic with offset
664	* Always return true from mget with USE (success to mget not match
665	  indication). Fixes mime evaluation after USE magic
666	* PR/459: Don't insert magic entries to the list if there are parsing
667	  errors for them.
668
6692015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
670
671	* PR/455: Add utf-7 encoding
672
6732015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
674
675	* PR/455: Implement -Z, look inside, but don't report on compression
676	* PR/454: Fix allocation error on bad magic.
677
6782015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
679
680	* handle MAGIC_CONTINUE everywhere, not just in softmagic
681
6822015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
683
684	* don't print descriptions for NAME types when mime.
685
6862015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
687
688	* Add --extension to list the known extensions for this file type
689	  Idea by Andrew J Roazen
690
6912015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
692
693	* Bump file search buffer size to 1M.
694
6952015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
696
697	* Fix multiple issues with date formats reported by Christoph Biedl:
698		- T_LOCAL meaning was reversed
699		- Arithmetic did not work
700	  Also stop adjusting daylight savings for gmt printing.
701
7022015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
703
704	* PR/411: Fix memory corruption from corrupt cdf file.
705
7062015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
707
708	* release 5.22
709
7102015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
711
712	* add indirect relative for TIFF/Exif
713
7142014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
715
716	* restructure elf note printing to avoid repeated messages
717	* add note limit, suggested by Alexander Cherepanov
718
7192014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
720
721	* Bail out on partial pread()'s (Alexander Cherepanov)
722	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
723
7242014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
725
726	* PR/405: ignore SIGPIPE from uncompress programs
727	* change printable -> file_printable and use it in
728	  more places for safety
729	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
730	  is present print the interpreter name.
731
7322014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
733
734	* release 5.21
735
7362014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
737
738	* Allow setting more parameters from the command line.
739	* Split name/use and indirect magic recursion limits.
740
7412014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
742
743	* Adjust ELF parameters and the default recursion
744	  level.
745	* Allow setting the recursion level dynamically.
746
7472014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
748
749	* The following fixes resulted from Thomas Jarosch's fuzzing
750	  tests that revealed severe performance issues on pathological
751	  input:
752	    - limit number of elf program and sections processing
753	    - abort elf note processing quickly
754	    - reduce the number of recursion levels from 20 to 10
755	    - preserve error messages in indirect magic handling
756
757	This is tracked as CVE-2014-8116 and CVE-2014-8117
758
7592014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
760
761	* fix bogus free in the user buffer case.
762
7632014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
764
765	* fix out of bounds read for pascal strings
766	* fix memory leak (not freeing the head of each mlist)
767
7682014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
769
770	* When printing strings from a file, convert them to printable
771	  on a byte by byte basis, so that we don't get issues with
772	  locale's trying to interpret random byte streams as UTF-8 and
773	  having printf error out with EILSEQ.
774
7752014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
776
777	* fix bounds in note reading (Francisco Alonso / Red Hat)
778
7792014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
780
781	* fix autoconf glue for setlocale and locale_t; some OS's
782	  have locale_t in xlocale.h
783
7842014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
785
786	* release 5.20
787
7882014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
789
790	* recognize encrypted CDF documents
791
7922014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
793
794	* add magic_load_buffers from Brooks Davis
795
7962014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
797
798	* add thumbs.db support
799
8002014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
801
802	* release 5.19
803
8042014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
805
806	* Misc buffer overruns and missing buffer size tests in cdf parsing
807	  (Francisco Alonso, Jan Kaluza)
808
8092014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
810
811	* Enforce limit of 8K on regex searches that have no limits
812	* Allow the l modifier for regex to mean line count. Default
813	  to byte count. If line count is specified, assume a max
814	  of 80 characters per line to limit the byte count.
815	* Don't allow conversions to be used for dates, allowing
816	  the mask field to be used as an offset.
817
8182014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
819
820	* Make the range operator limit the length of the
821	  regex search.
822
8232014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
824
825	* PR/347: Windows fixes
826	* PR/352: Hangul word processor recognition
827	* PR/354: Encoding irregularities in text files
828
8292014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
830
831	* Fix uninitialized title in CDF files (Jan Kaluza)
832
8332014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
834
835	* PR/351: Fix compilation of empty files
836
8372014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
838
839	* Fix integer formats: We don't specify 'l' or
840	  'h' and 'hh' specifiers anymore, only 'll' for
841	  quads and nothing for the rest. This is so that
842	  magic writing is simpler.
843
8442014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
845
846	* PR/341: Jan Kaluza, fix memory leak
847	* PR/342: Jan Kaluza, fix out of bounds read
848
8492014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
850
851	* Fix issue with long formats not matching fmtcheck
852
8532014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
854
855	* release 5.18
856
8572014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
858
859	* add fmtcheck(3) for those who don't have it
860
8612014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
862
863	* prevent mime entries from being attached to magic
864	  entries with no descriptions
865
866	* adjust magic strength for regex type
867
868	* remove superfluous ascmagic with encoding test
869
8702014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
871
872	* fix regression fix echo -ne "\012\013\014" | file -i -
873	  which printed "binary" instead of "application/octet-stream"
874
875	* add size_t overflow check for magic file size
876
8772014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
878
879	* experimental support for matching with CFD CLSID
880
8812014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
882
883	* Cache old LC_CTYPE locale before setting it to "C", so
884	  we can use it to restore LC_CTYPE instead of asking
885	  setlocale() to scan the environment variables.
886
8872014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
888
889	* Count recursion levels through indirect magic
890
8912014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
892
893	* Prevent infinite recursion on files with indirect offsets of 0
894
8952014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
896
897	* Add -E flag that makes file print filesystem errors to stderr
898	  and exit.
899
9002014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
901
902	* mime printing could print results from multiple magic entries
903	  if there were multiple matches.
904	* in some cases overflow was not detected when computing offsets
905	  in softmagic.
906
9072013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
908
909	* use strcasestr() to for cdf strings
910	* reset to the "C" locale while doing regex operations, or case
911	  insensitive comparisons; this is provisional
912
9132013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
914
915	* always leave magic file loaded, don't unload for magic_check, etc.
916	* fix default encoding to binary instead of unknown which broke recently
917	* handle empty and one byte files, less specially so that
918	  --mime-encoding does not break completely.
919		`
9202013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
921
922	* fix erroneous non-zero exit code from non-existent file and message
923
9242013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
925
926	* add CDF MSI file detection (Guy Helmer)
927
9282013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
929
930	* Don't mix errors and regular output if there was an error
931	* in magic_descriptor() don't close the file and try to restore
932	  its position
933
9342013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
935
936	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
937
9382013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
939
940	* Fix spacing issues in softmagic and elf (Jan Kaluza)
941
9422013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
943
944	* Fix segmentation fault with multiple magic_load commands.
945
9462013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
947
948	* The way "default" was implemented was not very useful
949	  because the "if something was printed at that level"
950	  was not easily controlled by the user, and the format
951	  was bound to a string which is too restrictive. Add
952	  a "clear" for that level keyword and make "default"
953	  void. This way one can do:
954
955		>>13	clear	x
956		>>13	lelong	1	foo
957		>>13	lelong	2	bar
958		>>13	default	x
959		>>>13	lelong	x	unknown %x
960
9612013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
962
963	* disallow strength setting in "name" entries
964
9652013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
966
967	* fix recursive magic separator printing
968
9692013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
970
971	* limit recursion level for mget
972	* fix pread() related breakage in cdf
973	* handle offsets properly in recursive "use"
974
9752013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
976
977	* add elf reading of debug info to determine if file is stripped
978	  (Jan Kaluza)
979	* use pread()
980
9812013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
982
983	* change mime description size from 64 to 80 to accommodate OOXML.
984
9852013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
986
987	* Warn about inconsistent continuation levels.
988	* Change fsmagic to add a space after it prints.
989
9902013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
991
992	* Make getline public so that file can link against it.
993	  Perhaps it is better to rename it, or hide it differently.
994	  Fixes builds on platforms that do not provide it.
995
9962013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
997
998	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
999	  what long, int, short, etc is (Guy Harris)
1000
10012013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
1002
1003	* add magic_version function and constant
1004	* Redo memory allocation and de-allocation.
1005	  (prevents double frees on non mmap platforms)
1006	* Fix bug with name/use having to do with passing
1007	  found state from the parent to the child and back.
1008
10092012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
1010
1011	* Only print elf capabilities for archs we know (Jan Kaluza)
1012
10132012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
1014
1015	* Add "name" and "use" file types in order to look
1016	  inside mach-o files.
1017
10182012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
1019
1020	* make --version exit 0 (Matthew Schultz)
1021	* add string/T (Jan Kaluza)
1022
10232012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
1024
1025	* add z and t modifiers for our own vasprintf
1026	* search for $HOME/.magic.mgc if it is there first
1027	* fix reads from a pipe, and preserve errno
1028
10292012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
1030
1031	* use ctime_r, asctime_r
1032
10332012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
1034
1035	* Fixes for indirect offsets to handle apple disk formats
1036
10372012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
1038
1039	* Add windows date field types
1040	* More info for windows shortcuts (incomplete)
1041
10422012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
1043
1044	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
1045
10462011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
1047
1048	* Support Tilera architectures (tile64, tilepro, tilegx).
1049
10502011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
1051
1052	* Add magic for /usr/bin/env Perl scripts
1053	* Weaken generic script magic to avoid clashing with
1054	language-specific magic.
1055
10562011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
1057
1058	* Simplify if (p) free(p) to free(p).
1059
10602011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
1061
1062	* Remove hardwired token finding (names.h), turning it into soft
1063	magic. Patterns are either anchored regexs or search/8192. English
1064	language detection and PL/1 detection have been removed as they
1065	were too fragile. -e tokens is still accepted for backwards
1066	compatibility.
1067	* Move 3ds patterns (which are commented out anyway) into autodesk
1068	(they were, oddly, in c-lang).
1069
10702011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
1071
1072	* Tweak strength of generic hash-bang detectors to be less than
1073	specific ones.
1074	* Make an inconsistent description of Python scripts consistent.
1075
10762011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
1077
1078	* Fix minor error in file(1).
1079
10802011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
1081
1082	* Fix issue #150 (I hope).
1083
10842011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
1085
1086	* Python3 binding fixes from Kelly Anderson
1087
10882011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
1089
1090	* If a string type magic entry is marked as text or binary
1091	  only match text files against text entries and binary
1092	  files against binary entries.
1093
10942011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
1095
1096	* Don't wait for any subprocess, just the one we forked.
1097
10982011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
1099
1100	* If the application name is not set in a cdf file, try to see
1101	  if it has a directory with the application name on it.
1102
11032011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
1104
1105	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
1106
11072011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
1108
1109	* Don't use variable string formats.
1110
11112011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
1112
1113	* Fix detection of Zip files (Mantis #128).
1114	* Make some minor improvements to file(1).
1115	* Rename MIME types for filesystem objects for consistency with
1116	  xdg-utils. Typically this means that application/x-foo becomes
1117	  inode/foo, but some names also change slightly, e.g.
1118	  application/x-character-device becomes inode/chardevice.
1119
11202011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1121
1122	* fix mingw compilation (Abradoks)
1123
11242011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1125
1126	* remove patchlevel.h
1127	* Fix read past allocated memory caused by double-incrementing
1128	  a pointer in a loop (reported by Roberto Maar)
1129
11302011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
1131
1132	* Fix cdf string buffer setting (Sven Anders)
1133
11342011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
1135
1136	* Eliminate MAXPATHLEN and use dynamic allocation for
1137	  path and file buffers.
1138
11392011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
1140
1141	* binary tests on magic entries with masks could spuriously
1142	  get converted to ascii.
1143
11442011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
1145
1146	* Improve file.man (remove BUGS, present email addresses consistently).
1147
11482011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
1149
1150	* add lrzip support (from Ville Skytta)
1151
11522011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
1153
1154	* fix CDF bounds checking (Guy Helmer)
1155
11562011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
1157
1158	* add cdf_ctime() that prints a meaningful error when time cannot
1159	  be converted.
1160
11612011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
1162
1163	* help and version output to stdout.
1164
1165	* When matching softmagic for ascii files, don't just print
1166	  the softmagic classification, keep going and print the
1167	  text classification too. This fixes broken troff files when
1168	  we moved them from keyword recognition to softmagic
1169	  (they stopped printing "with CRLF" etc.)
1170	  Reported by Doug McIlroy.
1171
11722011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
1173
1174	* Fix two potential buffer overruns in apprentice_list.
1175
11762011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
1177
1178	* New Python binding in pure Python.
1179	* Update libmagic(3).
1180
11812011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
1182
1183	* Fix Python bindings (including recent Python 3 compatibility
1184	  update).
1185
11862011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
1187
1188	* magic/Makefile.am: make it easier to recover from magic build failures.
1189	* Fix pstring length specifier parsing to avoid generating invalid
1190	  magic files.
1191	* Add pstring length "J" (for "JPEG") to specify that the length
1192	  include itself.
1193	* Fix JPEG comment parsing at last using pstring/HJ!
1194	* Ignore section 5 man pages in doc/.cvsignore.
1195
11962010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
1197
1198	* Add pstring/BHhLl to specify the type of the length of pascal
1199	  strings.
1200
12012010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
1202
1203	* Fix "-e soft": it was ignored when softmagic was called
1204	  during asciimagic.
1205	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
1206
12072010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
1208
1209	* Make bug reporting addresses more visible.
1210
12112010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
1212
1213	* Add tcl magic from Gustaf Neumann
1214
12152010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
1216
1217	* Fix the whitespace comparing code (Christopher Chittleborough)
1218
12192010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
1220
1221	* allow string/t to work (Jan Kaluza)
1222
12232010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
1224
1225	* Apply some patches from Ubuntu and Fedora.
1226
12272010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
1228
1229	* Apply all patches from Debian package 5.04-6 which have not
1230	  already been applied and are not Debian-specific.
1231
12322010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
1233
1234	* Minor security fix to softmagic.c (don't use untrusted
1235	  string as printf format).
1236
12372010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
1238
1239	* MINGW32 portability from LRN
1240
1241	* Don't warn about escaping magic regex chars when we are in a regex.
1242
12432010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
1244
1245	* Only try to print prpsinfo for core files. (Jan Kaluza)
1246
12472010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
1248
1249	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
1250
12512010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
1252
1253	* Clarify which sort of CDF we mean.
1254
12552010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
1256
1257	* Re-jig Zip file type magic so that unsupported special
1258	  Zip types (those with "mimetype" at offset 30) can be
1259	  recognized.
1260
12612010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
1262
1263	* Add support for OCF (EPUB) files (application/epub+zip)
1264
12652010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
1266
1267	* Fix core-dump from unbound loop:
1268	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
1269
12702010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
1271
1272	* print proper mime for crystal reports file
1273
1274	* print the last summary information of a cdf document, not the
1275	  first so that nested documents print the right info
1276
12772010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
1278
1279	* bring back some fixes from OpenBSD:
1280		- make gcc2 builds file
1281		- fix typos in a magic file comment
1282
12832009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
1284
1285	* ctime/asctime can return NULL on some OS's although
1286	  they should not (Toshit Antani)
1287
12882009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
1289
1290	* Centralize magic path handling routines and remove the
1291	  special-casing from file.c so that the python module for
1292	  example comes up with the same magic path (Fixes ~/.magic
1293	  handling) (from Gab)
1294
12952009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
1296
1297	* When magic argument is a directory, read the files in
1298	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
1299
13002009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
1301
1302	* Combine overlapping epoc and psion magic files into one (epoc).
1303
1304	* Add some more EPOC MIME types.
1305
13062009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
1307
1308	* Fix 3 bugs (From Ian Darwin):
1309	    - file_showstr could move one past the end of the array
1310	    - parse_apple did not nul terminate the string in the overflow case
1311	    - parse_mime truncated the wrong string in the overflow case
1312
13132009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
1314
1315	* Include Localstuff when compiling magic.
1316
13172009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
1318
1319	* Fix logic for including mygetopts.h
1320
1321	* Make cdf.c compile again with debugging
1322
1323	* Add the necessary field handling for crystal reports files to work
1324
13252009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
1326
1327	* Stop "(if" identifying Lisp files, that's plain dumb!
1328
13292009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
1330
1331	* Add a couple of missing MP3 MIME types.
1332
13332009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
1334
1335	* Add full range of hash-bang tests for Python and Ruby.
1336
1337	* Add MIME types for Python and Ruby scripts.
1338
13392009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
1340
1341	* off by one in parsing hw capabilities in elf
1342	  (Cheng Renquan)
1343
13442009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
1345
1346	* lint fixes and more from NetBSD
1347
13482009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
1349
1350	* Avoid null dereference in cdf code (Drew Yao)
1351
1352	* More cdf bounds checks and overflow checks
1353
13542009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
1355
1356	* Buffer overflow fixes from Drew Yao
1357
13582009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
1359
1360	* Fix more cdf lossage. All the documents I have
1361	  right now print the correct information.
1362
13632009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
1364
1365	* don't print \012- separators in the same magic entry
1366	  if it consists of multiple magic printing lines.
1367
13682009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
1369
1370	* Avoid file descriptor leak in compress code from
1371	  (Daniel Novotny)
1372
13732009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
1374
1375	* Allow escaping of relation characters, so that we can say \^[A-Z]
1376	  and the ^ is not eaten as a relation char.
1377
1378	* Fix troff and fortran to their previous glory using
1379	  regex. This was broken since their removel from ascmagic.
1380
13812009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
1382
1383	* don't use strlen in strndup() (Toby Peterson)
1384
13852009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
1386
1387	* avoid c99 syntax.
1388
13892009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
1390
1391	* make the cdf code use the buffer first if available,
1392	  and then the fd code.
1393
13942009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
1395
1396	* look for struct option to determine if getopt.h is usable for IRIX.
1397
1398	* sanitize cdf document strings
1399
14002009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
1401
1402	* fix OS/2 warnings.
1403
14042008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
1405
1406	* fix initial offset calculation for non 4K sector files
1407
1408	* add loop limits to avoid DoS attacks by constructing
1409	  looping sector references.
1410
14112008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
1412
1413	* fix memory botches on cdf file parsing.
1414
1415	* exit with non-zero value for any error, not just for the last
1416	  file processed.
1417
14182008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
1419
1420	* Replace all str{cpy,cat} functions with strl{cpy,cat}
1421	* Ensure that strl{cpy,cat} are included in libmagic,
1422	  as needed.
1423
14242008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
1425
1426	* Handle ID3 format files.
1427
14282008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
1429
1430	* Fix --mime, --mime-type and --mime-encoding under new scheme.
1431
1432	* Rename "ascii" to "text" and add "encoding" test.
1433
1434	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
1435	  UTF-16.
1436
1437	* Fix error in comment caused by automatic indentation adding
1438	  words!
1439
14402008-11-06 10:35  Christos Zoulas <christos@astron.com>
1441
1442	* use memchr instead of strchr because the string
1443	  might not be NUL terminated (Scott MacVicar)
1444
14452008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
1446
1447	* Fix a printf with a non-literal format string.
1448
1449	* Fix formatting and punctuation of help for "--apple".
1450
14512008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
1452
1453	* Correct words counts in comments of struct magic.
1454
1455	* Fix handle_annotation to allow both Apple and MIME types to be
1456	  printed, and to return correct code if MIME type is
1457	  printed (1, not 0) or if there's an error (-1 not 1).
1458
1459	* Fix output of charset for MIME type (precede with semi-colon;
1460	  fixes Debian bug #501460).
1461
1462	* Fix potential attacks via conversion specifications in magic
1463	  strings.
1464
1465	* Add a FIXME for Debian bug #488562 (magic files should be
1466	  read in a defined order, by sorting the names).
1467
14682008-10-18 16:45  Christos Zoulas <christos@astron.com>
1469
1470	* Added APPLE file creator/type
1471
14722008-10-12 10:20  Christos Zoulas <christos@astron.com>
1473
1474	* Added CDF parsing
1475
14762008-10-09 16:40  Christos Zoulas <christos@astron.com>
1477
1478	* filesystem and msdos patches (Joerg Jenderek)
1479
14802008-10-09 13:20  Christos Zoulas <christos@astron.com>
1481
1482	* correct --exclude documentation issues: remove troff and fortran
1483	  and rename "token" to "tokens". (Randy McMurchy)
1484
14852008-10-01 10:30  Christos Zoulas <christos@astron.com>
1486
1487	* Read ~/.magic in addition to the default magic file not instead
1488	  of, as documented in the man page.
1489
14902008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1491
1492	* Comment out graphviz patterns, as they match too many files.
1493
14942008-08-30 12:54  Christos Zoulas <christos@astron.com>
1495
1496	* Don't eat trailing \n in magic enties.
1497
1498	* Cast defines to allow compilation using a c++ compiler.
1499
15002008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1501
1502	* Add text/x-lua MIME type for Lua scripts.
1503
1504	* Escape { in regex in graphviz patterns.
1505
15062008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1507
1508	* Add MIME types for special files.
1509
1510	* Use access to give more accurate information for files that
1511	  can't be opened.
1512
1513	* Add a TODO list.
1514
15152008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1516
1517	* add !:strength op to adjust magic strength (experimental)
1518
15192008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1520
1521	* Fix automake error in configure.ac.
1522
1523	* Add MIME type for Psion Sketch files.
1524
15252008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1526
1527	* Don't print warnings about bad namesize in stripped
1528	  binaries with PT_NOTE is still there, and the actual
1529	  note is gone (Jakub Jelinek)
1530
15312008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1532
1533	* magic/Magdir/elf:
1534	  Note invalid byte order for little-endian SPARC32PLUS.
1535	  Add SPARC V9 vendor extensions and memory model.
1536
1537	* src/elfclass.h:
1538	  Pass target machine to doshn (for Solaris hardware capabilities).
1539
1540	* src/readelf.c (doshn):
1541	  Add support for Solaris hardware/software capabilities.
1542
1543	* src/readelf.h:
1544	  Ditto.
1545
1546	* src/vasprintf.c (dispatch):
1547	  Add support for ll modifier.
1548
15492008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1550
1551	* Fix compiler warnings.
1552
1553	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1554
15552008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1556
1557	* src/Makefile.am:
1558	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1559	  as needed.
1560
1561	  Remove unnecessary EXTRA_DIST.
1562
1563	* src/Makefile.in:
1564	  Rerun automake.
1565
1566	* src/vasprintf.c (dispatch):
1567	  Fix variable precision bug: be sure to step past '*'.
1568
1569	* src/vasprintf.c (core):
1570	  Remove unreachable code.
1571
1572	* src/apprentice.c (set_test_type):
1573	  Add cast to avoid compiler warning.
1574
15752008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1576
1577	* Add magic submission guidelines (Abel Cheung)
1578
1579	* split msdos and windows magic (Abel Cheung)
1580
15812008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1582
1583	* >= <= is not supported, so fix the magic and warn about it.
1584	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1585
15862008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1587
1588	* src/readelf.c (donote):
1589	  ELF core file command name/line bug fixes and enhancements:
1590
1591	  Try larger offsets first to avoid false matches
1592	  from earlier data that happen to look like strings;
1593	  this primarily affected SunOS 5.x 32-bit Intel core files.
1594
1595	  Add support for command line (instead of just short name)
1596	  for SunOS 5.x.
1597
1598	  Add information about NT_PSINFO for SunOS 5.x.
1599
1600	  Only trim whitespace from end of command line.
1601
16022007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1603
1604	* Change strength of ! from MULT to 0, as it matches almost
1605		  anything (Reuben Thomas)
1606
1607	* Debian fixes (Reuben Thomas)
1608
16092007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1610
1611	* Clarify UTF-8 BOM message (Reuben Thomas)
1612
1613	* Add HTML comment to token list in names.h
1614
16152007-02-04 15:50 Christos Zoulas <christos@astron.com>
1616
1617	* Debian fixes (Reuben Thomas)
1618
16192007-02-04 11:31 Christos Zoulas <christos@astron.com>
1620
1621	* !:mime annotations in magic files (Reuben Thomas)
1622
16232007-01-29 15:35 Christos Zoulas <christos@astron.com>
1624
1625	* zero out utime/utimes structs (Gavin Atkinson)
1626
16272007-01-26 13:45 Christos Zoulas <christos@astron.com>
1628
1629	* reduce writable data from Diego "Flameeyes" Petten
1630
16312007-12-28 15:06 Christos Zoulas <christos@astron.com>
1632
1633	* strtof detection
1634
1635	* remove bogus regex magic that could cause a DoS
1636
1637	* better mismatch version message
1638
16392007-12-27 11:35 Christos Zoulas <christos@astron.com>
1640
1641	* bring back some fixes from OpenBSD
1642
1643	* treat ELF dynamic objects as executables
1644
1645	* fix gcc warnings
1646
16472007-12-01 19:55 Christos Zoulas <christos@astron.com>
1648
1649	* make sure we have zlib.h and libz to compile the builtin
1650	  decompress code
1651
16522007-10-28 20:48 Christos Zoulas <christos@astron.com>
1653
1654 	* float and double magic support (Behan Webster)
1655
16562007-10-28 20:48 Christos Zoulas <christos@astron.com>
1657
1658	* Convert fortran to a soft test (Reuben Thomas)
1659
16602007-10-23  5:25 Christos Zoulas <christos@astron.com>
1661
1662	* Add --with-filename, and --no-filename (Reuben Thomas)
1663
16642007-10-23  3:59 Christos Zoulas <christos@astron.com>
1665
1666	* Rest of the mime split (Reuben Thomas)
1667
1668	* Make usage message generated from the flags so that
1669	  they stay consistent (Reuben Thomas)
1670
16712007-10-20  3:06 Christos Zoulas <christos@astron.com>
1672
1673	* typo in comment, missing ifdef QUICK, remove unneeded code
1674		(Charles Longeau)
1675
16762007-10-17  3:33 Christos Zoulas <christos@astron.com>
1677
1678	* Fix problem printing -\012 in some entries
1679
1680	* Separate magic type and encoding flags (Reuben Thomas)
1681
16822007-10-09  3:55 Christos Zoulas <christos@astron.com>
1683
1684	* configure fix for int64 and strndup (Reuben Thomas)
1685
16862007-09-26  4:45 Christos Zoulas <christos@astron.com>
1687
1688	* Add magic_descriptor() function.
1689
1690	* Fix regression in elf reading code where the core name was
1691	  not being printed.
1692
1693	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1694
16952007-08-19  6:30 Christos Zoulas <christos@astron.com>
1696
1697	* Make mime format consistent so that it can
1698	  be easily parsed:
1699	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1700
1701	  Remove spurious extra text from some MIME type printouts
1702	  (mostly in is_tar).
1703
1704	  Fix one case where -i produced nothing at all (for a 1-byte file,
1705	  which is now classed as application/octet-stream).
1706
1707	  Remove 7/8bit classifications, since they were arbitrary
1708	  and not based on the file data.
1709
1710	  This work was done by Reuben Thomas
1711
17122007-05-24 10:00 Christos Zoulas <christos@astron.com>
1713
1714	* Fix another integer overflow (Colin Percival)
1715
17162007-03-26 13:58 Christos Zoulas <christos@astron.com>
1717
1718	* make sure that all of struct magic_set is initialized appropriately
1719	  (Brett)
1720
17212007-03-25 17:44 Christos Zoulas <christos@astron.com>
1722
1723	* reset left bytes in the buffer (Dmitry V. Levin)
1724
1725	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1726	  (Peter Avalos)
1727
17282007-03-15 10:51 Christos Zoulas <christos@astron.com>
1729
1730	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1731
1732	* fix exclude option (Dmitry V. Levin)
1733
17342007-02-08 17:30 Christos Zoulas <christos@astron.com>
1735
1736	* fix integer underflow in file_printf which can lead to
1737	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1738
17392007-02-05 11:35 Christos Zoulas <christos@astron.com>
1740
1741	* make socket/pipe reading more robust
1742
17432007-01-25 16:01 Christos Zoulas <christos@astron.com>
1744
1745	* Centralize all the tests in file_buffer.
1746
1747	* Add exclude flag.
1748
17492007-01-18 05:29 Anon Ymous <do@not.spam.me>
1750
1751	* Move the "type" detection code from parse() into its own table
1752	  driven routine.  This avoids maintaining multiple lists in
1753	  file.h.
1754
1755	* Add an optional conditional field (ust before the type field).
1756	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1757	  likely to go away.
1758
17592007-01-16 23:24 Anon Ymous <do@not.spam.me>
1760
1761	* Fix an initialization bug in check_mem().
1762
17632007-01-16 14:58 Anon Ymous <do@not.spam.me>
1764
1765	* Add a "default" type to print a message if nothing previously
1766	  matched at that level or since the last default at that
1767	  level.  This is useful for setting up switch-like statements.
1768	  It can also be used to do if/else constructions without a
1769	  redundant second test.
1770
1771	* Fix the "x" special case test so that one can test for that
1772	  string with "=x".
1773
1774	* Allow "search" to search the entire buffer if the "/N"
1775	  search count is missing.
1776
1777	* Make "regex" work!  It now starts its search at the
1778	  specified offset and takes an (optional) "/N" line count to
1779	  specify the search range; otherwise it searches to the end
1780	  of the file.  The match is now grabbed correctly for format
1781	  strings and the offset set to the end of the match.
1782
1783	* Add a "/s" flag to "regex" and "search" to set the offset to
1784	  the start of the match.  By default the offset is set to the
1785	  end of the match, as it is with other tests.  This is mostly
1786	  useful for "regex".
1787
1788	* Make "search", "string" and "pstring" use the same
1789	  file_strncmp() routine so that they support the same flags;
1790	  "bestring16" and "lestring16" call the same routine, but
1791	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1792	  to ignore the case on uppercase (lowercase) characters in
1793	  the test string.
1794
1795	* Strict adherence to C style string escapes.  A warnings are
1796	  printed when compiling.  Note: previously "\a" was
1797	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1798	  BELL, typically 0x07).
1799
1800	* Make this compile with "-Wall -Wextra" and all the warning
1801	  flags used with WARNS=4 in the NetBSD source.  Also make it
1802	  pass lint.
1803
1804	* Many "cleanups" and hopefully not too many new bugs!
1805
18062007-01-16 14:56 Anon Ymous <do@not.spam.me>
1807
1808	* make several more files compile with gcc warnings
1809	  on and also make them pass lint.
1810
18112007-01-16 14:54 Anon Ymous <do@not.spam.me>
1812
1813	* fix a puts()/putc() usage goof in file.c
1814
1815	* make file.c compile with gcc warnings and pass lint
1816
18172006-12-11 16:49 Christos Zoulas <christos@astron.com>
1818
1819	* fix byteswapping issue
1820
1821	* report the number of bytes we tried to
1822	  allocate when allocation fails
1823
1824	* add a few missed cases in the strength routine
1825
18262006-12-08 16:32 Christos Zoulas <christos@astron.com>
1827
1828	* store and print the line number of the magic
1829	  entry for debugging.
1830
1831	* if the magic entry did not print anything,
1832	  don't treat it as a match
1833
1834	* change the magic strength algorithm to take
1835	  into account the relationship op.
1836
1837	* fix a bug in search where we could accidentally
1838	  return a match.
1839
1840	* propagate the error return from match to
1841	  file_softmagic.
1842
18432006-11-25 13:35 Christos Zoulas <christos@astron.com>
1844
1845	* Don't store the current offset in the magic
1846	  struct, because it needs to be restored and
1847	  it was not done properly all the time. Bug
1848	  found by: Arkadiusz Miskiewicz
1849
1850	* Fix problem in the '\0' separator; and don't
1851	  print it as an additional separator; print
1852	  it as the only separator.
1853
18542006-11-17 10:51 Christos Zoulas <christos@astron.com>
1855
1856	* Added a -0 option to print a '\0' separator
1857	  Etienne Buira <etienne.buira@free.fr>
1858
18592006-10-31 15:14 Christos Zoulas <christos@astron.com>
1860
1861	* Check offset before copying (Mike Frysinger)
1862
1863	* merge duplicated code
1864
1865	* add quad date support
1866
1867	* make sure that we nul terminate desc (Ryoji Kanai)
1868
1869	* don't process elf notes multiple times
1870
1871	* allow -z to report empty compressed files
1872
1873	* use calloc to initialize the ascii buffers (Jos van den Oever)
1874
18752006-06-08 11:11 Christos Zoulas <christos@astron.com>
1876
1877	* QNX fixes (Mike Gorchak)
1878
1879	* Add quad support.
1880
1881	* FIFO checks (Dr. Werner Fink)
1882
1883	* Linux ELF fixes (Dr. Werner Fink)
1884
1885	* Magic format checks (Dr. Werner Fink)
1886
1887	* Magic format function improvement (Karl Chen)
1888
18892006-05-03 11:11 Christos Zoulas <christos@astron.com>
1890
1891	* Pick up some elf changes and some constant fixes from SUSE
1892
1893	* Identify gnu tar vs. posix tar
1894
1895	* When keep going, don't print spurious newlines (Radek Vokal)
1896
18972006-04-01 12:02 Christos Zoulas <christos@astron.com>
1898
1899	* Use calloc instead of malloc (Mike Frysinger)
1900
1901	* Fix configure script to detect wctypes.h (Mike Frysinger)
1902
19032006-03-02 16:06 Christos Zoulas <christos@astron.com>
1904
1905	* Print empty if the file is (Mike Frysinger)
1906
1907	* Don't try to read past the end of the buffer (Mike Frysinger)
1908
1909	* Sort magic entries by strength [experimental]
1910
19112005-11-29 13:26 Christos Zoulas <christos@astron.com>
1912
1913	* Use iswprint() to convert the output string.
1914	    (Bastien Nocera)
1915
19162005-10-31 8:54 Christos Zoulas <christos@astron.com>
1917
1918	* Fix regression where the core info was not completely processed
1919	    (Radek Vokal)
1920
19212005-10-20 11:15 Christos Zoulas <christos@astron.com>
1922
1923	* Middle Endian magic (Diomidis Spinellis)
1924
19252005-10-17 11:15 Christos Zoulas <christos@astron.com>
1926
1927	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1928
1929	* Don't close stdin (Arkadiusz Miskiewicz)
1930
1931	* Look for note sections in non executables.
1932
19332005-09-20 13:33 Christos Zoulas <christos@astron.com>
1934
1935	* Don't print SVR4 Style in core files multiple times
1936	    (Radek Vokal)
1937
19382005-08-27 04:09 Christos Zoulas <christos@astron.com>
1939
1940	* Cygwin changes Corinna Vinschen
1941
19422005-08-18 09:53 Christos Zoulas <christos@astron.com>
1943
1944	* Remove erroreous mention of /etc/magic in the file man page
1945	  This is gentoo bug 101639. (Mike Frysinger)
1946
1947	* Cross-compile support and detection (Mike Frysinger)
1948
19492005-08-12 10:17 Christos Zoulas <christos@astron.com>
1950
1951	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1952	  is set.
1953
19542005-07-29 13:57 Christos Zoulas <christos@astron.com>
1955
1956	* Avoid search and regex buffer overflows (Kelledin)
1957
19582005-07-12 11:48 Christos Zoulas <christos@astron.com>
1959
1960	* Provide stub implementations for {v,}nsprintf() for older
1961	  OS's that don't have them.
1962	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1963	  to AC_TYPE_MBSTATE_T.
1964
19652005-06-25 11:48 Christos Zoulas <christos@astron.com>
1966
1967	* Dynamically allocate the string buffers and make the
1968	  default read size 256K.
1969
19702005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1971
1972	* Dragonfly ELF note support
1973
19742005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1975
1976	* Avoid NULL pointer dereference in time conversion.
1977
19782005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1979
1980	* Add indirect magic offset support, and search mode.
1981
19822005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1983
1984	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1985	  If a CRLF text file happens to have CR at offset HOWMANY - 1
1986	  (currently 0xffff), it should not be counted as CR line
1987	  terminator.
1988	  If a line has length exactly MAXLINELEN, it should not yet be
1989	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
1990	  line length''.
1991	  With CRLF, the line length was not computed correctly, and even
1992	  lines of length MAXLINELEN - 1 were treated as ``very long''.
1993
19942004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1995
1996	* bzip2 needs a lot of input buffer space on some files
1997	  before it can begin uncompressing. This makes file -z
1998	  fail on some bz2 files. Fix it by giving it a copy of
1999	  the file descriptor to read as much as it wants if we
2000	  have access to it. <christos@astron.com>
2001
20022004-11-24 12:39  Christos Zoulas  <christos@astron.com>
2003
2004	* Stack smash fix, and ELF more conservative reading.
2005	  Jakub Bogusz <qboosh@pld-linux.org>
2006
20072004-11-20 18:50  Christos Zoulas  <christos@astron.com>
2008
2009	* New FreeBSD version parsing code:
2010	  Jon Noack <noackjr@alumni.rice.edu>
2011
2012	* Hackish support for ucs16 strings <christos@astron.com>
2013
20142004-11-13 03:07  Christos Zoulas  <christos@astron.com>
2015
2016	* print the file name and line number in syntax errors.
2017
20182004 10-12 10:50  Christos Zoulas  <christos@astron.com>
2019
2020	* Fix stack overwriting on 0 length strings: Tim Waugh
2021	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
2022
20232004-09-27 11:30  Christos Zoulas  <christos@astron.com>
2024
2025	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
2026
2027	* Fix small memory leaks; caught by: Tamas Sarlos
2028	    <stamas@csillag.ilab.sztaki.hu>
2029
20302004-07-24 16:33  Christos Zoulas  <christos@astron.com>
2031
2032	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
2033
2034	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
2035
2036	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
2037
2038  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
2039
20402004-04-12 10:55  Christos Zoulas  <christos@astron.com>
2041
2042	* make sure that magic formats match magic types during compilation
2043
2044	* fix broken sgi magic file
2045
20462004-04-06 20:36  Christos Zoulas  <christos@astron.com>
2047
2048	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
2049
2050	* magic fixes
2051
20522004-03-22 15:25  Christos Zoulas  <christos@astron.com>
2053
2054	* Lots of mime fixes
2055	  (Joerg Ostertag) <ostertag@rechengilde.de>
2056
2057	* FreeBSD ELF version handling
2058	  (Edwin Groothuis) <edwin@mavetju.org>
2059
2060	* correct cleanup in all cases; don't just close the file.
2061	  (Christos Zoulas) <christos@astron.com>
2062
2063	* add gettext message catalogue support
2064	  (Michael Piefel) <piefel@debian.org>
2065
2066	* better printout for unreadable files
2067	  (Michael Piefel) <piefel@debian.org>
2068
2069	* compensate for missing MAXPATHLEN
2070	  (Michael Piefel) <piefel@debian.org>
2071
2072	* add wide character string length computation
2073	  (Michael Piefel) <piefel@debian.org>
2074
2075	* Avoid infinite loops caused by bad elf alignments
2076	  or name and description note sizes. Reported by
2077	  (Mikael Magnusson) <mmikael@comhem.se>
2078
20792004-03-09 13:55  Christos Zoulas  <christos@astron.com>
2080
2081	* Fix possible memory leak on error and add missing regfree
2082	  (Dmitry V. Levin) <ldv@altlinux.org>
2083
20842003-12-23 12:12  Christos Zoulas  <christos@astron.com>
2085
2086	* fix -k flag (Maciej W. Rozycki)
2087
20882003-11-18 14:10  Christos Zoulas  <christos@astron.com>
2089
2090	* Try to give us much info as possible on corrupt elf files.
2091	  (Willy Tarreau) <willy@w.ods.org>
2092	* Updated python bindings (Brett Funderburg)
2093	   <brettf@deepfile.com>
2094
20952003-11-11 15:03  Christos Zoulas  <christos@astron.com>
2096
2097	* Include file.h first, because it includes config.h
2098	  breaks largefile test macros otherwise.
2099	  (Paul Eggert <eggert@CS.UCLA.EDU> via
2100	   Lars Hecking <lhecking@nmrc.ie>)
2101
21022003-10-14 21:39  Christos Zoulas  <christos@astron.com>
2103
2104	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
2105	* Don't lookup past the end of the buffer
2106	  (Chad Hanson) <chanson@tcs-sec.com>
2107	* Add MAGIC_ERROR and api on magic_errno()
2108
21092003-10-08 12:40  Christos Zoulas  <christos@astron.com>
2110
2111	* handle error conditions from compile as fatal
2112	  (Antti Kantee) <pooka@netbsd.org>
2113	* handle magic filename parsing sanely
2114	* more magic fixes.
2115	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
2116	* describe magic file handling
2117	  (Bryan Henderson) <bryanh@giraffe-data.com>
2118
21192003-09-12 15:09  Christos Zoulas  <christos@astron.com>
2120
2121	* update magic files.
2122	* remove largefile support from file.h; it breaks things on most OS's
2123
21242003-08-10 10:25  Christos Zoulas  <christos@astron.com>
2125
2126	* fix unmapping'ing of mmaped files.
2127
21282003-07-10 12:03  Christos Zoulas  <christos@astron.com>
2129
2130	* don't exit with -1 on error; always exit 1 (Marty Leisner)
2131	* restore utimes code.
2132
21332003-06-10 17:03  Christos Zoulas  <christos@astron.com>
2134
2135	* make sure we don't access uninitialized memory.
2136	* pass lint
2137	* #ifdef __cplusplus in magic.h
2138
21392003-05-25 19:23  Christos Zoulas  <christos@astron.com>
2140
2141	* rename cvs magic file to revision to deal with
2142	  case insensitive filesystems.
2143
21442003-05-23 17:03  Christos Zoulas  <christos@astron.com>
2145
2146	* documentation fixes from Michael Piefel <piefel@debian.org>
2147	* magic fixes (various)
2148	* revert basename magic in .mgc name determination
2149	* buffer protection in uncompress,
2150	  signness issues,
2151	  close files
2152	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
2153
21542003-04-21 20:12  Christos Zoulas  <christos@astron.com>
2155
2156	* fix zsh magic
2157
21582003-04-04 16:59  Christos Zoulas  <christos@astron.com>
2159
2160	* fix operand sort order in string.
2161
21622003-04-02 17:30  Christos Zoulas  <christos@astron.com>
2163
2164	* cleanup namespace in magic.h
2165
21662003-04-02 13:50  Christos Zoulas  <christos@astron.com>
2167
2168	* Magic additions (Alex Ott)
2169	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
2170
21712003-03-28 16:03  Christos Zoulas  <christos@astron.com>
2172
2173	* remove packed attribute from magic struct.
2174	* make the magic struct properly aligned.
2175	* bump version number of compiled files to 2.
2176
21772003-03-27 13:10  Christos Zoulas  <christos@astron.com>
2178
2179	* separate tar detection and run it before softmagic.
2180	* fix reversed symlink test.
2181	* fix version printing.
2182	* make separator a string instead of a char.
2183	* update manual page and sort options.
2184
21852003-03-26 11:00  Christos Zoulas  <christos@astron.com>
2186
2187	* Pass lint
2188	* make NULL in magic_file mean stdin
2189	* Fix "-" argument to file to pass NULL to magic_file
2190	* avoid pointer casts by using memcpy
2191	* rename magic_buf -> magic_buffer
2192	* keep only the first error
2193	* manual page: new sentence, new line
2194	* fix typo in api function (magic_buf -> magic_buffer)
2195