xref: /freebsd/contrib/file/ChangeLog (revision f7c32ed617858bcd22f8d1b03199099d50125721)
12020-06-14  20:02  Christos Zoulas <christos@zoulas.com>
2
3	* release 5.39
4
52020-06-07  20:00  Christos Zoulas <christos@zoulas.com>
6
7	* Remove unused subtype_mime (Steve Grubb)
8	* Remove unused check in okstat (Steve Grubb)
9	* Fix mime-type in elf binaries by making sure $x is set
10	* Fix indirect negative offsets broken by OFFNEGATIVE
11	* Fix GUID equality check
12	* PR/165: Handle empty array and strings in JSON
13	* PR/162: Add --exclude-quiet
14
152020-06-06  15:33  Christos Zoulas <christos@zoulas.com>
16
17	* Fix memory leak in ascmagic (Steve Grubb)
18
192020-06-04  00:21  Christos Zoulas <christos@zoulas.com>
20
21	* Fix string comparison length with ignore whitespace
22
232020-05-31  00:11  Christos Zoulas <christos@zoulas.com>
24
25	* Fix mingwin 64 compilation
26
272020-05-30  23:56  Christos Zoulas <christos@zoulas.com>
28
29	* PR/159: whitelist getpid needed for file_pipe2file()
30
312020-05-09  18:57  Christos Zoulas <christos@zoulas.com>
32
33	* Indicate negative offsets with a flag OFFNEGATIVE
34	  so that -0 works.
35	* Introduce "offset" magic type that can be used to
36	  detect the file size, and bail on short files.
37	* document DER better in the magic man page.
38
392020-03-11  21:53  Christos Zoulas <christos@zoulas.com>
40
41	* fix memory leaks (SonarQube)
42
432020-03-08  21:33  Christos Zoulas <christos@zoulas.com>
44
45	* fix memory leaks (SonarQube)
46	* rewrite confusing loops (SonarQube)
47	* fix bogus test (SonarQube)
48	* pass a sized buffer to file_fmttime() (SonarQube)
49
50	* fix memory leaks (SonarQube)
51
522020-02-20  15:50  Christos Zoulas <christos@zoulas.com>
53
54	* Don't allow * in printf formats, or the code itself (Christoph Biedl)
55	* Introduce a printf output size checker to avoid DoS attacks
56
572020-02-17  17:22  Christos Zoulas <christos@zoulas.com>
58
59	* Avoid memory leak on error (oss-fuzz)
60	* Check length of string on DER before derefercing and add new types
61	* Add missing DER string (oss-fuzz)
62
632020-02-16  20:45  Christos Zoulas <christos@zoulas.com>
64
65	* Add missing DER types, and debugging
66
672020-02-13  13:10  Christos Zoulas <christos@zoulas.com>
68
69	* PR/140: Avoid abort with hand-crafted magic file (gockelhahn)
70	* PR/139  Avoid DoS in printf with hand-crafted magic file (gockelhahn)
71	* PR/138: Avoid crash with hand-crafted magic file (gockelhahn)
72
732020-02-12  17:30  Christos Zoulas <christos@zoulas.com>
74
75	* PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine)
76
772019-12-24  14:16  Christos Zoulas <christos@zoulas.com>
78
79	* add guid support
80
812019-12-16  21:11  Christos Zoulas <christos@zoulas.com>
82
83	* release 5.38
84
852019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
86    Document changes since the previous release:
87	- Always accept -S (no sandbox) even if we don't support sandboxing
88	- More syscalls elided for sandboxiing
89	- For ELF dynamic means having an interpreter not just PT_DYNAMIC
90	- Check for large ELF session header offset
91	- When saving and restoring a locale, keep the locale name in our
92	  own storage.
93	- Add a flag to disable CSV file detection.
94	- Don't pass NULL/0 to memset to appease sanitizers.
95	- Avoid spurious prints when looks for extensions or apple strings
96	  in fsmagic.
97	- Add builtin decompressors for xz and and bzip.
98	- Add a limit for the number of CDF elements.
99	- More checks for overflow in CDF.
100
1012019-05-14  22:26  Christos Zoulas <christos@zoulas.com>
102
103	* release 5.37
104
1052019-05-09  22:27  Christos Zoulas <christos@zoulas.com>
106
107	* Make sure that continuation separators are printed
108	  with -k within softmagic
109
1102019-05-06  22:27  Christos Zoulas <christos@zoulas.com>
111
112	* Change SIGPIPE saving and restoring during compression to use
113	  sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko)
114	* Cache stat(2) calls more to reduce number of calls (Denys Vlasenko)
115
1162019-05-06  17:25  Christos Zoulas <christos@zoulas.com>
117
118	* PR/77: Handle --mime-type and -k correctly.
119
1202019-05-03  15:26  Christos Zoulas <christos@zoulas.com>
121
122	* Switch decompression code to use vfork() because
123	  tools like rpmdiff and rpmbuild call libmagic
124	  with large process footprints (Denys Vlasenko)
125
1262019-04-07  14:05  Christos Zoulas <christos@zoulas.com>
127
128	* PR/75: --enable-zlib, did not work.
129
1302019-02-27  11:54  Christos Zoulas <christos@zoulas.com>
131
132	* Improve regex efficiency (Michael Schroeder) by:
133		1. Prefixing regex searches with regular search
134		   for keywords where possible
135		2. Using memmem(3) where available
136
1372019-02-20  10:16  Christos Zoulas <christos@zoulas.com>
138
139	* release 5.36
140
1412019-02-19  15:30  Christos Zoulas <christos@zoulas.com>
142
143	* Fix cast to use cast macros
144	* Add UCS-32 builtin detection (PR/61) reported by tmc
145
1462019-02-18  18:24  Christos Zoulas <christos@zoulas.com>
147
148	* Fix stack read (PR/62) and write (PR/64) stack overflows
149	  reported by spinpx
150
1512018-10-18  19:32  Christos Zoulas <christos@zoulas.com>
152
153	* release 5.35
154
1552018-09-10  20:38  Christos Zoulas <christos@zoulas.com>
156
157	* Add FreeBSD ELF core file support (John Baldwin)
158
1592018-08-20  18:40  Christos Zoulas <christos@zoulas.com>
160
161	* PR/30: Allow all parameter values to be set (don't treat 0 specially)
162	* handle default annotations on the softmagic match instead at the
163	  end.
164
1652018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
166
167	* PR/23: Recognize JSON files
168
1692018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
170
171	* PR/18: file --mime-encoding should not print mime-type
172
1732018-07-25   8:50  Christos Zoulas <christos@zoulas.com>
174
175	* release 5.34
176
1772018-06-22  16:38  Christos Zoulas <christos@zoulas.com>
178
179	* Add Quad indirect offsets
180
1812018-05-24  14:10  Christos Zoulas <christos@zoulas.com>
182
183	* Enable parsing of ELF dynamic sections to handle PIE better
184
1852018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
186
187	* release 5.33
188
1892018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
190
191	* extend the support for ${x?:} expansions for magic descriptions
192
1932018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
194
195	* add support for ${x?:} in mime types to handle
196	  pie binaries.
197
1982017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
199
200	* add support for negative offsets (offsets from the end of file)
201
2022017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
203
204	* close the file on error when writing magic (Steve Grubb)
205
2062017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
207
208	* seccomp support (Paul Moore)
209
2102017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
211
212	* release 5.32
213
2142017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
215
216	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
217
2182017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
219
220	* Fix always true condition (Thomas Jarosch)
221
2222017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
223
224	* pickier parsing of numeric values in magic files.
225
2262017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
227
228	* PR/615 add magic_getflags()
229
2302017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
231
232	* release 5.31
233
2342017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
235
236	* remove trailing spaces from magic files
237	* refactor is_tar
238	* better bounds checks for cdf
239
2402017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
241
242	* release 5.30
243
2442017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
245
246	* If we exceeded the offset in a search return no match
247	  (Christoph Biedl)
248	* Be more lenient on corrupt CDF files (Christoph Biedl)
249
2502017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
251
252	* pacify ubsan sign extension (oss-fuzz/524)
253
2542017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
255
256	* off by one in cdf parsing (PR/593)
257	* report debugging sections in elf (PR/591)
258
2592016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
260
261	* Allow @@@ in extensions
262	* Add missing overflow check in der magic (Jonas Wagner)
263
2642016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
265
266	* release 5.29
267
2682016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
269
270	* der getlength overflow (Jonas Wagner)
271	* multiple magic file load failure (Christoph Biedl)
272
2732016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
274
275	* CDF parsing improvements (Guy Helmer)
276
2772016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
278
279	* Add support for signed indirect offsets
280
2812016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
282
283	* cat /dev/null | file - should print empty (Christoph Biedl)
284
2852016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
286
287	* Bump string size from 64 to 96.
288
2892016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
290
291	* PR/556: Fix separators on annotations.
292
2932016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
294
295	* release 5.28
296	* fix leak on allocation failure
297
2982016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
299
300	* PR/555: Avoid overflow for offset > nbytes
301	* PR/550: Segv on DER parsing:
302	    - use the correct variable for length
303	    - set offset to 0 on failure.
304
3052016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
306
307	* release 5.27
308
3092016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
310
311	* Errors comparing DER entries or computing offsets
312	  are just indications of malformed non-DER files.
313	  Don't print them.
314	* Offset comparison was off-by-one.
315	* Fix compression code (Werner Fink)
316	* Put new bytes constant in the right file (not the generated one)
317
3182016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
319
320	* release 5.26
321
3222016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
323
324	* make the number of bytes read from files configurable.
325
3262016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
327
328	* Add bounds checks for DER code (discovered by Thomas Jarosch)
329	* Change indirect recursion limit to indirect use count and
330	  bump from 15 to 50 to prevent abuse.
331
3322016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
333
334	* Add -00 which prints filename\0description\0
335
3362016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
337
338	* Fix ID3 indirect parsing
339
3402016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
341
342	* add DER parsing capability
343
3442015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
345
346	* provide dprintf(3) for the OS's that don't have it.
347
3482015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
349
350	* redo the compression code report decompression errors
351
3522015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
353
354	* REG_STARTEND code is not working as expected, delete it.
355
3562015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
357
358	* Add zlib support if we have it.
359
3602015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
361
362	* PR/492: compression forking was broken with magic_buffer.
363
3642015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
365
366	* release 5.25
367
3682015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
369
370	* add a limit to the length of regex searches
371
3722015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
373
374	* fix problems with --parameter (Christoph Biedl)
375
3762015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
377
378	* Windows fixes PR/466 (Jason Hood)
379
3802015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
381
382	* release 5.24
383
3842015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
385
386	* redo long option encoding to fix off-by-one in 5.23
387
3882015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
389
390	* release 5.23
391
3922015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
393
394	* Fix issue with regex range for magic with offset
395	* Always return true from mget with USE (success to mget not match
396	  indication). Fixes mime evaluation after USE magic
397	* PR/459: Don't insert magic entries to the list if there are parsing
398	  errors for them.
399
4002015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
401
402	* PR/455: Add utf-7 encoding
403
4042015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
405
406	* PR/455: Implement -Z, look inside, but don't report on compression
407	* PR/454: Fix allocation error on bad magic.
408
4092015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
410
411	* handle MAGIC_CONTINUE everywhere, not just in softmagic
412
4132015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
414
415	* don't print descriptions for NAME types when mime.
416
4172015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
418
419	* Add --extension to list the known extensions for this file type
420	  Idea by Andrew J Roazen
421
4222015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
423
424	* Bump file search buffer size to 1M.
425
4262015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
427
428	* Fix multiple issues with date formats reported by Christoph Biedl:
429		- T_LOCAL meaning was reversed
430		- Arithmetic did not work
431	  Also stop adjusting daylight savings for gmt printing.
432
4332015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
434
435	* PR/411: Fix memory corruption from corrupt cdf file.
436
4372015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
438
439	* release 5.22
440
4412015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
442
443	* add indirect relative for TIFF/Exif
444
4452014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
446
447	* restructure elf note printing to avoid repeated messages
448	* add note limit, suggested by Alexander Cherepanov
449
4502014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
451
452	* Bail out on partial pread()'s (Alexander Cherepanov)
453	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
454
4552014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
456
457	* PR/405: ignore SIGPIPE from uncompress programs
458	* change printable -> file_printable and use it in
459	  more places for safety
460	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
461	  is present print the interpreter name.
462
4632014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
464
465	* release 5.21
466
4672014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
468
469	* Allow setting more parameters from the command line.
470	* Split name/use and indirect magic recursion limits.
471
4722014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
473
474	* Adjust ELF parameters and the default recursion
475	  level.
476	* Allow setting the recursion level dynamically.
477
4782014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
479
480	* The following fixes resulted from Thomas Jarosch's fuzzing
481	  tests that revealed severe performance issues on pathological
482	  input:
483	    - limit number of elf program and sections processing
484	    - abort elf note processing quickly
485	    - reduce the number of recursion levels from 20 to 10
486	    - preserve error messages in indirect magic handling
487
488	This is tracked as CVE-2014-8116 and CVE-2014-8117
489
4902014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
491
492	* fix bogus free in the user buffer case.
493
4942014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
495
496	* fix out of bounds read for pascal strings
497	* fix memory leak (not freeing the head of each mlist)
498
4992014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
500
501	* When printing strings from a file, convert them to printable
502	  on a byte by byte basis, so that we don't get issues with
503	  locale's trying to interpret random byte streams as UTF-8 and
504	  having printf error out with EILSEQ.
505
5062014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
507
508	* fix bounds in note reading (Francisco Alonso / Red Hat)
509
5102014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
511
512	* fix autoconf glue for setlocale and locale_t; some OS's
513	  have locale_t in xlocale.h
514
5152014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
516
517	* release 5.20
518
5192014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
520
521	* recognize encrypted CDF documents
522
5232014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
524
525	* add magic_load_buffers from Brooks Davis
526
5272014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
528
529	* add thumbs.db support
530
5312014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
532
533	* release 5.19
534
5352014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
536
537	* Misc buffer overruns and missing buffer size tests in cdf parsing
538	  (Francisco Alonso, Jan Kaluza)
539
5402014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
541
542	* Enforce limit of 8K on regex searches that have no limits
543	* Allow the l modifier for regex to mean line count. Default
544	  to byte count. If line count is specified, assume a max
545	  of 80 characters per line to limit the byte count.
546	* Don't allow conversions to be used for dates, allowing
547	  the mask field to be used as an offset.
548
5492014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
550
551	* Make the range operator limit the length of the
552	  regex search.
553
5542014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
555
556	* PR/347: Windows fixes
557	* PR/352: Hangul word processor recognition
558	* PR/354: Encoding irregularities in text files
559
5602014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
561
562	* Fix uninitialized title in CDF files (Jan Kaluza)
563
5642014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
565
566	* PR/351: Fix compilation of empty files
567
5682014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
569
570	* Fix integer formats: We don't specify 'l' or
571	  'h' and 'hh' specifiers anymore, only 'll' for
572	  quads and nothing for the rest. This is so that
573	  magic writing is simpler.
574
5752014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
576
577	* PR/341: Jan Kaluza, fix memory leak
578	* PR/342: Jan Kaluza, fix out of bounds read
579
5802014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
581
582	* Fix issue with long formats not matching fmtcheck
583
5842014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
585
586	* release 5.18
587
5882014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
589
590	* add fmtcheck(3) for those who don't have it
591
5922014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
593
594	* prevent mime entries from being attached to magic
595	  entries with no descriptions
596
597	* adjust magic strength for regex type
598
599	* remove superfluous ascmagic with encoding test
600
6012014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
602
603	* fix regression fix echo -ne "\012\013\014" | file -i -
604	  which printed "binary" instead of "application/octet-stream"
605
606	* add size_t overflow check for magic file size
607
6082014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
609
610	* experimental support for matching with CFD CLSID
611
6122014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
613
614	* Cache old LC_CTYPE locale before setting it to "C", so
615	  we can use it to restore LC_CTYPE instead of asking
616	  setlocale() to scan the environment variables.
617
6182014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
619
620	* Count recursion levels through indirect magic
621
6222014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
623
624	* Prevent infinite recursion on files with indirect offsets of 0
625
6262014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
627
628	* Add -E flag that makes file print filesystem errors to stderr
629	  and exit.
630
6312014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
632
633	* mime printing could print results from multiple magic entries
634	  if there were multiple matches.
635	* in some cases overflow was not detected when computing offsets
636	  in softmagic.
637
6382013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
639
640	* use strcasestr() to for cdf strings
641	* reset to the "C" locale while doing regex operations, or case
642	  insensitive comparisons; this is provisional
643
6442013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
645
646	* always leave magic file loaded, don't unload for magic_check, etc.
647	* fix default encoding to binary instead of unknown which broke recently
648	* handle empty and one byte files, less specially so that
649	  --mime-encoding does not break completely.
650		`
6512013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
652
653	* fix erroneous non-zero exit code from non-existent file and message
654
6552013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
656
657	* add CDF MSI file detection (Guy Helmer)
658
6592013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
660
661	* Don't mix errors and regular output if there was an error
662	* in magic_descriptor() don't close the file and try to restore
663	  its position
664
6652013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
666
667	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
668
6692013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
670
671	* Fix spacing issues in softmagic and elf (Jan Kaluza)
672
6732013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
674
675	* Fix segmentation fault with multiple magic_load commands.
676
6772013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
678
679	* The way "default" was implemented was not very useful
680	  because the "if something was printed at that level"
681	  was not easily controlled by the user, and the format
682	  was bound to a string which is too restrictive. Add
683	  a "clear" for that level keyword and make "default"
684	  void. This way one can do:
685
686		>>13	clear	x
687		>>13	lelong	1	foo
688		>>13	lelong	2	bar
689		>>13	default	x
690		>>>13	lelong	x	unknown %x
691
6922013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
693
694	* disallow strength setting in "name" entries
695
6962013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
697
698	* fix recursive magic separator printing
699
7002013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
701
702	* limit recursion level for mget
703	* fix pread() related breakage in cdf
704	* handle offsets properly in recursive "use"
705
7062013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
707
708	* add elf reading of debug info to determine if file is stripped
709	  (Jan Kaluza)
710	* use pread()
711
7122013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
713
714	* change mime description size from 64 to 80 to accommodate OOXML.
715
7162013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
717
718	* Warn about inconsistent continuation levels.
719	* Change fsmagic to add a space after it prints.
720
7212013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
722
723	* Make getline public so that file can link against it.
724	  Perhaps it is better to rename it, or hide it differently.
725	  Fixes builds on platforms that do not provide it.
726
7272013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
728
729	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
730	  what long, int, short, etc is (Guy Harris)
731
7322013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
733
734	* add magic_version function and constant
735	* Redo memory allocation and de-allocation.
736	  (prevents double frees on non mmap platforms)
737	* Fix bug with name/use having to do with passing
738	  found state from the parent to the child and back.
739
7402012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
741
742	* Only print elf capabilities for archs we know (Jan Kaluza)
743
7442012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
745
746	* Add "name" and "use" file types in order to look
747	  inside mach-o files.
748
7492012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
750
751	* make --version exit 0 (Matthew Schultz)
752	* add string/T (Jan Kaluza)
753
7542012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
755
756	* add z and t modifiers for our own vasprintf
757	* search for $HOME/.magic.mgc if it is there first
758	* fix reads from a pipe, and preserve errno
759
7602012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
761
762	* use ctime_r, asctime_r
763
7642012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
765
766	* Fixes for indirect offsets to handle apple disk formats
767
7682012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
769
770	* Add windows date field types
771	* More info for windows shortcuts (incomplete)
772
7732012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
774
775	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
776
7772011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
778
779	* Support Tilera architectures (tile64, tilepro, tilegx).
780
7812011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
782
783	* Add magic for /usr/bin/env Perl scripts
784	* Weaken generic script magic to avoid clashing with
785	language-specific magic.
786
7872011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
788
789	* Simplify if (p) free(p) to free(p).
790
7912011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
792
793	* Remove hardwired token finding (names.h), turning it into soft
794	magic. Patterns are either anchored regexs or search/8192. English
795	language detection and PL/1 detection have been removed as they
796	were too fragile. -e tokens is still accepted for backwards
797	compatibility.
798	* Move 3ds patterns (which are commented out anyway) into autodesk
799	(they were, oddly, in c-lang).
800
8012011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
802
803	* Tweak strength of generic hash-bang detectors to be less than
804	specific ones.
805	* Make an inconsistent description of Python scripts consistent.
806
8072011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
808
809	* Fix minor error in file(1).
810
8112011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
812
813	* Fix issue #150 (I hope).
814
8152011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
816
817	* Python3 binding fixes from Kelly Anderson
818
8192011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
820
821	* If a string type magic entry is marked as text or binary
822	  only match text files against text entries and binary
823	  files against binary entries.
824
8252011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
826
827	* Don't wait for any subprocess, just the one we forked.
828
8292011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
830
831	* If the application name is not set in a cdf file, try to see
832	  if it has a directory with the application name on it.
833
8342011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
835
836	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
837
8382011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
839
840	* Don't use variable string formats.
841
8422011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
843
844	* Fix detection of Zip files (Mantis #128).
845	* Make some minor improvements to file(1).
846	* Rename MIME types for filesystem objects for consistency with
847	  xdg-utils. Typically this means that application/x-foo becomes
848	  inode/foo, but some names also change slightly, e.g.
849	  application/x-character-device becomes inode/chardevice.
850
8512011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
852
853	* fix mingw compilation (Abradoks)
854
8552011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
856
857	* remove patchlevel.h
858	* Fix read past allocated memory caused by double-incrementing
859	  a pointer in a loop (reported by Roberto Maar)
860
8612011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
862
863	* Fix cdf string buffer setting (Sven Anders)
864
8652011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
866
867	* Eliminate MAXPATHLEN and use dynamic allocation for
868	  path and file buffers.
869
8702011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
871
872	* binary tests on magic entries with masks could spuriously
873	  get converted to ascii.
874
8752011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
876
877	* Improve file.man (remove BUGS, present email addresses consistently).
878
8792011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
880
881	* add lrzip support (from Ville Skytta)
882
8832011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
884
885	* fix CDF bounds checking (Guy Helmer)
886
8872011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
888
889	* add cdf_ctime() that prints a meaningful error when time cannot
890	  be converted.
891
8922011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
893
894	* help and version output to stdout.
895
896	* When matching softmagic for ascii files, don't just print
897	  the softmagic classification, keep going and print the
898	  text classification too. This fixes broken troff files when
899	  we moved them from keyword recognition to softmagic
900	  (they stopped printing "with CRLF" etc.)
901	  Reported by Doug McIlroy.
902
9032011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
904
905	* Fix two potential buffer overruns in apprentice_list.
906
9072011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
908
909	* New Python binding in pure Python.
910	* Update libmagic(3).
911
9122011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
913
914	* Fix Python bindings (including recent Python 3 compatibility
915	  update).
916
9172011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
918
919	* magic/Makefile.am: make it easier to recover from magic build failures.
920	* Fix pstring length specifier parsing to avoid generating invalid
921	  magic files.
922	* Add pstring length "J" (for "JPEG") to specify that the length
923	  include itself.
924	* Fix JPEG comment parsing at last using pstring/HJ!
925	* Ignore section 5 man pages in doc/.cvsignore.
926
9272010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
928
929	* Add pstring/BHhLl to specify the type of the length of pascal
930	  strings.
931
9322010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
933
934	* Fix "-e soft": it was ignored when softmagic was called
935	  during asciimagic.
936	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
937
9382010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
939
940	* Make bug reporting addresses more visible.
941
9422010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
943
944	* Add tcl magic from Gustaf Neumann
945
9462010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
947
948	* Fix the whitespace comparing code (Christopher Chittleborough)
949
9502010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
951
952	* allow string/t to work (Jan Kaluza)
953
9542010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
955
956	* Apply some patches from Ubuntu and Fedora.
957
9582010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
959
960	* Apply all patches from Debian package 5.04-6 which have not
961	  already been applied and are not Debian-specific.
962
9632010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
964
965	* Minor security fix to softmagic.c (don't use untrusted
966	  string as printf format).
967
9682010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
969
970	* MINGW32 portability from LRN
971
972	* Don't warn about escaping magic regex chars when we are in a regex.
973
9742010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
975
976	* Only try to print prpsinfo for core files. (Jan Kaluza)
977
9782010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
979
980	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
981
9822010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
983
984	* Clarify which sort of CDF we mean.
985
9862010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
987
988	* Re-jig Zip file type magic so that unsupported special
989	  Zip types (those with "mimetype" at offset 30) can be
990	  recognized.
991
9922010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
993
994	* Add support for OCF (EPUB) files (application/epub+zip)
995
9962010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
997
998	* Fix core-dump from unbound loop:
999	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
1000
10012010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
1002
1003	* print proper mime for crystal reports file
1004
1005	* print the last summary information of a cdf document, not the
1006	  first so that nested documents print the right info
1007
10082010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
1009
1010	* bring back some fixes from OpenBSD:
1011		- make gcc2 builds file
1012		- fix typos in a magic file comment
1013
10142009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
1015
1016	* ctime/asctime can return NULL on some OS's although
1017	  they should not (Toshit Antani)
1018
10192009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
1020
1021	* Centralize magic path handling routines and remove the
1022	  special-casing from file.c so that the python module for
1023	  example comes up with the same magic path (Fixes ~/.magic
1024	  handling) (from Gab)
1025
10262009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
1027
1028	* When magic argument is a directory, read the files in
1029	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
1030
10312009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
1032
1033	* Combine overlapping epoc and psion magic files into one (epoc).
1034
1035	* Add some more EPOC MIME types.
1036
10372009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
1038
1039	* Fix 3 bugs (From Ian Darwin):
1040	    - file_showstr could move one past the end of the array
1041	    - parse_apple did not nul terminate the string in the overflow case
1042	    - parse_mime truncated the wrong string in the overflow case
1043
10442009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
1045
1046	* Include Localstuff when compiling magic.
1047
10482009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
1049
1050	* Fix logic for including mygetopts.h
1051
1052	* Make cdf.c compile again with debugging
1053
1054	* Add the necessary field handling for crystal reports files to work
1055
10562009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
1057
1058	* Stop "(if" identifying Lisp files, that's plain dumb!
1059
10602009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
1061
1062	* Add a couple of missing MP3 MIME types.
1063
10642009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
1065
1066	* Add full range of hash-bang tests for Python and Ruby.
1067
1068	* Add MIME types for Python and Ruby scripts.
1069
10702009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
1071
1072	* off by one in parsing hw capabilities in elf
1073	  (Cheng Renquan)
1074
10752009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
1076
1077	* lint fixes and more from NetBSD
1078
10792009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
1080
1081	* Avoid null dereference in cdf code (Drew Yao)
1082
1083	* More cdf bounds checks and overflow checks
1084
10852009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
1086
1087	* Buffer overflow fixes from Drew Yao
1088
10892009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
1090
1091	* Fix more cdf lossage. All the documents I have
1092	  right now print the correct information.
1093
10942009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
1095
1096	* don't print \012- separators in the same magic entry
1097	  if it consists of multiple magic printing lines.
1098
10992009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
1100
1101	* Avoid file descriptor leak in compress code from
1102	  (Daniel Novotny)
1103
11042009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
1105
1106	* Allow escaping of relation characters, so that we can say \^[A-Z]
1107	  and the ^ is not eaten as a relation char.
1108
1109	* Fix troff and fortran to their previous glory using
1110	  regex. This was broken since their removel from ascmagic.
1111
11122009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
1113
1114	* don't use strlen in strndup() (Toby Peterson)
1115
11162009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
1117
1118	* avoid c99 syntax.
1119
11202009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
1121
1122	* make the cdf code use the buffer first if available,
1123	  and then the fd code.
1124
11252009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
1126
1127	* look for struct option to determine if getopt.h is usable for IRIX.
1128
1129	* sanitize cdf document strings
1130
11312009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
1132
1133	* fix OS/2 warnings.
1134
11352008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
1136
1137	* fix initial offset calculation for non 4K sector files
1138
1139	* add loop limits to avoid DoS attacks by constructing
1140	  looping sector references.
1141
11422008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
1143
1144	* fix memory botches on cdf file parsing.
1145
1146	* exit with non-zero value for any error, not just for the last
1147	  file processed.
1148
11492008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
1150
1151	* Replace all str{cpy,cat} functions with strl{cpy,cat}
1152	* Ensure that strl{cpy,cat} are included in libmagic,
1153	  as needed.
1154
11552008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
1156
1157	* Handle ID3 format files.
1158
11592008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
1160
1161	* Fix --mime, --mime-type and --mime-encoding under new scheme.
1162
1163	* Rename "ascii" to "text" and add "encoding" test.
1164
1165	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
1166	  UTF-16.
1167
1168	* Fix error in comment caused by automatic indentation adding
1169	  words!
1170
11712008-11-06 10:35  Christos Zoulas <christos@astron.com>
1172
1173	* use memchr instead of strchr because the string
1174	  might not be NUL terminated (Scott MacVicar)
1175
11762008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
1177
1178	* Fix a printf with a non-literal format string.
1179
1180	* Fix formatting and punctuation of help for "--apple".
1181
11822008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
1183
1184	* Correct words counts in comments of struct magic.
1185
1186	* Fix handle_annotation to allow both Apple and MIME types to be
1187	  printed, and to return correct code if MIME type is
1188	  printed (1, not 0) or if there's an error (-1 not 1).
1189
1190	* Fix output of charset for MIME type (precede with semi-colon;
1191	  fixes Debian bug #501460).
1192
1193	* Fix potential attacks via conversion specifications in magic
1194	  strings.
1195
1196	* Add a FIXME for Debian bug #488562 (magic files should be
1197	  read in a defined order, by sorting the names).
1198
11992008-10-18 16:45  Christos Zoulas <christos@astron.com>
1200
1201	* Added APPLE file creator/type
1202
12032008-10-12 10:20  Christos Zoulas <christos@astron.com>
1204
1205	* Added CDF parsing
1206
12072008-10-09 16:40  Christos Zoulas <christos@astron.com>
1208
1209	* filesystem and msdos patches (Joerg Jenderek)
1210
12112008-10-09 13:20  Christos Zoulas <christos@astron.com>
1212
1213	* correct --exclude documentation issues: remove troff and fortran
1214	  and rename "token" to "tokens". (Randy McMurchy)
1215
12162008-10-01 10:30  Christos Zoulas <christos@astron.com>
1217
1218	* Read ~/.magic in addition to the default magic file not instead
1219	  of, as documented in the man page.
1220
12212008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1222
1223	* Comment out graphviz patterns, as they match too many files.
1224
12252008-08-30 12:54  Christos Zoulas <christos@astron.com>
1226
1227	* Don't eat trailing \n in magic enties.
1228
1229	* Cast defines to allow compilation using a c++ compiler.
1230
12312008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1232
1233	* Add text/x-lua MIME type for Lua scripts.
1234
1235	* Escape { in regex in graphviz patterns.
1236
12372008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1238
1239	* Add MIME types for special files.
1240
1241	* Use access to give more accurate information for files that
1242	  can't be opened.
1243
1244	* Add a TODO list.
1245
12462008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1247
1248	* add !:strength op to adjust magic strength (experimental)
1249
12502008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1251
1252	* Fix automake error in configure.ac.
1253
1254	* Add MIME type for Psion Sketch files.
1255
12562008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1257
1258	* Don't print warnings about bad namesize in stripped
1259	  binaries with PT_NOTE is still there, and the actual
1260	  note is gone (Jakub Jelinek)
1261
12622008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1263
1264	* magic/Magdir/elf:
1265	  Note invalid byte order for little-endian SPARC32PLUS.
1266	  Add SPARC V9 vendor extensions and memory model.
1267
1268	* src/elfclass.h:
1269	  Pass target machine to doshn (for Solaris hardware capabilities).
1270
1271	* src/readelf.c (doshn):
1272	  Add support for Solaris hardware/software capabilities.
1273
1274	* src/readelf.h:
1275	  Ditto.
1276
1277	* src/vasprintf.c (dispatch):
1278	  Add support for ll modifier.
1279
12802008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1281
1282	* Fix compiler warnings.
1283
1284	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1285
12862008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1287
1288	* src/Makefile.am:
1289	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1290	  as needed.
1291
1292	  Remove unnecessary EXTRA_DIST.
1293
1294	* src/Makefile.in:
1295	  Rerun automake.
1296
1297	* src/vasprintf.c (dispatch):
1298	  Fix variable precision bug: be sure to step past '*'.
1299
1300	* src/vasprintf.c (core):
1301	  Remove unreachable code.
1302
1303	* src/apprentice.c (set_test_type):
1304	  Add cast to avoid compiler warning.
1305
13062008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1307
1308	* Add magic submission guidelines (Abel Cheung)
1309
1310	* split msdos and windows magic (Abel Cheung)
1311
13122008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1313
1314	* >= <= is not supported, so fix the magic and warn about it.
1315	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1316
13172008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1318
1319	* src/readelf.c (donote):
1320	  ELF core file command name/line bug fixes and enhancements:
1321
1322	  Try larger offsets first to avoid false matches
1323	  from earlier data that happen to look like strings;
1324	  this primarily affected SunOS 5.x 32-bit Intel core files.
1325
1326	  Add support for command line (instead of just short name)
1327	  for SunOS 5.x.
1328
1329	  Add information about NT_PSINFO for SunOS 5.x.
1330
1331	  Only trim whitespace from end of command line.
1332
13332007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1334
1335	* Change strength of ! from MULT to 0, as it matches almost
1336		  anything (Reuben Thomas)
1337
1338	* Debian fixes (Reuben Thomas)
1339
13402007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1341
1342	* Clarify UTF-8 BOM message (Reuben Thomas)
1343
1344	* Add HTML comment to token list in names.h
1345
13462007-02-04 15:50 Christos Zoulas <christos@astron.com>
1347
1348	* Debian fixes (Reuben Thomas)
1349
13502007-02-04 11:31 Christos Zoulas <christos@astron.com>
1351
1352	* !:mime annotations in magic files (Reuben Thomas)
1353
13542007-01-29 15:35 Christos Zoulas <christos@astron.com>
1355
1356	* zero out utime/utimes structs (Gavin Atkinson)
1357
13582007-01-26 13:45 Christos Zoulas <christos@astron.com>
1359
1360	* reduce writable data from Diego "Flameeyes" Petten
1361
13622007-12-28 15:06 Christos Zoulas <christos@astron.com>
1363
1364	* strtof detection
1365
1366	* remove bogus regex magic that could cause a DoS
1367
1368	* better mismatch version message
1369
13702007-12-27 11:35 Christos Zoulas <christos@astron.com>
1371
1372	* bring back some fixes from OpenBSD
1373
1374	* treat ELF dynamic objects as executables
1375
1376	* fix gcc warnings
1377
13782007-12-01 19:55 Christos Zoulas <christos@astron.com>
1379
1380	* make sure we have zlib.h and libz to compile the builtin
1381	  decompress code
1382
13832007-10-28 20:48 Christos Zoulas <christos@astron.com>
1384
1385 	* float and double magic support (Behan Webster)
1386
13872007-10-28 20:48 Christos Zoulas <christos@astron.com>
1388
1389	* Convert fortran to a soft test (Reuben Thomas)
1390
13912007-10-23  5:25 Christos Zoulas <christos@astron.com>
1392
1393	* Add --with-filename, and --no-filename (Reuben Thomas)
1394
13952007-10-23  3:59 Christos Zoulas <christos@astron.com>
1396
1397	* Rest of the mime split (Reuben Thomas)
1398
1399	* Make usage message generated from the flags so that
1400	  they stay consistent (Reuben Thomas)
1401
14022007-10-20  3:06 Christos Zoulas <christos@astron.com>
1403
1404	* typo in comment, missing ifdef QUICK, remove unneeded code
1405		(Charles Longeau)
1406
14072007-10-17  3:33 Christos Zoulas <christos@astron.com>
1408
1409	* Fix problem printing -\012 in some entries
1410
1411	* Separate magic type and encoding flags (Reuben Thomas)
1412
14132007-10-09  3:55 Christos Zoulas <christos@astron.com>
1414
1415	* configure fix for int64 and strndup (Reuben Thomas)
1416
14172007-09-26  4:45 Christos Zoulas <christos@astron.com>
1418
1419	* Add magic_descriptor() function.
1420
1421	* Fix regression in elf reading code where the core name was
1422	  not being printed.
1423
1424	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1425
14262007-08-19  6:30 Christos Zoulas <christos@astron.com>
1427
1428	* Make mime format consistent so that it can
1429	  be easily parsed:
1430	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1431
1432	  Remove spurious extra text from some MIME type printouts
1433	  (mostly in is_tar).
1434
1435	  Fix one case where -i produced nothing at all (for a 1-byte file,
1436	  which is now classed as application/octet-stream).
1437
1438	  Remove 7/8bit classifications, since they were arbitrary
1439	  and not based on the file data.
1440
1441	  This work was done by Reuben Thomas
1442
14432007-05-24 10:00 Christos Zoulas <christos@astron.com>
1444
1445	* Fix another integer overflow (Colin Percival)
1446
14472007-03-26 13:58 Christos Zoulas <christos@astron.com>
1448
1449	* make sure that all of struct magic_set is initialized appropriately
1450	  (Brett)
1451
14522007-03-25 17:44 Christos Zoulas <christos@astron.com>
1453
1454	* reset left bytes in the buffer (Dmitry V. Levin)
1455
1456	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1457	  (Peter Avalos)
1458
14592007-03-15 10:51 Christos Zoulas <christos@astron.com>
1460
1461	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1462
1463	* fix exclude option (Dmitry V. Levin)
1464
14652007-02-08 17:30 Christos Zoulas <christos@astron.com>
1466
1467	* fix integer underflow in file_printf which can lead to
1468	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1469
14702007-02-05 11:35 Christos Zoulas <christos@astron.com>
1471
1472	* make socket/pipe reading more robust
1473
14742007-01-25 16:01 Christos Zoulas <christos@astron.com>
1475
1476	* Centralize all the tests in file_buffer.
1477
1478	* Add exclude flag.
1479
14802007-01-18 05:29 Anon Ymous <do@not.spam.me>
1481
1482	* Move the "type" detection code from parse() into its own table
1483	  driven routine.  This avoids maintaining multiple lists in
1484	  file.h.
1485
1486	* Add an optional conditional field (ust before the type field).
1487	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1488	  likely to go away.
1489
14902007-01-16 23:24 Anon Ymous <do@not.spam.me>
1491
1492	* Fix an initialization bug in check_mem().
1493
14942007-01-16 14:58 Anon Ymous <do@not.spam.me>
1495
1496	* Add a "default" type to print a message if nothing previously
1497	  matched at that level or since the last default at that
1498	  level.  This is useful for setting up switch-like statements.
1499	  It can also be used to do if/else constructions without a
1500	  redundant second test.
1501
1502	* Fix the "x" special case test so that one can test for that
1503	  string with "=x".
1504
1505	* Allow "search" to search the entire buffer if the "/N"
1506	  search count is missing.
1507
1508	* Make "regex" work!  It now starts its search at the
1509	  specified offset and takes an (optional) "/N" line count to
1510	  specify the search range; otherwise it searches to the end
1511	  of the file.  The match is now grabbed correctly for format
1512	  strings and the offset set to the end of the match.
1513
1514	* Add a "/s" flag to "regex" and "search" to set the offset to
1515	  the start of the match.  By default the offset is set to the
1516	  end of the match, as it is with other tests.  This is mostly
1517	  useful for "regex".
1518
1519	* Make "search", "string" and "pstring" use the same
1520	  file_strncmp() routine so that they support the same flags;
1521	  "bestring16" and "lestring16" call the same routine, but
1522	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1523	  to ignore the case on uppercase (lowercase) characters in
1524	  the test string.
1525
1526	* Strict adherence to C style string escapes.  A warnings are
1527	  printed when compiling.  Note: previously "\a" was
1528	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1529	  BELL, typically 0x07).
1530
1531	* Make this compile with "-Wall -Wextra" and all the warning
1532	  flags used with WARNS=4 in the NetBSD source.  Also make it
1533	  pass lint.
1534
1535	* Many "cleanups" and hopefully not too many new bugs!
1536
15372007-01-16 14:56 Anon Ymous <do@not.spam.me>
1538
1539	* make several more files compile with gcc warnings
1540	  on and also make them pass lint.
1541
15422007-01-16 14:54 Anon Ymous <do@not.spam.me>
1543
1544	* fix a puts()/putc() usage goof in file.c
1545
1546	* make file.c compile with gcc warnings and pass lint
1547
15482006-12-11 16:49 Christos Zoulas <christos@astron.com>
1549
1550	* fix byteswapping issue
1551
1552	* report the number of bytes we tried to
1553	  allocate when allocation fails
1554
1555	* add a few missed cases in the strength routine
1556
15572006-12-08 16:32 Christos Zoulas <christos@astron.com>
1558
1559	* store and print the line number of the magic
1560	  entry for debugging.
1561
1562	* if the magic entry did not print anything,
1563	  don't treat it as a match
1564
1565	* change the magic strength algorithm to take
1566	  into account the relationship op.
1567
1568	* fix a bug in search where we could accidentally
1569	  return a match.
1570
1571	* propagate the error return from match to
1572	  file_softmagic.
1573
15742006-11-25 13:35 Christos Zoulas <christos@astron.com>
1575
1576	* Don't store the current offset in the magic
1577	  struct, because it needs to be restored and
1578	  it was not done properly all the time. Bug
1579	  found by: Arkadiusz Miskiewicz
1580
1581	* Fix problem in the '\0' separator; and don't
1582	  print it as an additional separator; print
1583	  it as the only separator.
1584
15852006-11-17 10:51 Christos Zoulas <christos@astron.com>
1586
1587	* Added a -0 option to print a '\0' separator
1588	  Etienne Buira <etienne.buira@free.fr>
1589
15902006-10-31 15:14 Christos Zoulas <christos@astron.com>
1591
1592	* Check offset before copying (Mike Frysinger)
1593
1594	* merge duplicated code
1595
1596	* add quad date support
1597
1598	* make sure that we nul terminate desc (Ryoji Kanai)
1599
1600	* don't process elf notes multiple times
1601
1602	* allow -z to report empty compressed files
1603
1604	* use calloc to initialize the ascii buffers (Jos van den Oever)
1605
16062006-06-08 11:11 Christos Zoulas <christos@astron.com>
1607
1608	* QNX fixes (Mike Gorchak)
1609
1610	* Add quad support.
1611
1612	* FIFO checks (Dr. Werner Fink)
1613
1614	* Linux ELF fixes (Dr. Werner Fink)
1615
1616	* Magic format checks (Dr. Werner Fink)
1617
1618	* Magic format function improvent (Karl Chen)
1619
16202006-05-03 11:11 Christos Zoulas <christos@astron.com>
1621
1622	* Pick up some elf changes and some constant fixes from SUSE
1623
1624	* Identify gnu tar vs. posix tar
1625
1626	* When keep going, don't print spurious newlines (Radek Vokal)
1627
16282006-04-01 12:02 Christos Zoulas <christos@astron.com>
1629
1630	* Use calloc instead of malloc (Mike Frysinger)
1631
1632	* Fix configure script to detect wctypes.h (Mike Frysinger)
1633
16342006-03-02 16:06 Christos Zoulas <christos@astron.com>
1635
1636	* Print empty if the file is (Mike Frysinger)
1637
1638	* Don't try to read past the end of the buffer (Mike Frysinger)
1639
1640	* Sort magic entries by strength [experimental]
1641
16422005-11-29 13:26 Christos Zoulas <christos@astron.com>
1643
1644	* Use iswprint() to convert the output string.
1645	    (Bastien Nocera)
1646
16472005-10-31 8:54 Christos Zoulas <christos@astron.com>
1648
1649	* Fix regression where the core info was not completely processed
1650	    (Radek Vokal)
1651
16522005-10-20 11:15 Christos Zoulas <christos@astron.com>
1653
1654	* Middle Endian magic (Diomidis Spinellis)
1655
16562005-10-17 11:15 Christos Zoulas <christos@astron.com>
1657
1658	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1659
1660	* Don't close stdin (Arkadiusz Miskiewicz)
1661
1662	* Look for note sections in non executables.
1663
16642005-09-20 13:33 Christos Zoulas <christos@astron.com>
1665
1666	* Don't print SVR4 Style in core files multiple times
1667	    (Radek Vokal)
1668
16692005-08-27 04:09 Christos Zoulas <christos@astron.com>
1670
1671	* Cygwin changes Corinna Vinschen
1672
16732005-08-18 09:53 Christos Zoulas <christos@astron.com>
1674
1675	* Remove erroreous mention of /etc/magic in the file man page
1676	  This is gentoo bug 101639. (Mike Frysinger)
1677
1678	* Cross-compile support and detection (Mike Frysinger)
1679
16802005-08-12 10:17 Christos Zoulas <christos@astron.com>
1681
1682	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1683	  is set.
1684
16852005-07-29 13:57 Christos Zoulas <christos@astron.com>
1686
1687	* Avoid search and regex buffer overflows (Kelledin)
1688
16892005-07-12 11:48 Christos Zoulas <christos@astron.com>
1690
1691	* Provide stub implementations for {v,}nsprintf() for older
1692	  OS's that don't have them.
1693	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1694	  to AC_TYPE_MBSTATE_T.
1695
16962005-06-25 11:48 Christos Zoulas <christos@astron.com>
1697
1698	* Dynamically allocate the string buffers and make the
1699	  default read size 256K.
1700
17012005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1702
1703	* Dragonfly ELF note support
1704
17052005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1706
1707	* Avoid NULL pointer dereference in time conversion.
1708
17092005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1710
1711	* Add indirect magic offset support, and search mode.
1712
17132005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1714
1715	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1716	  If a CRLF text file happens to have CR at offset HOWMANY - 1
1717	  (currently 0xffff), it should not be counted as CR line
1718	  terminator.
1719	  If a line has length exactly MAXLINELEN, it should not yet be
1720	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
1721	  line length''.
1722	  With CRLF, the line length was not computed correctly, and even
1723	  lines of length MAXLINELEN - 1 were treated as ``very long''.
1724
17252004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1726
1727	* bzip2 needs a lot of input buffer space on some files
1728	  before it can begin uncompressing. This makes file -z
1729	  fail on some bz2 files. Fix it by giving it a copy of
1730	  the file descriptor to read as much as it wants if we
1731	  have access to it. <christos@astron.com>
1732
17332004-11-24 12:39  Christos Zoulas  <christos@astron.com>
1734
1735	* Stack smash fix, and ELF more conservative reading.
1736	  Jakub Bogusz <qboosh@pld-linux.org>
1737
17382004-11-20 18:50  Christos Zoulas  <christos@astron.com>
1739
1740	* New FreeBSD version parsing code:
1741	  Jon Noack <noackjr@alumni.rice.edu>
1742
1743	* Hackish support for ucs16 strings <christos@astron.com>
1744
17452004-11-13 03:07  Christos Zoulas  <christos@astron.com>
1746
1747	* print the file name and line number in syntax errors.
1748
17492004 10-12 10:50  Christos Zoulas  <christos@astron.com>
1750
1751	* Fix stack overwriting on 0 length strings: Tim Waugh
1752	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
1753
17542004-09-27 11:30  Christos Zoulas  <christos@astron.com>
1755
1756	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
1757
1758	* Fix small memory leaks; caught by: Tamas Sarlos
1759	    <stamas@csillag.ilab.sztaki.hu>
1760
17612004-07-24 16:33  Christos Zoulas  <christos@astron.com>
1762
1763	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
1764
1765	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
1766
1767	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
1768
1769  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
1770
17712004-04-12 10:55  Christos Zoulas  <christos@astron.com>
1772
1773	* make sure that magic formats match magic types during compilation
1774
1775	* fix broken sgi magic file
1776
17772004-04-06 20:36  Christos Zoulas  <christos@astron.com>
1778
1779	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
1780
1781	* magic fixes
1782
17832004-03-22 15:25  Christos Zoulas  <christos@astron.com>
1784
1785	* Lots of mime fixes
1786	  (Joerg Ostertag) <ostertag@rechengilde.de>
1787
1788	* FreeBSD ELF version handling
1789	  (Edwin Groothuis) <edwin@mavetju.org>
1790
1791	* correct cleanup in all cases; don't just close the file.
1792	  (Christos Zoulas) <christos@astron.com>
1793
1794	* add gettext message catalogue support
1795	  (Michael Piefel) <piefel@debian.org>
1796
1797	* better printout for unreadable files
1798	  (Michael Piefel) <piefel@debian.org>
1799
1800	* compensate for missing MAXPATHLEN
1801	  (Michael Piefel) <piefel@debian.org>
1802
1803	* add wide character string length computation
1804	  (Michael Piefel) <piefel@debian.org>
1805
1806	* Avoid infinite loops caused by bad elf alignments
1807	  or name and description note sizes. Reported by
1808	  (Mikael Magnusson) <mmikael@comhem.se>
1809
18102004-03-09 13:55  Christos Zoulas  <christos@astron.com>
1811
1812	* Fix possible memory leak on error and add missing regfree
1813	  (Dmitry V. Levin) <ldv@altlinux.org>
1814
18152003-12-23 12:12  Christos Zoulas  <christos@astron.com>
1816
1817	* fix -k flag (Maciej W. Rozycki)
1818
18192003-11-18 14:10  Christos Zoulas  <christos@astron.com>
1820
1821	* Try to give us much info as possible on corrupt elf files.
1822	  (Willy Tarreau) <willy@w.ods.org>
1823	* Updated python bindings (Brett Funderburg)
1824	   <brettf@deepfile.com>
1825
18262003-11-11 15:03  Christos Zoulas  <christos@astron.com>
1827
1828	* Include file.h first, because it includes config.h
1829	  breaks largefile test macros otherwise.
1830	  (Paul Eggert <eggert@CS.UCLA.EDU> via
1831	   Lars Hecking <lhecking@nmrc.ie>)
1832
18332003-10-14 21:39  Christos Zoulas  <christos@astron.com>
1834
1835	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
1836	* Don't lookup past the end of the buffer
1837	  (Chad Hanson) <chanson@tcs-sec.com>
1838	* Add MAGIC_ERROR and api on magic_errno()
1839
18402003-10-08 12:40  Christos Zoulas  <christos@astron.com>
1841
1842	* handle error conditions from compile as fatal
1843	  (Antti Kantee) <pooka@netbsd.org>
1844	* handle magic filename parsing sanely
1845	* more magic fixes.
1846	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
1847	* describe magic file handling
1848	  (Bryan Henderson) <bryanh@giraffe-data.com>
1849
18502003-09-12 15:09  Christos Zoulas  <christos@astron.com>
1851
1852	* update magic files.
1853	* remove largefile support from file.h; it breaks things on most OS's
1854
18552003-08-10 10:25  Christos Zoulas  <christos@astron.com>
1856
1857	* fix unmapping'ing of mmaped files.
1858
18592003-07-10 12:03  Christos Zoulas  <christos@astron.com>
1860
1861	* don't exit with -1 on error; always exit 1 (Marty Leisner)
1862	* restore utimes code.
1863
18642003-06-10 17:03  Christos Zoulas  <christos@astron.com>
1865
1866	* make sure we don't access uninitialized memory.
1867	* pass lint
1868	* #ifdef __cplusplus in magic.h
1869
18702003-05-25 19:23  Christos Zoulas  <christos@astron.com>
1871
1872	* rename cvs magic file to revision to deal with
1873	  case insensitive filesystems.
1874
18752003-05-23 17:03  Christos Zoulas  <christos@astron.com>
1876
1877	* documentation fixes from Michael Piefel <piefel@debian.org>
1878	* magic fixes (various)
1879	* revert basename magic in .mgc name determination
1880	* buffer protection in uncompress,
1881	  signness issues,
1882	  close files
1883	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
1884
18852003-04-21 20:12  Christos Zoulas  <christos@astron.com>
1886
1887	* fix zsh magic
1888
18892003-04-04 16:59  Christos Zoulas  <christos@astron.com>
1890
1891	* fix operand sort order in string.
1892
18932003-04-02 17:30  Christos Zoulas  <christos@astron.com>
1894
1895	* cleanup namespace in magic.h
1896
18972003-04-02 13:50  Christos Zoulas  <christos@astron.com>
1898
1899	* Magic additions (Alex Ott)
1900	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
1901
19022003-03-28 16:03  Christos Zoulas  <christos@astron.com>
1903
1904	* remove packed attribute from magic struct.
1905	* make the magic struct properly aligned.
1906	* bump version number of compiled files to 2.
1907
19082003-03-27 13:10  Christos Zoulas  <christos@astron.com>
1909
1910	* separate tar detection and run it before softmagic.
1911	* fix reversed symlink test.
1912	* fix version printing.
1913	* make separator a string instead of a char.
1914	* update manual page and sort options.
1915
19162003-03-26 11:00  Christos Zoulas  <christos@astron.com>
1917
1918	* Pass lint
1919	* make NULL in magic_file mean stdin
1920	* Fix "-" argument to file to pass NULL to magic_file
1921	* avoid pointer casts by using memcpy
1922	* rename magic_buf -> magic_buffer
1923	* keep only the first error
1924	* manual page: new sentence, new line
1925	* fix typo in api function (magic_buf -> magic_buffer)
1926