xref: /freebsd/contrib/file/ChangeLog (revision a259b98fa211ed87bfee58c575de4e2de94ee0fa)
12026-05-07  11:32  Christos Zoulas <christos@zoulas.com>
2
3	* release 5.48
4
52026-05-11  15:55 Christos Zoulas <christos@zoulas.com>
6
7	* add landlock support (valoq)
8
92026-04-19  15:55 Christos Zoulas <christos@zoulas.com>
10
11	* add BE/LE GUID
12
132026-04-17  11:05 Christos Zoulas <christos@zoulas.com>
14
15	* multiple fixes to prevent integer overflow in 32 bits (kerwin)
16
172026-04-15  12:40 Christos Zoulas <christos@zoulas.com>
18
19	* PR/745: streamout: Don't flush when trying to set negative offsets
20	          on pipes, just continue, fixes 'cat file.zip | file -'
21	* PR/753: vmihalko: Fix race is magic_getpath()
22
232026-03-11  15:14 Christos Zoulas <christos@zoulas.com>
24
25	* PR/728: Anton Monroe: Reinstate regex/c
26
272026-02-26  11:32  Christos Zoulas <christos@zoulas.com>
28
29	* release 5.47
30
312026-02-04  09:54  Christos Zoulas <christos@zoulas.com>
32	* Better multi-compound document identification by following the
33	  order of the directories entries. (Thomas Ledoux)
34
352026-01-19  14:00  Christos Zoulas <christos@zoulas.com>
36	* if stat fails, don't attempt to restore times (Steven Grubb)
37
382025-05-28  15:20  Christos Zoulas <christos@zoulas.com>
39
40	* PR/622: Odd_Bloke: Handle negative offsets in file_buffer(),
41	  when fd is not available.
42
432025-05-28  12:50  Christos Zoulas <christos@zoulas.com>
44
45	* PR/655: jsummers: Obey str_flags in strings like we do for search
46	  and regex
47	* PR/659: Pitzl: Apply MAGIC_CONTINUE to annotations; i.e. print
48	  only the first, unless -k is specified.
49
502024-12-19  14:44  Christos Zoulas <christos@zoulas.com>
51
52	* PR/592: allow + in format strings
53	* PR/592: signed operations should be done in signed context
54
552024-12-05  13:50 Christos Zoulas <christos@zoulas.com>
56
57	* PR/578: jsummers: Don't crash on cygwin when tm_mon == -1
58	* PR/579: net147: Fix stack overrun.
59
602024-11-27  14:44  Christos Zoulas <christos@zoulas.com>
61
62	* release 5.46
63	* Add OFFPOSITIVE
64
652024-11-25  13:56  Christos Zoulas <christos@zoulas.com>
66
67	* avoid leaking symbols in libmagic
68
692024-11-10  13:56  Christos Zoulas <christos@zoulas.com>
70
71	* PR/562: jsummers: Search/regex offsets are absolute to the
72	  beginning of the file, so adjust them by subtracting the
73	  offset that the "use" starts so that we don't double-count it.
74
75
762024-11-09  19:30  Christos Zoulas <christos@zoulas.com>
77 	* PR/543: matshch: bump nbuf so we can get the flags into the buffer.
78
79
802024-11-02  14:34  Christos Zoulas <christos@zoulas.com>
81
82 	* Add Android elf notes (enh)
83
842023-12-29  12:55  Christos Zoulas <christos@zoulas.com>
85
86	* Add limit for number of magic warnings allowed
87
882023-07-29  12:55  Christos Zoulas <christos@zoulas.com>
89
90	* check regex bounds (found by clusterfuzz)
91
922023-07-27  15:45  Christos Zoulas <christos@zoulas.com>
93
94	* release 5.45
95
962023-07-17  11:53  Christos Zoulas <christos@zoulas.com>
97
98	* PR/465: psrok1: Avoid muslc asctime_r crash
99
1002023-05-21  13:05  Christos Zoulas <christos@zoulas.com>
101
102	* add SIMH tape format support
103
1042023-02-09  12:50  Christos Zoulas <christos@zoulas.com>
105
106	* bump the max size of the elf section notes to be read to 128K
107	  and make it configurable
108
1092023-01-08   1:08  Christos Zoulas <christos@zoulas.com>
110
111	* PR/415: Fix decompression with program returning empty
112
1132022-12-26   1:47  Christos Zoulas <christos@zoulas.com>
114
115	* PR/408: fix -p with seccomp
116	* PR/412: fix MinGW compilation
117
1182022-12-26  12:26  Christos Zoulas <christos@zoulas.com>
119
120	* release 5.44
121
1222022-12-14   9:24  Christos Zoulas <christos@zoulas.com>
123
124	* Handle nan's so that we don't get internal floating point exceptions
125	  when they are enabled (Vincent Mihalkovic)
126
1272022-10-23  10:21  Christos Zoulas <christos@zoulas.com>
128
129	* PR/397: Restore the ability to process files from stdin immediately.
130
1312022-09-20  17:12  Christos Zoulas <christos@zoulas.com>
132
133	* fixed various clustefuzz issues
134
1352022-09-19  15:54  Christos Zoulas <christos@zoulas.com>
136
137	* Fix error detection for decompression code (Vincent Mihalkovic)
138
1392022-09-15  13:50  Christos Zoulas <christos@zoulas.com>
140
141	* Add MAGIC_NO_COMPRESS_FORK and use it to produce a more
142	  meaningful error message if we are sandboxing.
143
1442022-09-15  10:45  Christos Zoulas <christos@zoulas.com>
145
146	* Add built-in lzip decompression support (Michal Gorny)
147
1482022-09-14  10:35  Christos Zoulas <christos@zoulas.com>
149
150	* Add built-in zstd decompression support (Martin Rodriguez Reboredo)
151
1522022-09-13  14:55  Christos Zoulas <christos@zoulas.com>
153
154	* release 5.43
155
1562022-09-10   9:17  Christos Zoulas <christos@zoulas.com>
157
158	* Add octal indirect magic (Michal Gorny)
159
1602022-08-17  11:43  Christos Zoulas <christos@zoulas.com>
161
162	* PR/374: avoid infinite loop in non-wide code (piru)
163	* PR/373: Obey MAGIC_CONTINUE with multiple magic files (vismarli)
164
1652022-07-26  11:10  Christos Zoulas <christos@zoulas.com>
166
167	* Fix bug with large flist (Florian Weimer)
168
1692022-07-07  13:21  Christos Zoulas <christos@zoulas.com>
170
171        * PR/364: Detect non-nul-terminated core filenames from QEMU
172	  (mam-ableton)
173
1742022-07-04  15:45  Christos Zoulas <christos@zoulas.com>
175
176	* PR/359: Add support for http://ndjson.org/ (darose)
177	* PR/362: Fix wide printing (ro-ee)
178	* PR/358: Fix width for -f - (jpalus)
179	* PR/356: Fix JSON constant parsing (davewhite)
180
1812022-06-10   9:40  Christos Zoulas <christos@zoulas.com>
182
183	* release 5.42
184
1852022-05-31  14:50   Christos Zoulas <christos@zoulas.com>
186
187	* PR/348: add missing cases to prevent file from aborting on
188	  random magic files.
189
1902022-05-27  21:05   Christos Zoulas <christos@zoulas.com>
191
192	* PR/351: octalify filenames when not raw before printing.
193
1942022-04-18  17:51   Christos Zoulas <christos@zoulas.com>
195
196	* fix regex cacheing bug (Dirk Mueller)
197	* merge file_regcomp and file_regerror() to simplify the code
198	  and reduce memory requirements for storing regexes (Dirk Mueller)
199
2002022-03-19  12:56   Christos Zoulas <christos@zoulas.com>
201
202	* cache regex (Dirk Mueller)
203	* detect filesystem full by flushing output (Dirk Mueller)
204
2052021-11-19  12:36   Christos Zoulas <christos@zoulas.com>
206
207	* implement running decompressor programs using
208	  posix_spawnp(2) instead of vfork(2)
209
2102021-10-24  11:51   Christos Zoulas <christos@zoulas.com>
211
212	* Add support for msdos dates and times
213
2142021-10-20   9:55   Christos Zoulas <christos@zoulas.com>
215
216	* use the system byte swapping functions if available (Werner Fink)
217
2182021-10-18  11:57  Christos Zoulas <christos@zoulas.com>
219
220	* release 5.41
221
2222021-09-23  03:51  Christos Zoulas <christos@zoulas.com>
223
224	* Avinash Sonawane: Fix tzname detection
225
2262021-09-03  09:17  Christos Zoulas <christos@zoulas.com>
227
228	* Fix relationship tests with "search" magic, don't short circuit
229	  logic
230
2312021-07-13  01:06  Christos Zoulas <christos@zoulas.com>
232
233	* Fix memory leak in compile mode
234
2352021-07-01  03:51  Christos Zoulas <christos@zoulas.com>
236
237	* PR/272: kiefermat: Only set returnval = 1 when we printed something
238	  (in all cases print or !print). This simplifies the logic and fixes
239	  the issue in the PR with -k and --mime-type there was no continuation
240	  printed before the default case.
241
2422021-06-30  13:07  Christos Zoulas <christos@zoulas.com>
243
244	* PR/270: Don't translate unprintable characters in %s magic formats
245	  when -r
246	* PR/269: Avoid undefined behavior with clang (adding offset to NULL)
247
2482021-05-09  18:38  Christos Zoulas <christos@zoulas.com>
249
250	* Add a new flag (f) that requires that the match is a full word,
251	   not a partial word match.
252	* Add varint types (unused)
253
2542021-04-19  17:17  Christos Zoulas <christos@zoulas.com>
255
256	* PR/256: mutableVoid: If the file is less than 3 bytes, use the file
257	  length to determine type
258	* PR/259: aleksandr.v.novichkov: mime printing through indirect magic
259	  is not taken into account, use match directly so that it does.
260
2612021-04-04  17:02  Christos Zoulas <christos@zoulas.com>
262
263	* count the total bytes found not the total byte positions
264	  in order to determine encoding (Anatol Belski)
265
2662021-03-30  20:21  Christos Zoulas <christos@zoulas.com>
267
268	* release 5.40
269
2702021-02-05  16:31  Christos Zoulas <christos@zoulas.com>
271
272	* PR/234: Add limit to the number of bytes to scan for encoding
273	* PR/230: Fix /T (trim flag) for regex
274
2752021-02-01  12:31  Christos Zoulas <christos@zoulas.com>
276	* PR/77: Trim trailing separator.
277
2782020-12-17  15:44  Christos Zoulas <christos@zoulas.com>
279
280	* PR/211: Convert system read errors from corrupt ELF
281	  files into human readable error messages
282
2832020-12-08  16:24  Christos Zoulas <christos@zoulas.com>
284
285	* fix multithreaded decompression file descriptor issue
286	  by using close-on-exec (Denys Vlasenko)
287
2882020-06-27  11:58  Christos Zoulas <christos@zoulas.com>
289
290	* Exclude surrogate pairs from utf-8 detection (Michael Liu)
291
2922020-06-25  12:53  Christos Zoulas <christos@zoulas.com>
293
294	* Include # to the list of ignored format chars (Werner Fink)
295
2962020-06-14  20:02  Christos Zoulas <christos@zoulas.com>
297
298	* release 5.39
299
3002020-06-07  20:00  Christos Zoulas <christos@zoulas.com>
301
302	* Remove unused subtype_mime (Steve Grubb)
303	* Remove unused check in okstat (Steve Grubb)
304	* Fix mime-type in elf binaries by making sure $x is set
305	* Fix indirect negative offsets broken by OFFNEGATIVE
306	* Fix GUID equality check
307	* PR/165: Handle empty array and strings in JSON
308	* PR/162: Add --exclude-quiet
309
3102020-06-06  15:33  Christos Zoulas <christos@zoulas.com>
311
312	* Fix memory leak in ascmagic (Steve Grubb)
313
3142020-06-04  00:21  Christos Zoulas <christos@zoulas.com>
315
316	* Fix string comparison length with ignore whitespace
317
3182020-05-31  00:11  Christos Zoulas <christos@zoulas.com>
319
320	* Fix mingwin 64 compilation
321
3222020-05-30  23:56  Christos Zoulas <christos@zoulas.com>
323
324	* PR/159: whitelist getpid needed for file_pipe2file()
325
3262020-05-09  18:57  Christos Zoulas <christos@zoulas.com>
327
328	* Indicate negative offsets with a flag OFFNEGATIVE
329	  so that -0 works.
330	* Introduce "offset" magic type that can be used to
331	  detect the file size, and bail on short files.
332	* document DER better in the magic man page.
333
3342020-03-11  21:53  Christos Zoulas <christos@zoulas.com>
335
336	* fix memory leaks (SonarQube)
337
3382020-03-08  21:33  Christos Zoulas <christos@zoulas.com>
339
340	* fix memory leaks (SonarQube)
341	* rewrite confusing loops (SonarQube)
342	* fix bogus test (SonarQube)
343	* pass a sized buffer to file_fmttime() (SonarQube)
344
345	* fix memory leaks (SonarQube)
346
3472020-02-20  15:50  Christos Zoulas <christos@zoulas.com>
348
349	* Don't allow * in printf formats, or the code itself (Christoph Biedl)
350	* Introduce a printf output size checker to avoid DoS attacks
351
3522020-02-17  17:22  Christos Zoulas <christos@zoulas.com>
353
354	* Avoid memory leak on error (oss-fuzz)
355	* Check length of string on DER before derefercing and add new types
356	* Add missing DER string (oss-fuzz)
357
3582020-02-16  20:45  Christos Zoulas <christos@zoulas.com>
359
360	* Add missing DER types, and debugging
361
3622020-02-13  13:10  Christos Zoulas <christos@zoulas.com>
363
364	* PR/140: Avoid abort with hand-crafted magic file (gockelhahn)
365	* PR/139  Avoid DoS in printf with hand-crafted magic file (gockelhahn)
366	* PR/138: Avoid crash with hand-crafted magic file (gockelhahn)
367
3682020-02-12  17:30  Christos Zoulas <christos@zoulas.com>
369
370	* PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine)
371
3722019-12-24  14:16  Christos Zoulas <christos@zoulas.com>
373
374	* add guid support
375
3762019-12-16  21:11  Christos Zoulas <christos@zoulas.com>
377
378	* release 5.38
379
3802019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
381    Document changes since the previous release:
382	- Always accept -S (no sandbox) even if we don't support sandboxing
383	- More syscalls elided for sandboxing
384	- For ELF dynamic means having an interpreter not just PT_DYNAMIC
385	- Check for large ELF session header offset
386	- When saving and restoring a locale, keep the locale name in our
387	  own storage.
388	- Add a flag to disable CSV file detection.
389	- Don't pass NULL/0 to memset to appease sanitizers.
390	- Avoid spurious prints when looks for extensions or apple strings
391	  in fsmagic.
392	- Add builtin decompressors for xz and and bzip.
393	- Add a limit for the number of CDF elements.
394	- More checks for overflow in CDF.
395
3962019-05-14  22:26  Christos Zoulas <christos@zoulas.com>
397
398	* release 5.37
399
4002019-05-09  22:27  Christos Zoulas <christos@zoulas.com>
401
402	* Make sure that continuation separators are printed
403	  with -k within softmagic
404
4052019-05-06  22:27  Christos Zoulas <christos@zoulas.com>
406
407	* Change SIGPIPE saving and restoring during compression to use
408	  sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko)
409	* Cache stat(2) calls more to reduce number of calls (Denys Vlasenko)
410
4112019-05-06  17:25  Christos Zoulas <christos@zoulas.com>
412
413	* PR/77: Handle --mime-type and -k correctly.
414
4152019-05-03  15:26  Christos Zoulas <christos@zoulas.com>
416
417	* Switch decompression code to use vfork() because
418	  tools like rpmdiff and rpmbuild call libmagic
419	  with large process footprints (Denys Vlasenko)
420
4212019-04-07  14:05  Christos Zoulas <christos@zoulas.com>
422
423	* PR/75: --enable-zlib, did not work.
424
4252019-02-27  11:54  Christos Zoulas <christos@zoulas.com>
426
427	* Improve regex efficiency (Michael Schroeder) by:
428		1. Prefixing regex searches with regular search
429		   for keywords where possible
430		2. Using memmem(3) where available
431
4322019-02-20  10:16  Christos Zoulas <christos@zoulas.com>
433
434	* release 5.36
435
4362019-02-19  15:30  Christos Zoulas <christos@zoulas.com>
437
438	* Fix cast to use cast macros
439	* Add UCS-32 builtin detection (PR/61) reported by tmc
440
4412019-02-18  18:24  Christos Zoulas <christos@zoulas.com>
442
443	* Fix stack read (PR/62) and write (PR/64) stack overflows
444	  reported by spinpx
445
4462018-10-18  19:32  Christos Zoulas <christos@zoulas.com>
447
448	* release 5.35
449
4502018-09-10  20:38  Christos Zoulas <christos@zoulas.com>
451
452	* Add FreeBSD ELF core file support (John Baldwin)
453
4542018-08-20  18:40  Christos Zoulas <christos@zoulas.com>
455
456	* PR/30: Allow all parameter values to be set (don't treat 0 specially)
457	* handle default annotations on the softmagic match instead at the
458	  end.
459
4602018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
461
462	* PR/23: Recognize JSON files
463
4642018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
465
466	* PR/18: file --mime-encoding should not print mime-type
467
4682018-07-25   8:50  Christos Zoulas <christos@zoulas.com>
469
470	* release 5.34
471
4722018-06-22  16:38  Christos Zoulas <christos@zoulas.com>
473
474	* Add Quad indirect offsets
475
4762018-05-24  14:10  Christos Zoulas <christos@zoulas.com>
477
478	* Enable parsing of ELF dynamic sections to handle PIE better
479
4802018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
481
482	* release 5.33
483
4842018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
485
486	* extend the support for ${x?:} expansions for magic descriptions
487
4882018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
489
490	* add support for ${x?:} in mime types to handle
491	  pie binaries.
492
4932017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
494
495	* add support for negative offsets (offsets from the end of file)
496
4972017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
498
499	* close the file on error when writing magic (Steve Grubb)
500
5012017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
502
503	* seccomp support (Paul Moore)
504
5052017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
506
507	* release 5.32
508
5092017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
510
511	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
512
5132017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
514
515	* Fix always true condition (Thomas Jarosch)
516
5172017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
518
519	* pickier parsing of numeric values in magic files.
520
5212017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
522
523	* PR/615 add magic_getflags()
524
5252017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
526
527	* release 5.31
528
5292017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
530
531	* remove trailing spaces from magic files
532	* refactor is_tar
533	* better bounds checks for cdf
534
5352017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
536
537	* release 5.30
538
5392017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
540
541	* If we exceeded the offset in a search return no match
542	  (Christoph Biedl)
543	* Be more lenient on corrupt CDF files (Christoph Biedl)
544
5452017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
546
547	* pacify ubsan sign extension (oss-fuzz/524)
548
5492017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
550
551	* off by one in cdf parsing (PR/593)
552	* report debugging sections in elf (PR/591)
553
5542016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
555
556	* Allow @@@ in extensions
557	* Add missing overflow check in der magic (Jonas Wagner)
558
5592016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
560
561	* release 5.29
562
5632016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
564
565	* der getlength overflow (Jonas Wagner)
566	* multiple magic file load failure (Christoph Biedl)
567
5682016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
569
570	* CDF parsing improvements (Guy Helmer)
571
5722016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
573
574	* Add support for signed indirect offsets
575
5762016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
577
578	* cat /dev/null | file - should print empty (Christoph Biedl)
579
5802016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
581
582	* Bump string size from 64 to 96.
583
5842016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
585
586	* PR/556: Fix separators on annotations.
587
5882016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
589
590	* release 5.28
591	* fix leak on allocation failure
592
5932016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
594
595	* PR/555: Avoid overflow for offset > nbytes
596	* PR/550: Segv on DER parsing:
597	    - use the correct variable for length
598	    - set offset to 0 on failure.
599
6002016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
601
602	* release 5.27
603
6042016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
605
606	* Errors comparing DER entries or computing offsets
607	  are just indications of malformed non-DER files.
608	  Don't print them.
609	* Offset comparison was off-by-one.
610	* Fix compression code (Werner Fink)
611	* Put new bytes constant in the right file (not the generated one)
612
6132016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
614
615	* release 5.26
616
6172016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
618
619	* make the number of bytes read from files configurable.
620
6212016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
622
623	* Add bounds checks for DER code (discovered by Thomas Jarosch)
624	* Change indirect recursion limit to indirect use count and
625	  bump from 15 to 50 to prevent abuse.
626
6272016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
628
629	* Add -00 which prints filename\0description\0
630
6312016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
632
633	* Fix ID3 indirect parsing
634
6352016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
636
637	* add DER parsing capability
638
6392015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
640
641	* provide dprintf(3) for the OS's that don't have it.
642
6432015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
644
645	* redo the compression code report decompression errors
646
6472015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
648
649	* REG_STARTEND code is not working as expected, delete it.
650
6512015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
652
653	* Add zlib support if we have it.
654
6552015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
656
657	* PR/492: compression forking was broken with magic_buffer.
658
6592015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
660
661	* release 5.25
662
6632015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
664
665	* add a limit to the length of regex searches
666
6672015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
668
669	* fix problems with --parameter (Christoph Biedl)
670
6712015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
672
673	* Windows fixes PR/466 (Jason Hood)
674
6752015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
676
677	* release 5.24
678
6792015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
680
681	* redo long option encoding to fix off-by-one in 5.23
682
6832015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
684
685	* release 5.23
686
6872015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
688
689	* Fix issue with regex range for magic with offset
690	* Always return true from mget with USE (success to mget not match
691	  indication). Fixes mime evaluation after USE magic
692	* PR/459: Don't insert magic entries to the list if there are parsing
693	  errors for them.
694
6952015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
696
697	* PR/455: Add utf-7 encoding
698
6992015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
700
701	* PR/455: Implement -Z, look inside, but don't report on compression
702	* PR/454: Fix allocation error on bad magic.
703
7042015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
705
706	* handle MAGIC_CONTINUE everywhere, not just in softmagic
707
7082015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
709
710	* don't print descriptions for NAME types when mime.
711
7122015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
713
714	* Add --extension to list the known extensions for this file type
715	  Idea by Andrew J Roazen
716
7172015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
718
719	* Bump file search buffer size to 1M.
720
7212015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
722
723	* Fix multiple issues with date formats reported by Christoph Biedl:
724		- T_LOCAL meaning was reversed
725		- Arithmetic did not work
726	  Also stop adjusting daylight savings for gmt printing.
727
7282015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
729
730	* PR/411: Fix memory corruption from corrupt cdf file.
731
7322015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
733
734	* release 5.22
735
7362015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
737
738	* add indirect relative for TIFF/Exif
739
7402014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
741
742	* restructure elf note printing to avoid repeated messages
743	* add note limit, suggested by Alexander Cherepanov
744
7452014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
746
747	* Bail out on partial pread()'s (Alexander Cherepanov)
748	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
749
7502014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
751
752	* PR/405: ignore SIGPIPE from uncompress programs
753	* change printable -> file_printable and use it in
754	  more places for safety
755	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
756	  is present print the interpreter name.
757
7582014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
759
760	* release 5.21
761
7622014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
763
764	* Allow setting more parameters from the command line.
765	* Split name/use and indirect magic recursion limits.
766
7672014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
768
769	* Adjust ELF parameters and the default recursion
770	  level.
771	* Allow setting the recursion level dynamically.
772
7732014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
774
775	* The following fixes resulted from Thomas Jarosch's fuzzing
776	  tests that revealed severe performance issues on pathological
777	  input:
778	    - limit number of elf program and sections processing
779	    - abort elf note processing quickly
780	    - reduce the number of recursion levels from 20 to 10
781	    - preserve error messages in indirect magic handling
782
783	This is tracked as CVE-2014-8116 and CVE-2014-8117
784
7852014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
786
787	* fix bogus free in the user buffer case.
788
7892014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
790
791	* fix out of bounds read for pascal strings
792	* fix memory leak (not freeing the head of each mlist)
793
7942014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
795
796	* When printing strings from a file, convert them to printable
797	  on a byte by byte basis, so that we don't get issues with
798	  locale's trying to interpret random byte streams as UTF-8 and
799	  having printf error out with EILSEQ.
800
8012014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
802
803	* fix bounds in note reading (Francisco Alonso / Red Hat)
804
8052014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
806
807	* fix autoconf glue for setlocale and locale_t; some OS's
808	  have locale_t in xlocale.h
809
8102014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
811
812	* release 5.20
813
8142014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
815
816	* recognize encrypted CDF documents
817
8182014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
819
820	* add magic_load_buffers from Brooks Davis
821
8222014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
823
824	* add thumbs.db support
825
8262014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
827
828	* release 5.19
829
8302014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
831
832	* Misc buffer overruns and missing buffer size tests in cdf parsing
833	  (Francisco Alonso, Jan Kaluza)
834
8352014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
836
837	* Enforce limit of 8K on regex searches that have no limits
838	* Allow the l modifier for regex to mean line count. Default
839	  to byte count. If line count is specified, assume a max
840	  of 80 characters per line to limit the byte count.
841	* Don't allow conversions to be used for dates, allowing
842	  the mask field to be used as an offset.
843
8442014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
845
846	* Make the range operator limit the length of the
847	  regex search.
848
8492014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
850
851	* PR/347: Windows fixes
852	* PR/352: Hangul word processor recognition
853	* PR/354: Encoding irregularities in text files
854
8552014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
856
857	* Fix uninitialized title in CDF files (Jan Kaluza)
858
8592014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
860
861	* PR/351: Fix compilation of empty files
862
8632014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
864
865	* Fix integer formats: We don't specify 'l' or
866	  'h' and 'hh' specifiers anymore, only 'll' for
867	  quads and nothing for the rest. This is so that
868	  magic writing is simpler.
869
8702014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
871
872	* PR/341: Jan Kaluza, fix memory leak
873	* PR/342: Jan Kaluza, fix out of bounds read
874
8752014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
876
877	* Fix issue with long formats not matching fmtcheck
878
8792014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
880
881	* release 5.18
882
8832014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
884
885	* add fmtcheck(3) for those who don't have it
886
8872014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
888
889	* prevent mime entries from being attached to magic
890	  entries with no descriptions
891
892	* adjust magic strength for regex type
893
894	* remove superfluous ascmagic with encoding test
895
8962014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
897
898	* fix regression fix echo -ne "\012\013\014" | file -i -
899	  which printed "binary" instead of "application/octet-stream"
900
901	* add size_t overflow check for magic file size
902
9032014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
904
905	* experimental support for matching with CFD CLSID
906
9072014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
908
909	* Cache old LC_CTYPE locale before setting it to "C", so
910	  we can use it to restore LC_CTYPE instead of asking
911	  setlocale() to scan the environment variables.
912
9132014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
914
915	* Count recursion levels through indirect magic
916
9172014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
918
919	* Prevent infinite recursion on files with indirect offsets of 0
920
9212014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
922
923	* Add -E flag that makes file print filesystem errors to stderr
924	  and exit.
925
9262014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
927
928	* mime printing could print results from multiple magic entries
929	  if there were multiple matches.
930	* in some cases overflow was not detected when computing offsets
931	  in softmagic.
932
9332013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
934
935	* use strcasestr() to for cdf strings
936	* reset to the "C" locale while doing regex operations, or case
937	  insensitive comparisons; this is provisional
938
9392013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
940
941	* always leave magic file loaded, don't unload for magic_check, etc.
942	* fix default encoding to binary instead of unknown which broke recently
943	* handle empty and one byte files, less specially so that
944	  --mime-encoding does not break completely.
945		`
9462013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
947
948	* fix erroneous non-zero exit code from non-existent file and message
949
9502013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
951
952	* add CDF MSI file detection (Guy Helmer)
953
9542013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
955
956	* Don't mix errors and regular output if there was an error
957	* in magic_descriptor() don't close the file and try to restore
958	  its position
959
9602013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
961
962	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
963
9642013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
965
966	* Fix spacing issues in softmagic and elf (Jan Kaluza)
967
9682013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
969
970	* Fix segmentation fault with multiple magic_load commands.
971
9722013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
973
974	* The way "default" was implemented was not very useful
975	  because the "if something was printed at that level"
976	  was not easily controlled by the user, and the format
977	  was bound to a string which is too restrictive. Add
978	  a "clear" for that level keyword and make "default"
979	  void. This way one can do:
980
981		>>13	clear	x
982		>>13	lelong	1	foo
983		>>13	lelong	2	bar
984		>>13	default	x
985		>>>13	lelong	x	unknown %x
986
9872013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
988
989	* disallow strength setting in "name" entries
990
9912013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
992
993	* fix recursive magic separator printing
994
9952013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
996
997	* limit recursion level for mget
998	* fix pread() related breakage in cdf
999	* handle offsets properly in recursive "use"
1000
10012013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
1002
1003	* add elf reading of debug info to determine if file is stripped
1004	  (Jan Kaluza)
1005	* use pread()
1006
10072013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
1008
1009	* change mime description size from 64 to 80 to accommodate OOXML.
1010
10112013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
1012
1013	* Warn about inconsistent continuation levels.
1014	* Change fsmagic to add a space after it prints.
1015
10162013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
1017
1018	* Make getline public so that file can link against it.
1019	  Perhaps it is better to rename it, or hide it differently.
1020	  Fixes builds on platforms that do not provide it.
1021
10222013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
1023
1024	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
1025	  what long, int, short, etc is (Guy Harris)
1026
10272013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
1028
1029	* add magic_version function and constant
1030	* Redo memory allocation and de-allocation.
1031	  (prevents double frees on non mmap platforms)
1032	* Fix bug with name/use having to do with passing
1033	  found state from the parent to the child and back.
1034
10352012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
1036
1037	* Only print elf capabilities for archs we know (Jan Kaluza)
1038
10392012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
1040
1041	* Add "name" and "use" file types in order to look
1042	  inside mach-o files.
1043
10442012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
1045
1046	* make --version exit 0 (Matthew Schultz)
1047	* add string/T (Jan Kaluza)
1048
10492012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
1050
1051	* add z and t modifiers for our own vasprintf
1052	* search for $HOME/.magic.mgc if it is there first
1053	* fix reads from a pipe, and preserve errno
1054
10552012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
1056
1057	* use ctime_r, asctime_r
1058
10592012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
1060
1061	* Fixes for indirect offsets to handle apple disk formats
1062
10632012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
1064
1065	* Add windows date field types
1066	* More info for windows shortcuts (incomplete)
1067
10682012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
1069
1070	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
1071
10722011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
1073
1074	* Support Tilera architectures (tile64, tilepro, tilegx).
1075
10762011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
1077
1078	* Add magic for /usr/bin/env Perl scripts
1079	* Weaken generic script magic to avoid clashing with
1080	language-specific magic.
1081
10822011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
1083
1084	* Simplify if (p) free(p) to free(p).
1085
10862011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
1087
1088	* Remove hardwired token finding (names.h), turning it into soft
1089	magic. Patterns are either anchored regexs or search/8192. English
1090	language detection and PL/1 detection have been removed as they
1091	were too fragile. -e tokens is still accepted for backwards
1092	compatibility.
1093	* Move 3ds patterns (which are commented out anyway) into autodesk
1094	(they were, oddly, in c-lang).
1095
10962011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
1097
1098	* Tweak strength of generic hash-bang detectors to be less than
1099	specific ones.
1100	* Make an inconsistent description of Python scripts consistent.
1101
11022011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
1103
1104	* Fix minor error in file(1).
1105
11062011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
1107
1108	* Fix issue #150 (I hope).
1109
11102011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
1111
1112	* Python3 binding fixes from Kelly Anderson
1113
11142011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
1115
1116	* If a string type magic entry is marked as text or binary
1117	  only match text files against text entries and binary
1118	  files against binary entries.
1119
11202011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
1121
1122	* Don't wait for any subprocess, just the one we forked.
1123
11242011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
1125
1126	* If the application name is not set in a cdf file, try to see
1127	  if it has a directory with the application name on it.
1128
11292011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
1130
1131	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
1132
11332011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
1134
1135	* Don't use variable string formats.
1136
11372011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
1138
1139	* Fix detection of Zip files (Mantis #128).
1140	* Make some minor improvements to file(1).
1141	* Rename MIME types for filesystem objects for consistency with
1142	  xdg-utils. Typically this means that application/x-foo becomes
1143	  inode/foo, but some names also change slightly, e.g.
1144	  application/x-character-device becomes inode/chardevice.
1145
11462011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1147
1148	* fix mingw compilation (Abradoks)
1149
11502011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
1151
1152	* remove patchlevel.h
1153	* Fix read past allocated memory caused by double-incrementing
1154	  a pointer in a loop (reported by Roberto Maar)
1155
11562011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
1157
1158	* Fix cdf string buffer setting (Sven Anders)
1159
11602011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
1161
1162	* Eliminate MAXPATHLEN and use dynamic allocation for
1163	  path and file buffers.
1164
11652011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
1166
1167	* binary tests on magic entries with masks could spuriously
1168	  get converted to ascii.
1169
11702011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
1171
1172	* Improve file.man (remove BUGS, present email addresses consistently).
1173
11742011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
1175
1176	* add lrzip support (from Ville Skytta)
1177
11782011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
1179
1180	* fix CDF bounds checking (Guy Helmer)
1181
11822011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
1183
1184	* add cdf_ctime() that prints a meaningful error when time cannot
1185	  be converted.
1186
11872011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
1188
1189	* help and version output to stdout.
1190
1191	* When matching softmagic for ascii files, don't just print
1192	  the softmagic classification, keep going and print the
1193	  text classification too. This fixes broken troff files when
1194	  we moved them from keyword recognition to softmagic
1195	  (they stopped printing "with CRLF" etc.)
1196	  Reported by Doug McIlroy.
1197
11982011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
1199
1200	* Fix two potential buffer overruns in apprentice_list.
1201
12022011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
1203
1204	* New Python binding in pure Python.
1205	* Update libmagic(3).
1206
12072011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
1208
1209	* Fix Python bindings (including recent Python 3 compatibility
1210	  update).
1211
12122011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
1213
1214	* magic/Makefile.am: make it easier to recover from magic build failures.
1215	* Fix pstring length specifier parsing to avoid generating invalid
1216	  magic files.
1217	* Add pstring length "J" (for "JPEG") to specify that the length
1218	  include itself.
1219	* Fix JPEG comment parsing at last using pstring/HJ!
1220	* Ignore section 5 man pages in doc/.cvsignore.
1221
12222010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
1223
1224	* Add pstring/BHhLl to specify the type of the length of pascal
1225	  strings.
1226
12272010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
1228
1229	* Fix "-e soft": it was ignored when softmagic was called
1230	  during asciimagic.
1231	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
1232
12332010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
1234
1235	* Make bug reporting addresses more visible.
1236
12372010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
1238
1239	* Add tcl magic from Gustaf Neumann
1240
12412010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
1242
1243	* Fix the whitespace comparing code (Christopher Chittleborough)
1244
12452010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
1246
1247	* allow string/t to work (Jan Kaluza)
1248
12492010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
1250
1251	* Apply some patches from Ubuntu and Fedora.
1252
12532010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
1254
1255	* Apply all patches from Debian package 5.04-6 which have not
1256	  already been applied and are not Debian-specific.
1257
12582010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
1259
1260	* Minor security fix to softmagic.c (don't use untrusted
1261	  string as printf format).
1262
12632010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
1264
1265	* MINGW32 portability from LRN
1266
1267	* Don't warn about escaping magic regex chars when we are in a regex.
1268
12692010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
1270
1271	* Only try to print prpsinfo for core files. (Jan Kaluza)
1272
12732010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
1274
1275	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
1276
12772010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
1278
1279	* Clarify which sort of CDF we mean.
1280
12812010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
1282
1283	* Re-jig Zip file type magic so that unsupported special
1284	  Zip types (those with "mimetype" at offset 30) can be
1285	  recognized.
1286
12872010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
1288
1289	* Add support for OCF (EPUB) files (application/epub+zip)
1290
12912010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
1292
1293	* Fix core-dump from unbound loop:
1294	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
1295
12962010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
1297
1298	* print proper mime for crystal reports file
1299
1300	* print the last summary information of a cdf document, not the
1301	  first so that nested documents print the right info
1302
13032010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
1304
1305	* bring back some fixes from OpenBSD:
1306		- make gcc2 builds file
1307		- fix typos in a magic file comment
1308
13092009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
1310
1311	* ctime/asctime can return NULL on some OS's although
1312	  they should not (Toshit Antani)
1313
13142009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
1315
1316	* Centralize magic path handling routines and remove the
1317	  special-casing from file.c so that the python module for
1318	  example comes up with the same magic path (Fixes ~/.magic
1319	  handling) (from Gab)
1320
13212009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
1322
1323	* When magic argument is a directory, read the files in
1324	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
1325
13262009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
1327
1328	* Combine overlapping epoc and psion magic files into one (epoc).
1329
1330	* Add some more EPOC MIME types.
1331
13322009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
1333
1334	* Fix 3 bugs (From Ian Darwin):
1335	    - file_showstr could move one past the end of the array
1336	    - parse_apple did not nul terminate the string in the overflow case
1337	    - parse_mime truncated the wrong string in the overflow case
1338
13392009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
1340
1341	* Include Localstuff when compiling magic.
1342
13432009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
1344
1345	* Fix logic for including mygetopts.h
1346
1347	* Make cdf.c compile again with debugging
1348
1349	* Add the necessary field handling for crystal reports files to work
1350
13512009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
1352
1353	* Stop "(if" identifying Lisp files, that's plain dumb!
1354
13552009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
1356
1357	* Add a couple of missing MP3 MIME types.
1358
13592009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
1360
1361	* Add full range of hash-bang tests for Python and Ruby.
1362
1363	* Add MIME types for Python and Ruby scripts.
1364
13652009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
1366
1367	* off by one in parsing hw capabilities in elf
1368	  (Cheng Renquan)
1369
13702009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
1371
1372	* lint fixes and more from NetBSD
1373
13742009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
1375
1376	* Avoid null dereference in cdf code (Drew Yao)
1377
1378	* More cdf bounds checks and overflow checks
1379
13802009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
1381
1382	* Buffer overflow fixes from Drew Yao
1383
13842009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
1385
1386	* Fix more cdf lossage. All the documents I have
1387	  right now print the correct information.
1388
13892009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
1390
1391	* don't print \012- separators in the same magic entry
1392	  if it consists of multiple magic printing lines.
1393
13942009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
1395
1396	* Avoid file descriptor leak in compress code from
1397	  (Daniel Novotny)
1398
13992009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
1400
1401	* Allow escaping of relation characters, so that we can say \^[A-Z]
1402	  and the ^ is not eaten as a relation char.
1403
1404	* Fix troff and fortran to their previous glory using
1405	  regex. This was broken since their removel from ascmagic.
1406
14072009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
1408
1409	* don't use strlen in strndup() (Toby Peterson)
1410
14112009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
1412
1413	* avoid c99 syntax.
1414
14152009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
1416
1417	* make the cdf code use the buffer first if available,
1418	  and then the fd code.
1419
14202009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
1421
1422	* look for struct option to determine if getopt.h is usable for IRIX.
1423
1424	* sanitize cdf document strings
1425
14262009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
1427
1428	* fix OS/2 warnings.
1429
14302008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
1431
1432	* fix initial offset calculation for non 4K sector files
1433
1434	* add loop limits to avoid DoS attacks by constructing
1435	  looping sector references.
1436
14372008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
1438
1439	* fix memory botches on cdf file parsing.
1440
1441	* exit with non-zero value for any error, not just for the last
1442	  file processed.
1443
14442008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
1445
1446	* Replace all str{cpy,cat} functions with strl{cpy,cat}
1447	* Ensure that strl{cpy,cat} are included in libmagic,
1448	  as needed.
1449
14502008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
1451
1452	* Handle ID3 format files.
1453
14542008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
1455
1456	* Fix --mime, --mime-type and --mime-encoding under new scheme.
1457
1458	* Rename "ascii" to "text" and add "encoding" test.
1459
1460	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
1461	  UTF-16.
1462
1463	* Fix error in comment caused by automatic indentation adding
1464	  words!
1465
14662008-11-06 10:35  Christos Zoulas <christos@astron.com>
1467
1468	* use memchr instead of strchr because the string
1469	  might not be NUL terminated (Scott MacVicar)
1470
14712008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
1472
1473	* Fix a printf with a non-literal format string.
1474
1475	* Fix formatting and punctuation of help for "--apple".
1476
14772008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
1478
1479	* Correct words counts in comments of struct magic.
1480
1481	* Fix handle_annotation to allow both Apple and MIME types to be
1482	  printed, and to return correct code if MIME type is
1483	  printed (1, not 0) or if there's an error (-1 not 1).
1484
1485	* Fix output of charset for MIME type (precede with semi-colon;
1486	  fixes Debian bug #501460).
1487
1488	* Fix potential attacks via conversion specifications in magic
1489	  strings.
1490
1491	* Add a FIXME for Debian bug #488562 (magic files should be
1492	  read in a defined order, by sorting the names).
1493
14942008-10-18 16:45  Christos Zoulas <christos@astron.com>
1495
1496	* Added APPLE file creator/type
1497
14982008-10-12 10:20  Christos Zoulas <christos@astron.com>
1499
1500	* Added CDF parsing
1501
15022008-10-09 16:40  Christos Zoulas <christos@astron.com>
1503
1504	* filesystem and msdos patches (Joerg Jenderek)
1505
15062008-10-09 13:20  Christos Zoulas <christos@astron.com>
1507
1508	* correct --exclude documentation issues: remove troff and fortran
1509	  and rename "token" to "tokens". (Randy McMurchy)
1510
15112008-10-01 10:30  Christos Zoulas <christos@astron.com>
1512
1513	* Read ~/.magic in addition to the default magic file not instead
1514	  of, as documented in the man page.
1515
15162008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1517
1518	* Comment out graphviz patterns, as they match too many files.
1519
15202008-08-30 12:54  Christos Zoulas <christos@astron.com>
1521
1522	* Don't eat trailing \n in magic enties.
1523
1524	* Cast defines to allow compilation using a c++ compiler.
1525
15262008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1527
1528	* Add text/x-lua MIME type for Lua scripts.
1529
1530	* Escape { in regex in graphviz patterns.
1531
15322008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1533
1534	* Add MIME types for special files.
1535
1536	* Use access to give more accurate information for files that
1537	  can't be opened.
1538
1539	* Add a TODO list.
1540
15412008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1542
1543	* add !:strength op to adjust magic strength (experimental)
1544
15452008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1546
1547	* Fix automake error in configure.ac.
1548
1549	* Add MIME type for Psion Sketch files.
1550
15512008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1552
1553	* Don't print warnings about bad namesize in stripped
1554	  binaries with PT_NOTE is still there, and the actual
1555	  note is gone (Jakub Jelinek)
1556
15572008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1558
1559	* magic/Magdir/elf:
1560	  Note invalid byte order for little-endian SPARC32PLUS.
1561	  Add SPARC V9 vendor extensions and memory model.
1562
1563	* src/elfclass.h:
1564	  Pass target machine to doshn (for Solaris hardware capabilities).
1565
1566	* src/readelf.c (doshn):
1567	  Add support for Solaris hardware/software capabilities.
1568
1569	* src/readelf.h:
1570	  Ditto.
1571
1572	* src/vasprintf.c (dispatch):
1573	  Add support for ll modifier.
1574
15752008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1576
1577	* Fix compiler warnings.
1578
1579	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1580
15812008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1582
1583	* src/Makefile.am:
1584	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1585	  as needed.
1586
1587	  Remove unnecessary EXTRA_DIST.
1588
1589	* src/Makefile.in:
1590	  Rerun automake.
1591
1592	* src/vasprintf.c (dispatch):
1593	  Fix variable precision bug: be sure to step past '*'.
1594
1595	* src/vasprintf.c (core):
1596	  Remove unreachable code.
1597
1598	* src/apprentice.c (set_test_type):
1599	  Add cast to avoid compiler warning.
1600
16012008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1602
1603	* Add magic submission guidelines (Abel Cheung)
1604
1605	* split msdos and windows magic (Abel Cheung)
1606
16072008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1608
1609	* >= <= is not supported, so fix the magic and warn about it.
1610	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1611
16122008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1613
1614	* src/readelf.c (donote):
1615	  ELF core file command name/line bug fixes and enhancements:
1616
1617	  Try larger offsets first to avoid false matches
1618	  from earlier data that happen to look like strings;
1619	  this primarily affected SunOS 5.x 32-bit Intel core files.
1620
1621	  Add support for command line (instead of just short name)
1622	  for SunOS 5.x.
1623
1624	  Add information about NT_PSINFO for SunOS 5.x.
1625
1626	  Only trim whitespace from end of command line.
1627
16282007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1629
1630	* Change strength of ! from MULT to 0, as it matches almost
1631		  anything (Reuben Thomas)
1632
1633	* Debian fixes (Reuben Thomas)
1634
16352007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1636
1637	* Clarify UTF-8 BOM message (Reuben Thomas)
1638
1639	* Add HTML comment to token list in names.h
1640
16412007-02-04 15:50 Christos Zoulas <christos@astron.com>
1642
1643	* Debian fixes (Reuben Thomas)
1644
16452007-02-04 11:31 Christos Zoulas <christos@astron.com>
1646
1647	* !:mime annotations in magic files (Reuben Thomas)
1648
16492007-01-29 15:35 Christos Zoulas <christos@astron.com>
1650
1651	* zero out utime/utimes structs (Gavin Atkinson)
1652
16532007-01-26 13:45 Christos Zoulas <christos@astron.com>
1654
1655	* reduce writable data from Diego "Flameeyes" Petten
1656
16572007-12-28 15:06 Christos Zoulas <christos@astron.com>
1658
1659	* strtof detection
1660
1661	* remove bogus regex magic that could cause a DoS
1662
1663	* better mismatch version message
1664
16652007-12-27 11:35 Christos Zoulas <christos@astron.com>
1666
1667	* bring back some fixes from OpenBSD
1668
1669	* treat ELF dynamic objects as executables
1670
1671	* fix gcc warnings
1672
16732007-12-01 19:55 Christos Zoulas <christos@astron.com>
1674
1675	* make sure we have zlib.h and libz to compile the builtin
1676	  decompress code
1677
16782007-10-28 20:48 Christos Zoulas <christos@astron.com>
1679
1680 	* float and double magic support (Behan Webster)
1681
16822007-10-28 20:48 Christos Zoulas <christos@astron.com>
1683
1684	* Convert fortran to a soft test (Reuben Thomas)
1685
16862007-10-23  5:25 Christos Zoulas <christos@astron.com>
1687
1688	* Add --with-filename, and --no-filename (Reuben Thomas)
1689
16902007-10-23  3:59 Christos Zoulas <christos@astron.com>
1691
1692	* Rest of the mime split (Reuben Thomas)
1693
1694	* Make usage message generated from the flags so that
1695	  they stay consistent (Reuben Thomas)
1696
16972007-10-20  3:06 Christos Zoulas <christos@astron.com>
1698
1699	* typo in comment, missing ifdef QUICK, remove unneeded code
1700		(Charles Longeau)
1701
17022007-10-17  3:33 Christos Zoulas <christos@astron.com>
1703
1704	* Fix problem printing -\012 in some entries
1705
1706	* Separate magic type and encoding flags (Reuben Thomas)
1707
17082007-10-09  3:55 Christos Zoulas <christos@astron.com>
1709
1710	* configure fix for int64 and strndup (Reuben Thomas)
1711
17122007-09-26  4:45 Christos Zoulas <christos@astron.com>
1713
1714	* Add magic_descriptor() function.
1715
1716	* Fix regression in elf reading code where the core name was
1717	  not being printed.
1718
1719	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1720
17212007-08-19  6:30 Christos Zoulas <christos@astron.com>
1722
1723	* Make mime format consistent so that it can
1724	  be easily parsed:
1725	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1726
1727	  Remove spurious extra text from some MIME type printouts
1728	  (mostly in is_tar).
1729
1730	  Fix one case where -i produced nothing at all (for a 1-byte file,
1731	  which is now classed as application/octet-stream).
1732
1733	  Remove 7/8bit classifications, since they were arbitrary
1734	  and not based on the file data.
1735
1736	  This work was done by Reuben Thomas
1737
17382007-05-24 10:00 Christos Zoulas <christos@astron.com>
1739
1740	* Fix another integer overflow (Colin Percival)
1741
17422007-03-26 13:58 Christos Zoulas <christos@astron.com>
1743
1744	* make sure that all of struct magic_set is initialized appropriately
1745	  (Brett)
1746
17472007-03-25 17:44 Christos Zoulas <christos@astron.com>
1748
1749	* reset left bytes in the buffer (Dmitry V. Levin)
1750
1751	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1752	  (Peter Avalos)
1753
17542007-03-15 10:51 Christos Zoulas <christos@astron.com>
1755
1756	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1757
1758	* fix exclude option (Dmitry V. Levin)
1759
17602007-02-08 17:30 Christos Zoulas <christos@astron.com>
1761
1762	* fix integer underflow in file_printf which can lead to
1763	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1764
17652007-02-05 11:35 Christos Zoulas <christos@astron.com>
1766
1767	* make socket/pipe reading more robust
1768
17692007-01-25 16:01 Christos Zoulas <christos@astron.com>
1770
1771	* Centralize all the tests in file_buffer.
1772
1773	* Add exclude flag.
1774
17752007-01-18 05:29 Anon Ymous <do@not.spam.me>
1776
1777	* Move the "type" detection code from parse() into its own table
1778	  driven routine.  This avoids maintaining multiple lists in
1779	  file.h.
1780
1781	* Add an optional conditional field (ust before the type field).
1782	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1783	  likely to go away.
1784
17852007-01-16 23:24 Anon Ymous <do@not.spam.me>
1786
1787	* Fix an initialization bug in check_mem().
1788
17892007-01-16 14:58 Anon Ymous <do@not.spam.me>
1790
1791	* Add a "default" type to print a message if nothing previously
1792	  matched at that level or since the last default at that
1793	  level.  This is useful for setting up switch-like statements.
1794	  It can also be used to do if/else constructions without a
1795	  redundant second test.
1796
1797	* Fix the "x" special case test so that one can test for that
1798	  string with "=x".
1799
1800	* Allow "search" to search the entire buffer if the "/N"
1801	  search count is missing.
1802
1803	* Make "regex" work!  It now starts its search at the
1804	  specified offset and takes an (optional) "/N" line count to
1805	  specify the search range; otherwise it searches to the end
1806	  of the file.  The match is now grabbed correctly for format
1807	  strings and the offset set to the end of the match.
1808
1809	* Add a "/s" flag to "regex" and "search" to set the offset to
1810	  the start of the match.  By default the offset is set to the
1811	  end of the match, as it is with other tests.  This is mostly
1812	  useful for "regex".
1813
1814	* Make "search", "string" and "pstring" use the same
1815	  file_strncmp() routine so that they support the same flags;
1816	  "bestring16" and "lestring16" call the same routine, but
1817	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1818	  to ignore the case on uppercase (lowercase) characters in
1819	  the test string.
1820
1821	* Strict adherence to C style string escapes.  A warnings are
1822	  printed when compiling.  Note: previously "\a" was
1823	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1824	  BELL, typically 0x07).
1825
1826	* Make this compile with "-Wall -Wextra" and all the warning
1827	  flags used with WARNS=4 in the NetBSD source.  Also make it
1828	  pass lint.
1829
1830	* Many "cleanups" and hopefully not too many new bugs!
1831
18322007-01-16 14:56 Anon Ymous <do@not.spam.me>
1833
1834	* make several more files compile with gcc warnings
1835	  on and also make them pass lint.
1836
18372007-01-16 14:54 Anon Ymous <do@not.spam.me>
1838
1839	* fix a puts()/putc() usage goof in file.c
1840
1841	* make file.c compile with gcc warnings and pass lint
1842
18432006-12-11 16:49 Christos Zoulas <christos@astron.com>
1844
1845	* fix byteswapping issue
1846
1847	* report the number of bytes we tried to
1848	  allocate when allocation fails
1849
1850	* add a few missed cases in the strength routine
1851
18522006-12-08 16:32 Christos Zoulas <christos@astron.com>
1853
1854	* store and print the line number of the magic
1855	  entry for debugging.
1856
1857	* if the magic entry did not print anything,
1858	  don't treat it as a match
1859
1860	* change the magic strength algorithm to take
1861	  into account the relationship op.
1862
1863	* fix a bug in search where we could accidentally
1864	  return a match.
1865
1866	* propagate the error return from match to
1867	  file_softmagic.
1868
18692006-11-25 13:35 Christos Zoulas <christos@astron.com>
1870
1871	* Don't store the current offset in the magic
1872	  struct, because it needs to be restored and
1873	  it was not done properly all the time. Bug
1874	  found by: Arkadiusz Miskiewicz
1875
1876	* Fix problem in the '\0' separator; and don't
1877	  print it as an additional separator; print
1878	  it as the only separator.
1879
18802006-11-17 10:51 Christos Zoulas <christos@astron.com>
1881
1882	* Added a -0 option to print a '\0' separator
1883	  Etienne Buira <etienne.buira@free.fr>
1884
18852006-10-31 15:14 Christos Zoulas <christos@astron.com>
1886
1887	* Check offset before copying (Mike Frysinger)
1888
1889	* merge duplicated code
1890
1891	* add quad date support
1892
1893	* make sure that we nul terminate desc (Ryoji Kanai)
1894
1895	* don't process elf notes multiple times
1896
1897	* allow -z to report empty compressed files
1898
1899	* use calloc to initialize the ascii buffers (Jos van den Oever)
1900
19012006-06-08 11:11 Christos Zoulas <christos@astron.com>
1902
1903	* QNX fixes (Mike Gorchak)
1904
1905	* Add quad support.
1906
1907	* FIFO checks (Dr. Werner Fink)
1908
1909	* Linux ELF fixes (Dr. Werner Fink)
1910
1911	* Magic format checks (Dr. Werner Fink)
1912
1913	* Magic format function improvement (Karl Chen)
1914
19152006-05-03 11:11 Christos Zoulas <christos@astron.com>
1916
1917	* Pick up some elf changes and some constant fixes from SUSE
1918
1919	* Identify gnu tar vs. posix tar
1920
1921	* When keep going, don't print spurious newlines (Radek Vokal)
1922
19232006-04-01 12:02 Christos Zoulas <christos@astron.com>
1924
1925	* Use calloc instead of malloc (Mike Frysinger)
1926
1927	* Fix configure script to detect wctypes.h (Mike Frysinger)
1928
19292006-03-02 16:06 Christos Zoulas <christos@astron.com>
1930
1931	* Print empty if the file is (Mike Frysinger)
1932
1933	* Don't try to read past the end of the buffer (Mike Frysinger)
1934
1935	* Sort magic entries by strength [experimental]
1936
19372005-11-29 13:26 Christos Zoulas <christos@astron.com>
1938
1939	* Use iswprint() to convert the output string.
1940	    (Bastien Nocera)
1941
19422005-10-31 8:54 Christos Zoulas <christos@astron.com>
1943
1944	* Fix regression where the core info was not completely processed
1945	    (Radek Vokal)
1946
19472005-10-20 11:15 Christos Zoulas <christos@astron.com>
1948
1949	* Middle Endian magic (Diomidis Spinellis)
1950
19512005-10-17 11:15 Christos Zoulas <christos@astron.com>
1952
1953	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1954
1955	* Don't close stdin (Arkadiusz Miskiewicz)
1956
1957	* Look for note sections in non executables.
1958
19592005-09-20 13:33 Christos Zoulas <christos@astron.com>
1960
1961	* Don't print SVR4 Style in core files multiple times
1962	    (Radek Vokal)
1963
19642005-08-27 04:09 Christos Zoulas <christos@astron.com>
1965
1966	* Cygwin changes Corinna Vinschen
1967
19682005-08-18 09:53 Christos Zoulas <christos@astron.com>
1969
1970	* Remove erroreous mention of /etc/magic in the file man page
1971	  This is gentoo bug 101639. (Mike Frysinger)
1972
1973	* Cross-compile support and detection (Mike Frysinger)
1974
19752005-08-12 10:17 Christos Zoulas <christos@astron.com>
1976
1977	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1978	  is set.
1979
19802005-07-29 13:57 Christos Zoulas <christos@astron.com>
1981
1982	* Avoid search and regex buffer overflows (Kelledin)
1983
19842005-07-12 11:48 Christos Zoulas <christos@astron.com>
1985
1986	* Provide stub implementations for {v,}nsprintf() for older
1987	  OS's that don't have them.
1988	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1989	  to AC_TYPE_MBSTATE_T.
1990
19912005-06-25 11:48 Christos Zoulas <christos@astron.com>
1992
1993	* Dynamically allocate the string buffers and make the
1994	  default read size 256K.
1995
19962005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1997
1998	* Dragonfly ELF note support
1999
20002005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
2001
2002	* Avoid NULL pointer dereference in time conversion.
2003
20042005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
2005
2006	* Add indirect magic offset support, and search mode.
2007
20082005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
2009
2010	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
2011	  If a CRLF text file happens to have CR at offset HOWMANY - 1
2012	  (currently 0xffff), it should not be counted as CR line
2013	  terminator.
2014	  If a line has length exactly MAXLINELEN, it should not yet be
2015	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
2016	  line length''.
2017	  With CRLF, the line length was not computed correctly, and even
2018	  lines of length MAXLINELEN - 1 were treated as ``very long''.
2019
20202004-12-07 14:15  Christos Zoulas  <christos@astron.com>
2021
2022	* bzip2 needs a lot of input buffer space on some files
2023	  before it can begin uncompressing. This makes file -z
2024	  fail on some bz2 files. Fix it by giving it a copy of
2025	  the file descriptor to read as much as it wants if we
2026	  have access to it. <christos@astron.com>
2027
20282004-11-24 12:39  Christos Zoulas  <christos@astron.com>
2029
2030	* Stack smash fix, and ELF more conservative reading.
2031	  Jakub Bogusz <qboosh@pld-linux.org>
2032
20332004-11-20 18:50  Christos Zoulas  <christos@astron.com>
2034
2035	* New FreeBSD version parsing code:
2036	  Jon Noack <noackjr@alumni.rice.edu>
2037
2038	* Hackish support for ucs16 strings <christos@astron.com>
2039
20402004-11-13 03:07  Christos Zoulas  <christos@astron.com>
2041
2042	* print the file name and line number in syntax errors.
2043
20442004 10-12 10:50  Christos Zoulas  <christos@astron.com>
2045
2046	* Fix stack overwriting on 0 length strings: Tim Waugh
2047	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
2048
20492004-09-27 11:30  Christos Zoulas  <christos@astron.com>
2050
2051	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
2052
2053	* Fix small memory leaks; caught by: Tamas Sarlos
2054	    <stamas@csillag.ilab.sztaki.hu>
2055
20562004-07-24 16:33  Christos Zoulas  <christos@astron.com>
2057
2058	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
2059
2060	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
2061
2062	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
2063
2064  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
2065
20662004-04-12 10:55  Christos Zoulas  <christos@astron.com>
2067
2068	* make sure that magic formats match magic types during compilation
2069
2070	* fix broken sgi magic file
2071
20722004-04-06 20:36  Christos Zoulas  <christos@astron.com>
2073
2074	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
2075
2076	* magic fixes
2077
20782004-03-22 15:25  Christos Zoulas  <christos@astron.com>
2079
2080	* Lots of mime fixes
2081	  (Joerg Ostertag) <ostertag@rechengilde.de>
2082
2083	* FreeBSD ELF version handling
2084	  (Edwin Groothuis) <edwin@mavetju.org>
2085
2086	* correct cleanup in all cases; don't just close the file.
2087	  (Christos Zoulas) <christos@astron.com>
2088
2089	* add gettext message catalogue support
2090	  (Michael Piefel) <piefel@debian.org>
2091
2092	* better printout for unreadable files
2093	  (Michael Piefel) <piefel@debian.org>
2094
2095	* compensate for missing MAXPATHLEN
2096	  (Michael Piefel) <piefel@debian.org>
2097
2098	* add wide character string length computation
2099	  (Michael Piefel) <piefel@debian.org>
2100
2101	* Avoid infinite loops caused by bad elf alignments
2102	  or name and description note sizes. Reported by
2103	  (Mikael Magnusson) <mmikael@comhem.se>
2104
21052004-03-09 13:55  Christos Zoulas  <christos@astron.com>
2106
2107	* Fix possible memory leak on error and add missing regfree
2108	  (Dmitry V. Levin) <ldv@altlinux.org>
2109
21102003-12-23 12:12  Christos Zoulas  <christos@astron.com>
2111
2112	* fix -k flag (Maciej W. Rozycki)
2113
21142003-11-18 14:10  Christos Zoulas  <christos@astron.com>
2115
2116	* Try to give us much info as possible on corrupt elf files.
2117	  (Willy Tarreau) <willy@w.ods.org>
2118	* Updated python bindings (Brett Funderburg)
2119	   <brettf@deepfile.com>
2120
21212003-11-11 15:03  Christos Zoulas  <christos@astron.com>
2122
2123	* Include file.h first, because it includes config.h
2124	  breaks largefile test macros otherwise.
2125	  (Paul Eggert <eggert@CS.UCLA.EDU> via
2126	   Lars Hecking <lhecking@nmrc.ie>)
2127
21282003-10-14 21:39  Christos Zoulas  <christos@astron.com>
2129
2130	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
2131	* Don't lookup past the end of the buffer
2132	  (Chad Hanson) <chanson@tcs-sec.com>
2133	* Add MAGIC_ERROR and api on magic_errno()
2134
21352003-10-08 12:40  Christos Zoulas  <christos@astron.com>
2136
2137	* handle error conditions from compile as fatal
2138	  (Antti Kantee) <pooka@netbsd.org>
2139	* handle magic filename parsing sanely
2140	* more magic fixes.
2141	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
2142	* describe magic file handling
2143	  (Bryan Henderson) <bryanh@giraffe-data.com>
2144
21452003-09-12 15:09  Christos Zoulas  <christos@astron.com>
2146
2147	* update magic files.
2148	* remove largefile support from file.h; it breaks things on most OS's
2149
21502003-08-10 10:25  Christos Zoulas  <christos@astron.com>
2151
2152	* fix unmapping'ing of mmaped files.
2153
21542003-07-10 12:03  Christos Zoulas  <christos@astron.com>
2155
2156	* don't exit with -1 on error; always exit 1 (Marty Leisner)
2157	* restore utimes code.
2158
21592003-06-10 17:03  Christos Zoulas  <christos@astron.com>
2160
2161	* make sure we don't access uninitialized memory.
2162	* pass lint
2163	* #ifdef __cplusplus in magic.h
2164
21652003-05-25 19:23  Christos Zoulas  <christos@astron.com>
2166
2167	* rename cvs magic file to revision to deal with
2168	  case insensitive filesystems.
2169
21702003-05-23 17:03  Christos Zoulas  <christos@astron.com>
2171
2172	* documentation fixes from Michael Piefel <piefel@debian.org>
2173	* magic fixes (various)
2174	* revert basename magic in .mgc name determination
2175	* buffer protection in uncompress,
2176	  signness issues,
2177	  close files
2178	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
2179
21802003-04-21 20:12  Christos Zoulas  <christos@astron.com>
2181
2182	* fix zsh magic
2183
21842003-04-04 16:59  Christos Zoulas  <christos@astron.com>
2185
2186	* fix operand sort order in string.
2187
21882003-04-02 17:30  Christos Zoulas  <christos@astron.com>
2189
2190	* cleanup namespace in magic.h
2191
21922003-04-02 13:50  Christos Zoulas  <christos@astron.com>
2193
2194	* Magic additions (Alex Ott)
2195	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
2196
21972003-03-28 16:03  Christos Zoulas  <christos@astron.com>
2198
2199	* remove packed attribute from magic struct.
2200	* make the magic struct properly aligned.
2201	* bump version number of compiled files to 2.
2202
22032003-03-27 13:10  Christos Zoulas  <christos@astron.com>
2204
2205	* separate tar detection and run it before softmagic.
2206	* fix reversed symlink test.
2207	* fix version printing.
2208	* make separator a string instead of a char.
2209	* update manual page and sort options.
2210
22112003-03-26 11:00  Christos Zoulas  <christos@astron.com>
2212
2213	* Pass lint
2214	* make NULL in magic_file mean stdin
2215	* Fix "-" argument to file to pass NULL to magic_file
2216	* avoid pointer casts by using memcpy
2217	* rename magic_buf -> magic_buffer
2218	* keep only the first error
2219	* manual page: new sentence, new line
2220	* fix typo in api function (magic_buf -> magic_buffer)
2221