xref: /dragonfly/contrib/file/ChangeLog (revision 8f2ce533)
12021-10-18  11:57  Christos Zoulas <christos@zoulas.com>
2
3	* release 5.41
4
52021-09-23  03:51  Christos Zoulas <christos@zoulas.com>
6
7	* Avinash Sonawane: Fix tzname detection
8
92021-09-03  09:17  Christos Zoulas <christos@zoulas.com>
10
11	* Fix relationship tests with "search" magic, don't short circuit
12	  logic
13
142021-07-13  01:06  Christos Zoulas <christos@zoulas.com>
15
16	* Fix memory leak in compile mode
17
182021-07-01  03:51  Christos Zoulas <christos@zoulas.com>
19
20	* PR/272: kiefermat: Only set returnval = 1 when we printed something
21	  (in all cases print or !print). This simplifies the logic and fixes
22	  the issue in the PR with -k and --mime-type there was no continuation
23	  printed before the default case.
24
252021-06-30  13:07  Christos Zoulas <christos@zoulas.com>
26
27	* PR/270: Don't translate unprintable characters in %s magic formats
28	  when -r
29	* PR/269: Avoid undefined behavior with clang (adding offset to NULL)
30
312021-05-09  18:38  Christos Zoulas <christos@zoulas.com>
32
33	* Add a new flag (f) that requires that the match is a full word,
34	   not a partial word match.
35	* Add varint types (unused)
36
372021-04-19  17:17  Christos Zoulas <christos@zoulas.com>
38
39	* PR/256: mutableVoid: If the file is less than 3 bytes, use the file
40	  length to determine type
41	* PR/259: aleksandr.v.novichkov: mime printing through indirect magic
42	  is not taken into account, use match directly so that it does.
43
442021-04-04  17:02  Christos Zoulas <christos@zoulas.com>
45
46	* count the total bytes found not the total byte positions
47	  in order to determine encoding (Anatol Belski)
48
492021-03-30  20:21  Christos Zoulas <christos@zoulas.com>
50
51	* release 5.40
52
532021-02-05  16:31  Christos Zoulas <christos@zoulas.com>
54
55	* PR/234: Add limit to the number of bytes to scan for encoding
56	* PR/230: Fix /T (trim flag) for regex
57
582021-02-01  12:31  Christos Zoulas <christos@zoulas.com>
59	* PR/77: Trim trailing separator.
60
612020-12-17  15:44  Christos Zoulas <christos@zoulas.com>
62
63	* PR/211: Convert system read errors from corrupt ELF
64	  files into human readable error messages
65
662020-12-08  16:24  Christos Zoulas <christos@zoulas.com>
67
68	* fix multithreaded decompression file descriptor issue
69	  by using close-on-exec (Denys Vlasenko)
70
712020-06-27  11:58  Christos Zoulas <christos@zoulas.com>
72
73	* Exclude surrogate pairs from utf-8 detection (Michael Liu)
74
752020-06-25  12:53  Christos Zoulas <christos@zoulas.com>
76
77	* Include # to the list of ignored format chars (Werner Fink)
78
792020-06-14  20:02  Christos Zoulas <christos@zoulas.com>
80
81	* release 5.39
82
832020-06-07  20:00  Christos Zoulas <christos@zoulas.com>
84
85	* Remove unused subtype_mime (Steve Grubb)
86	* Remove unused check in okstat (Steve Grubb)
87	* Fix mime-type in elf binaries by making sure $x is set
88	* Fix indirect negative offsets broken by OFFNEGATIVE
89	* Fix GUID equality check
90	* PR/165: Handle empty array and strings in JSON
91	* PR/162: Add --exclude-quiet
92
932020-06-06  15:33  Christos Zoulas <christos@zoulas.com>
94
95	* Fix memory leak in ascmagic (Steve Grubb)
96
972020-06-04  00:21  Christos Zoulas <christos@zoulas.com>
98
99	* Fix string comparison length with ignore whitespace
100
1012020-05-31  00:11  Christos Zoulas <christos@zoulas.com>
102
103	* Fix mingwin 64 compilation
104
1052020-05-30  23:56  Christos Zoulas <christos@zoulas.com>
106
107	* PR/159: whitelist getpid needed for file_pipe2file()
108
1092020-05-09  18:57  Christos Zoulas <christos@zoulas.com>
110
111	* Indicate negative offsets with a flag OFFNEGATIVE
112	  so that -0 works.
113	* Introduce "offset" magic type that can be used to
114	  detect the file size, and bail on short files.
115	* document DER better in the magic man page.
116
1172020-03-11  21:53  Christos Zoulas <christos@zoulas.com>
118
119	* fix memory leaks (SonarQube)
120
1212020-03-08  21:33  Christos Zoulas <christos@zoulas.com>
122
123	* fix memory leaks (SonarQube)
124	* rewrite confusing loops (SonarQube)
125	* fix bogus test (SonarQube)
126	* pass a sized buffer to file_fmttime() (SonarQube)
127
128	* fix memory leaks (SonarQube)
129
1302020-02-20  15:50  Christos Zoulas <christos@zoulas.com>
131
132	* Don't allow * in printf formats, or the code itself (Christoph Biedl)
133	* Introduce a printf output size checker to avoid DoS attacks
134
1352020-02-17  17:22  Christos Zoulas <christos@zoulas.com>
136
137	* Avoid memory leak on error (oss-fuzz)
138	* Check length of string on DER before derefercing and add new types
139	* Add missing DER string (oss-fuzz)
140
1412020-02-16  20:45  Christos Zoulas <christos@zoulas.com>
142
143	* Add missing DER types, and debugging
144
1452020-02-13  13:10  Christos Zoulas <christos@zoulas.com>
146
147	* PR/140: Avoid abort with hand-crafted magic file (gockelhahn)
148	* PR/139  Avoid DoS in printf with hand-crafted magic file (gockelhahn)
149	* PR/138: Avoid crash with hand-crafted magic file (gockelhahn)
150
1512020-02-12  17:30  Christos Zoulas <christos@zoulas.com>
152
153	* PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine)
154
1552019-12-24  14:16  Christos Zoulas <christos@zoulas.com>
156
157	* add guid support
158
1592019-12-16  21:11  Christos Zoulas <christos@zoulas.com>
160
161	* release 5.38
162
1632019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
164    Document changes since the previous release:
165	- Always accept -S (no sandbox) even if we don't support sandboxing
166	- More syscalls elided for sandboxiing
167	- For ELF dynamic means having an interpreter not just PT_DYNAMIC
168	- Check for large ELF session header offset
169	- When saving and restoring a locale, keep the locale name in our
170	  own storage.
171	- Add a flag to disable CSV file detection.
172	- Don't pass NULL/0 to memset to appease sanitizers.
173	- Avoid spurious prints when looks for extensions or apple strings
174	  in fsmagic.
175	- Add builtin decompressors for xz and and bzip.
176	- Add a limit for the number of CDF elements.
177	- More checks for overflow in CDF.
178
1792019-05-14  22:26  Christos Zoulas <christos@zoulas.com>
180
181	* release 5.37
182
1832019-05-09  22:27  Christos Zoulas <christos@zoulas.com>
184
185	* Make sure that continuation separators are printed
186	  with -k within softmagic
187
1882019-05-06  22:27  Christos Zoulas <christos@zoulas.com>
189
190	* Change SIGPIPE saving and restoring during compression to use
191	  sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko)
192	* Cache stat(2) calls more to reduce number of calls (Denys Vlasenko)
193
1942019-05-06  17:25  Christos Zoulas <christos@zoulas.com>
195
196	* PR/77: Handle --mime-type and -k correctly.
197
1982019-05-03  15:26  Christos Zoulas <christos@zoulas.com>
199
200	* Switch decompression code to use vfork() because
201	  tools like rpmdiff and rpmbuild call libmagic
202	  with large process footprints (Denys Vlasenko)
203
2042019-04-07  14:05  Christos Zoulas <christos@zoulas.com>
205
206	* PR/75: --enable-zlib, did not work.
207
2082019-02-27  11:54  Christos Zoulas <christos@zoulas.com>
209
210	* Improve regex efficiency (Michael Schroeder) by:
211		1. Prefixing regex searches with regular search
212		   for keywords where possible
213		2. Using memmem(3) where available
214
2152019-02-20  10:16  Christos Zoulas <christos@zoulas.com>
216
217	* release 5.36
218
2192019-02-19  15:30  Christos Zoulas <christos@zoulas.com>
220
221	* Fix cast to use cast macros
222	* Add UCS-32 builtin detection (PR/61) reported by tmc
223
2242019-02-18  18:24  Christos Zoulas <christos@zoulas.com>
225
226	* Fix stack read (PR/62) and write (PR/64) stack overflows
227	  reported by spinpx
228
2292018-10-18  19:32  Christos Zoulas <christos@zoulas.com>
230
231	* release 5.35
232
2332018-09-10  20:38  Christos Zoulas <christos@zoulas.com>
234
235	* Add FreeBSD ELF core file support (John Baldwin)
236
2372018-08-20  18:40  Christos Zoulas <christos@zoulas.com>
238
239	* PR/30: Allow all parameter values to be set (don't treat 0 specially)
240	* handle default annotations on the softmagic match instead at the
241	  end.
242
2432018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
244
245	* PR/23: Recognize JSON files
246
2472018-07-25  10:17  Christos Zoulas <christos@zoulas.com>
248
249	* PR/18: file --mime-encoding should not print mime-type
250
2512018-07-25   8:50  Christos Zoulas <christos@zoulas.com>
252
253	* release 5.34
254
2552018-06-22  16:38  Christos Zoulas <christos@zoulas.com>
256
257	* Add Quad indirect offsets
258
2592018-05-24  14:10  Christos Zoulas <christos@zoulas.com>
260
261	* Enable parsing of ELF dynamic sections to handle PIE better
262
2632018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
264
265	* release 5.33
266
2672018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
268
269	* extend the support for ${x?:} expansions for magic descriptions
270
2712018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
272
273	* add support for ${x?:} in mime types to handle
274	  pie binaries.
275
2762017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
277
278	* add support for negative offsets (offsets from the end of file)
279
2802017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
281
282	* close the file on error when writing magic (Steve Grubb)
283
2842017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
285
286	* seccomp support (Paul Moore)
287
2882017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
289
290	* release 5.32
291
2922017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
293
294	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
295
2962017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
297
298	* Fix always true condition (Thomas Jarosch)
299
3002017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
301
302	* pickier parsing of numeric values in magic files.
303
3042017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
305
306	* PR/615 add magic_getflags()
307
3082017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
309
310	* release 5.31
311
3122017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
313
314	* remove trailing spaces from magic files
315	* refactor is_tar
316	* better bounds checks for cdf
317
3182017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
319
320	* release 5.30
321
3222017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
323
324	* If we exceeded the offset in a search return no match
325	  (Christoph Biedl)
326	* Be more lenient on corrupt CDF files (Christoph Biedl)
327
3282017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
329
330	* pacify ubsan sign extension (oss-fuzz/524)
331
3322017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
333
334	* off by one in cdf parsing (PR/593)
335	* report debugging sections in elf (PR/591)
336
3372016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
338
339	* Allow @@@ in extensions
340	* Add missing overflow check in der magic (Jonas Wagner)
341
3422016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
343
344	* release 5.29
345
3462016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
347
348	* der getlength overflow (Jonas Wagner)
349	* multiple magic file load failure (Christoph Biedl)
350
3512016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
352
353	* CDF parsing improvements (Guy Helmer)
354
3552016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
356
357	* Add support for signed indirect offsets
358
3592016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
360
361	* cat /dev/null | file - should print empty (Christoph Biedl)
362
3632016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
364
365	* Bump string size from 64 to 96.
366
3672016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
368
369	* PR/556: Fix separators on annotations.
370
3712016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
372
373	* release 5.28
374	* fix leak on allocation failure
375
3762016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
377
378	* PR/555: Avoid overflow for offset > nbytes
379	* PR/550: Segv on DER parsing:
380	    - use the correct variable for length
381	    - set offset to 0 on failure.
382
3832016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
384
385	* release 5.27
386
3872016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
388
389	* Errors comparing DER entries or computing offsets
390	  are just indications of malformed non-DER files.
391	  Don't print them.
392	* Offset comparison was off-by-one.
393	* Fix compression code (Werner Fink)
394	* Put new bytes constant in the right file (not the generated one)
395
3962016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
397
398	* release 5.26
399
4002016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
401
402	* make the number of bytes read from files configurable.
403
4042016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
405
406	* Add bounds checks for DER code (discovered by Thomas Jarosch)
407	* Change indirect recursion limit to indirect use count and
408	  bump from 15 to 50 to prevent abuse.
409
4102016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
411
412	* Add -00 which prints filename\0description\0
413
4142016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
415
416	* Fix ID3 indirect parsing
417
4182016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
419
420	* add DER parsing capability
421
4222015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
423
424	* provide dprintf(3) for the OS's that don't have it.
425
4262015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
427
428	* redo the compression code report decompression errors
429
4302015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
431
432	* REG_STARTEND code is not working as expected, delete it.
433
4342015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
435
436	* Add zlib support if we have it.
437
4382015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
439
440	* PR/492: compression forking was broken with magic_buffer.
441
4422015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
443
444	* release 5.25
445
4462015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
447
448	* add a limit to the length of regex searches
449
4502015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
451
452	* fix problems with --parameter (Christoph Biedl)
453
4542015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
455
456	* Windows fixes PR/466 (Jason Hood)
457
4582015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
459
460	* release 5.24
461
4622015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
463
464	* redo long option encoding to fix off-by-one in 5.23
465
4662015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
467
468	* release 5.23
469
4702015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
471
472	* Fix issue with regex range for magic with offset
473	* Always return true from mget with USE (success to mget not match
474	  indication). Fixes mime evaluation after USE magic
475	* PR/459: Don't insert magic entries to the list if there are parsing
476	  errors for them.
477
4782015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
479
480	* PR/455: Add utf-7 encoding
481
4822015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
483
484	* PR/455: Implement -Z, look inside, but don't report on compression
485	* PR/454: Fix allocation error on bad magic.
486
4872015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
488
489	* handle MAGIC_CONTINUE everywhere, not just in softmagic
490
4912015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
492
493	* don't print descriptions for NAME types when mime.
494
4952015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
496
497	* Add --extension to list the known extensions for this file type
498	  Idea by Andrew J Roazen
499
5002015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
501
502	* Bump file search buffer size to 1M.
503
5042015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
505
506	* Fix multiple issues with date formats reported by Christoph Biedl:
507		- T_LOCAL meaning was reversed
508		- Arithmetic did not work
509	  Also stop adjusting daylight savings for gmt printing.
510
5112015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
512
513	* PR/411: Fix memory corruption from corrupt cdf file.
514
5152015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
516
517	* release 5.22
518
5192015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
520
521	* add indirect relative for TIFF/Exif
522
5232014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
524
525	* restructure elf note printing to avoid repeated messages
526	* add note limit, suggested by Alexander Cherepanov
527
5282014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
529
530	* Bail out on partial pread()'s (Alexander Cherepanov)
531	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
532
5332014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
534
535	* PR/405: ignore SIGPIPE from uncompress programs
536	* change printable -> file_printable and use it in
537	  more places for safety
538	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
539	  is present print the interpreter name.
540
5412014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
542
543	* release 5.21
544
5452014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
546
547	* Allow setting more parameters from the command line.
548	* Split name/use and indirect magic recursion limits.
549
5502014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
551
552	* Adjust ELF parameters and the default recursion
553	  level.
554	* Allow setting the recursion level dynamically.
555
5562014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
557
558	* The following fixes resulted from Thomas Jarosch's fuzzing
559	  tests that revealed severe performance issues on pathological
560	  input:
561	    - limit number of elf program and sections processing
562	    - abort elf note processing quickly
563	    - reduce the number of recursion levels from 20 to 10
564	    - preserve error messages in indirect magic handling
565
566	This is tracked as CVE-2014-8116 and CVE-2014-8117
567
5682014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
569
570	* fix bogus free in the user buffer case.
571
5722014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
573
574	* fix out of bounds read for pascal strings
575	* fix memory leak (not freeing the head of each mlist)
576
5772014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
578
579	* When printing strings from a file, convert them to printable
580	  on a byte by byte basis, so that we don't get issues with
581	  locale's trying to interpret random byte streams as UTF-8 and
582	  having printf error out with EILSEQ.
583
5842014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
585
586	* fix bounds in note reading (Francisco Alonso / Red Hat)
587
5882014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
589
590	* fix autoconf glue for setlocale and locale_t; some OS's
591	  have locale_t in xlocale.h
592
5932014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
594
595	* release 5.20
596
5972014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
598
599	* recognize encrypted CDF documents
600
6012014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
602
603	* add magic_load_buffers from Brooks Davis
604
6052014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
606
607	* add thumbs.db support
608
6092014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
610
611	* release 5.19
612
6132014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
614
615	* Misc buffer overruns and missing buffer size tests in cdf parsing
616	  (Francisco Alonso, Jan Kaluza)
617
6182014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
619
620	* Enforce limit of 8K on regex searches that have no limits
621	* Allow the l modifier for regex to mean line count. Default
622	  to byte count. If line count is specified, assume a max
623	  of 80 characters per line to limit the byte count.
624	* Don't allow conversions to be used for dates, allowing
625	  the mask field to be used as an offset.
626
6272014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
628
629	* Make the range operator limit the length of the
630	  regex search.
631
6322014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
633
634	* PR/347: Windows fixes
635	* PR/352: Hangul word processor recognition
636	* PR/354: Encoding irregularities in text files
637
6382014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
639
640	* Fix uninitialized title in CDF files (Jan Kaluza)
641
6422014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
643
644	* PR/351: Fix compilation of empty files
645
6462014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
647
648	* Fix integer formats: We don't specify 'l' or
649	  'h' and 'hh' specifiers anymore, only 'll' for
650	  quads and nothing for the rest. This is so that
651	  magic writing is simpler.
652
6532014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
654
655	* PR/341: Jan Kaluza, fix memory leak
656	* PR/342: Jan Kaluza, fix out of bounds read
657
6582014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
659
660	* Fix issue with long formats not matching fmtcheck
661
6622014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
663
664	* release 5.18
665
6662014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
667
668	* add fmtcheck(3) for those who don't have it
669
6702014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
671
672	* prevent mime entries from being attached to magic
673	  entries with no descriptions
674
675	* adjust magic strength for regex type
676
677	* remove superfluous ascmagic with encoding test
678
6792014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
680
681	* fix regression fix echo -ne "\012\013\014" | file -i -
682	  which printed "binary" instead of "application/octet-stream"
683
684	* add size_t overflow check for magic file size
685
6862014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
687
688	* experimental support for matching with CFD CLSID
689
6902014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
691
692	* Cache old LC_CTYPE locale before setting it to "C", so
693	  we can use it to restore LC_CTYPE instead of asking
694	  setlocale() to scan the environment variables.
695
6962014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
697
698	* Count recursion levels through indirect magic
699
7002014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
701
702	* Prevent infinite recursion on files with indirect offsets of 0
703
7042014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
705
706	* Add -E flag that makes file print filesystem errors to stderr
707	  and exit.
708
7092014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
710
711	* mime printing could print results from multiple magic entries
712	  if there were multiple matches.
713	* in some cases overflow was not detected when computing offsets
714	  in softmagic.
715
7162013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
717
718	* use strcasestr() to for cdf strings
719	* reset to the "C" locale while doing regex operations, or case
720	  insensitive comparisons; this is provisional
721
7222013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
723
724	* always leave magic file loaded, don't unload for magic_check, etc.
725	* fix default encoding to binary instead of unknown which broke recently
726	* handle empty and one byte files, less specially so that
727	  --mime-encoding does not break completely.
728		`
7292013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
730
731	* fix erroneous non-zero exit code from non-existent file and message
732
7332013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
734
735	* add CDF MSI file detection (Guy Helmer)
736
7372013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
738
739	* Don't mix errors and regular output if there was an error
740	* in magic_descriptor() don't close the file and try to restore
741	  its position
742
7432013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
744
745	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
746
7472013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
748
749	* Fix spacing issues in softmagic and elf (Jan Kaluza)
750
7512013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
752
753	* Fix segmentation fault with multiple magic_load commands.
754
7552013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
756
757	* The way "default" was implemented was not very useful
758	  because the "if something was printed at that level"
759	  was not easily controlled by the user, and the format
760	  was bound to a string which is too restrictive. Add
761	  a "clear" for that level keyword and make "default"
762	  void. This way one can do:
763
764		>>13	clear	x
765		>>13	lelong	1	foo
766		>>13	lelong	2	bar
767		>>13	default	x
768		>>>13	lelong	x	unknown %x
769
7702013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
771
772	* disallow strength setting in "name" entries
773
7742013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
775
776	* fix recursive magic separator printing
777
7782013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
779
780	* limit recursion level for mget
781	* fix pread() related breakage in cdf
782	* handle offsets properly in recursive "use"
783
7842013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
785
786	* add elf reading of debug info to determine if file is stripped
787	  (Jan Kaluza)
788	* use pread()
789
7902013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
791
792	* change mime description size from 64 to 80 to accommodate OOXML.
793
7942013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
795
796	* Warn about inconsistent continuation levels.
797	* Change fsmagic to add a space after it prints.
798
7992013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
800
801	* Make getline public so that file can link against it.
802	  Perhaps it is better to rename it, or hide it differently.
803	  Fixes builds on platforms that do not provide it.
804
8052013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
806
807	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
808	  what long, int, short, etc is (Guy Harris)
809
8102013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
811
812	* add magic_version function and constant
813	* Redo memory allocation and de-allocation.
814	  (prevents double frees on non mmap platforms)
815	* Fix bug with name/use having to do with passing
816	  found state from the parent to the child and back.
817
8182012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
819
820	* Only print elf capabilities for archs we know (Jan Kaluza)
821
8222012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
823
824	* Add "name" and "use" file types in order to look
825	  inside mach-o files.
826
8272012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
828
829	* make --version exit 0 (Matthew Schultz)
830	* add string/T (Jan Kaluza)
831
8322012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
833
834	* add z and t modifiers for our own vasprintf
835	* search for $HOME/.magic.mgc if it is there first
836	* fix reads from a pipe, and preserve errno
837
8382012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
839
840	* use ctime_r, asctime_r
841
8422012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
843
844	* Fixes for indirect offsets to handle apple disk formats
845
8462012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
847
848	* Add windows date field types
849	* More info for windows shortcuts (incomplete)
850
8512012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
852
853	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
854
8552011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
856
857	* Support Tilera architectures (tile64, tilepro, tilegx).
858
8592011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
860
861	* Add magic for /usr/bin/env Perl scripts
862	* Weaken generic script magic to avoid clashing with
863	language-specific magic.
864
8652011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
866
867	* Simplify if (p) free(p) to free(p).
868
8692011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
870
871	* Remove hardwired token finding (names.h), turning it into soft
872	magic. Patterns are either anchored regexs or search/8192. English
873	language detection and PL/1 detection have been removed as they
874	were too fragile. -e tokens is still accepted for backwards
875	compatibility.
876	* Move 3ds patterns (which are commented out anyway) into autodesk
877	(they were, oddly, in c-lang).
878
8792011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
880
881	* Tweak strength of generic hash-bang detectors to be less than
882	specific ones.
883	* Make an inconsistent description of Python scripts consistent.
884
8852011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
886
887	* Fix minor error in file(1).
888
8892011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
890
891	* Fix issue #150 (I hope).
892
8932011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
894
895	* Python3 binding fixes from Kelly Anderson
896
8972011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
898
899	* If a string type magic entry is marked as text or binary
900	  only match text files against text entries and binary
901	  files against binary entries.
902
9032011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
904
905	* Don't wait for any subprocess, just the one we forked.
906
9072011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
908
909	* If the application name is not set in a cdf file, try to see
910	  if it has a directory with the application name on it.
911
9122011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
913
914	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
915
9162011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
917
918	* Don't use variable string formats.
919
9202011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
921
922	* Fix detection of Zip files (Mantis #128).
923	* Make some minor improvements to file(1).
924	* Rename MIME types for filesystem objects for consistency with
925	  xdg-utils. Typically this means that application/x-foo becomes
926	  inode/foo, but some names also change slightly, e.g.
927	  application/x-character-device becomes inode/chardevice.
928
9292011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
930
931	* fix mingw compilation (Abradoks)
932
9332011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
934
935	* remove patchlevel.h
936	* Fix read past allocated memory caused by double-incrementing
937	  a pointer in a loop (reported by Roberto Maar)
938
9392011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
940
941	* Fix cdf string buffer setting (Sven Anders)
942
9432011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
944
945	* Eliminate MAXPATHLEN and use dynamic allocation for
946	  path and file buffers.
947
9482011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
949
950	* binary tests on magic entries with masks could spuriously
951	  get converted to ascii.
952
9532011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
954
955	* Improve file.man (remove BUGS, present email addresses consistently).
956
9572011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
958
959	* add lrzip support (from Ville Skytta)
960
9612011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
962
963	* fix CDF bounds checking (Guy Helmer)
964
9652011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
966
967	* add cdf_ctime() that prints a meaningful error when time cannot
968	  be converted.
969
9702011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
971
972	* help and version output to stdout.
973
974	* When matching softmagic for ascii files, don't just print
975	  the softmagic classification, keep going and print the
976	  text classification too. This fixes broken troff files when
977	  we moved them from keyword recognition to softmagic
978	  (they stopped printing "with CRLF" etc.)
979	  Reported by Doug McIlroy.
980
9812011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
982
983	* Fix two potential buffer overruns in apprentice_list.
984
9852011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
986
987	* New Python binding in pure Python.
988	* Update libmagic(3).
989
9902011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
991
992	* Fix Python bindings (including recent Python 3 compatibility
993	  update).
994
9952011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
996
997	* magic/Makefile.am: make it easier to recover from magic build failures.
998	* Fix pstring length specifier parsing to avoid generating invalid
999	  magic files.
1000	* Add pstring length "J" (for "JPEG") to specify that the length
1001	  include itself.
1002	* Fix JPEG comment parsing at last using pstring/HJ!
1003	* Ignore section 5 man pages in doc/.cvsignore.
1004
10052010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
1006
1007	* Add pstring/BHhLl to specify the type of the length of pascal
1008	  strings.
1009
10102010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
1011
1012	* Fix "-e soft": it was ignored when softmagic was called
1013	  during asciimagic.
1014	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
1015
10162010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
1017
1018	* Make bug reporting addresses more visible.
1019
10202010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
1021
1022	* Add tcl magic from Gustaf Neumann
1023
10242010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
1025
1026	* Fix the whitespace comparing code (Christopher Chittleborough)
1027
10282010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
1029
1030	* allow string/t to work (Jan Kaluza)
1031
10322010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
1033
1034	* Apply some patches from Ubuntu and Fedora.
1035
10362010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
1037
1038	* Apply all patches from Debian package 5.04-6 which have not
1039	  already been applied and are not Debian-specific.
1040
10412010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
1042
1043	* Minor security fix to softmagic.c (don't use untrusted
1044	  string as printf format).
1045
10462010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
1047
1048	* MINGW32 portability from LRN
1049
1050	* Don't warn about escaping magic regex chars when we are in a regex.
1051
10522010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
1053
1054	* Only try to print prpsinfo for core files. (Jan Kaluza)
1055
10562010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
1057
1058	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
1059
10602010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
1061
1062	* Clarify which sort of CDF we mean.
1063
10642010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
1065
1066	* Re-jig Zip file type magic so that unsupported special
1067	  Zip types (those with "mimetype" at offset 30) can be
1068	  recognized.
1069
10702010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
1071
1072	* Add support for OCF (EPUB) files (application/epub+zip)
1073
10742010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
1075
1076	* Fix core-dump from unbound loop:
1077	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
1078
10792010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
1080
1081	* print proper mime for crystal reports file
1082
1083	* print the last summary information of a cdf document, not the
1084	  first so that nested documents print the right info
1085
10862010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
1087
1088	* bring back some fixes from OpenBSD:
1089		- make gcc2 builds file
1090		- fix typos in a magic file comment
1091
10922009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
1093
1094	* ctime/asctime can return NULL on some OS's although
1095	  they should not (Toshit Antani)
1096
10972009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
1098
1099	* Centralize magic path handling routines and remove the
1100	  special-casing from file.c so that the python module for
1101	  example comes up with the same magic path (Fixes ~/.magic
1102	  handling) (from Gab)
1103
11042009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
1105
1106	* When magic argument is a directory, read the files in
1107	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
1108
11092009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
1110
1111	* Combine overlapping epoc and psion magic files into one (epoc).
1112
1113	* Add some more EPOC MIME types.
1114
11152009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
1116
1117	* Fix 3 bugs (From Ian Darwin):
1118	    - file_showstr could move one past the end of the array
1119	    - parse_apple did not nul terminate the string in the overflow case
1120	    - parse_mime truncated the wrong string in the overflow case
1121
11222009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
1123
1124	* Include Localstuff when compiling magic.
1125
11262009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
1127
1128	* Fix logic for including mygetopts.h
1129
1130	* Make cdf.c compile again with debugging
1131
1132	* Add the necessary field handling for crystal reports files to work
1133
11342009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
1135
1136	* Stop "(if" identifying Lisp files, that's plain dumb!
1137
11382009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
1139
1140	* Add a couple of missing MP3 MIME types.
1141
11422009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
1143
1144	* Add full range of hash-bang tests for Python and Ruby.
1145
1146	* Add MIME types for Python and Ruby scripts.
1147
11482009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
1149
1150	* off by one in parsing hw capabilities in elf
1151	  (Cheng Renquan)
1152
11532009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
1154
1155	* lint fixes and more from NetBSD
1156
11572009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
1158
1159	* Avoid null dereference in cdf code (Drew Yao)
1160
1161	* More cdf bounds checks and overflow checks
1162
11632009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
1164
1165	* Buffer overflow fixes from Drew Yao
1166
11672009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
1168
1169	* Fix more cdf lossage. All the documents I have
1170	  right now print the correct information.
1171
11722009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
1173
1174	* don't print \012- separators in the same magic entry
1175	  if it consists of multiple magic printing lines.
1176
11772009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
1178
1179	* Avoid file descriptor leak in compress code from
1180	  (Daniel Novotny)
1181
11822009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
1183
1184	* Allow escaping of relation characters, so that we can say \^[A-Z]
1185	  and the ^ is not eaten as a relation char.
1186
1187	* Fix troff and fortran to their previous glory using
1188	  regex. This was broken since their removel from ascmagic.
1189
11902009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
1191
1192	* don't use strlen in strndup() (Toby Peterson)
1193
11942009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
1195
1196	* avoid c99 syntax.
1197
11982009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
1199
1200	* make the cdf code use the buffer first if available,
1201	  and then the fd code.
1202
12032009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
1204
1205	* look for struct option to determine if getopt.h is usable for IRIX.
1206
1207	* sanitize cdf document strings
1208
12092009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
1210
1211	* fix OS/2 warnings.
1212
12132008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
1214
1215	* fix initial offset calculation for non 4K sector files
1216
1217	* add loop limits to avoid DoS attacks by constructing
1218	  looping sector references.
1219
12202008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
1221
1222	* fix memory botches on cdf file parsing.
1223
1224	* exit with non-zero value for any error, not just for the last
1225	  file processed.
1226
12272008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
1228
1229	* Replace all str{cpy,cat} functions with strl{cpy,cat}
1230	* Ensure that strl{cpy,cat} are included in libmagic,
1231	  as needed.
1232
12332008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
1234
1235	* Handle ID3 format files.
1236
12372008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
1238
1239	* Fix --mime, --mime-type and --mime-encoding under new scheme.
1240
1241	* Rename "ascii" to "text" and add "encoding" test.
1242
1243	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
1244	  UTF-16.
1245
1246	* Fix error in comment caused by automatic indentation adding
1247	  words!
1248
12492008-11-06 10:35  Christos Zoulas <christos@astron.com>
1250
1251	* use memchr instead of strchr because the string
1252	  might not be NUL terminated (Scott MacVicar)
1253
12542008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
1255
1256	* Fix a printf with a non-literal format string.
1257
1258	* Fix formatting and punctuation of help for "--apple".
1259
12602008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
1261
1262	* Correct words counts in comments of struct magic.
1263
1264	* Fix handle_annotation to allow both Apple and MIME types to be
1265	  printed, and to return correct code if MIME type is
1266	  printed (1, not 0) or if there's an error (-1 not 1).
1267
1268	* Fix output of charset for MIME type (precede with semi-colon;
1269	  fixes Debian bug #501460).
1270
1271	* Fix potential attacks via conversion specifications in magic
1272	  strings.
1273
1274	* Add a FIXME for Debian bug #488562 (magic files should be
1275	  read in a defined order, by sorting the names).
1276
12772008-10-18 16:45  Christos Zoulas <christos@astron.com>
1278
1279	* Added APPLE file creator/type
1280
12812008-10-12 10:20  Christos Zoulas <christos@astron.com>
1282
1283	* Added CDF parsing
1284
12852008-10-09 16:40  Christos Zoulas <christos@astron.com>
1286
1287	* filesystem and msdos patches (Joerg Jenderek)
1288
12892008-10-09 13:20  Christos Zoulas <christos@astron.com>
1290
1291	* correct --exclude documentation issues: remove troff and fortran
1292	  and rename "token" to "tokens". (Randy McMurchy)
1293
12942008-10-01 10:30  Christos Zoulas <christos@astron.com>
1295
1296	* Read ~/.magic in addition to the default magic file not instead
1297	  of, as documented in the man page.
1298
12992008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1300
1301	* Comment out graphviz patterns, as they match too many files.
1302
13032008-08-30 12:54  Christos Zoulas <christos@astron.com>
1304
1305	* Don't eat trailing \n in magic enties.
1306
1307	* Cast defines to allow compilation using a c++ compiler.
1308
13092008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1310
1311	* Add text/x-lua MIME type for Lua scripts.
1312
1313	* Escape { in regex in graphviz patterns.
1314
13152008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1316
1317	* Add MIME types for special files.
1318
1319	* Use access to give more accurate information for files that
1320	  can't be opened.
1321
1322	* Add a TODO list.
1323
13242008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1325
1326	* add !:strength op to adjust magic strength (experimental)
1327
13282008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1329
1330	* Fix automake error in configure.ac.
1331
1332	* Add MIME type for Psion Sketch files.
1333
13342008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1335
1336	* Don't print warnings about bad namesize in stripped
1337	  binaries with PT_NOTE is still there, and the actual
1338	  note is gone (Jakub Jelinek)
1339
13402008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1341
1342	* magic/Magdir/elf:
1343	  Note invalid byte order for little-endian SPARC32PLUS.
1344	  Add SPARC V9 vendor extensions and memory model.
1345
1346	* src/elfclass.h:
1347	  Pass target machine to doshn (for Solaris hardware capabilities).
1348
1349	* src/readelf.c (doshn):
1350	  Add support for Solaris hardware/software capabilities.
1351
1352	* src/readelf.h:
1353	  Ditto.
1354
1355	* src/vasprintf.c (dispatch):
1356	  Add support for ll modifier.
1357
13582008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1359
1360	* Fix compiler warnings.
1361
1362	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1363
13642008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1365
1366	* src/Makefile.am:
1367	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1368	  as needed.
1369
1370	  Remove unnecessary EXTRA_DIST.
1371
1372	* src/Makefile.in:
1373	  Rerun automake.
1374
1375	* src/vasprintf.c (dispatch):
1376	  Fix variable precision bug: be sure to step past '*'.
1377
1378	* src/vasprintf.c (core):
1379	  Remove unreachable code.
1380
1381	* src/apprentice.c (set_test_type):
1382	  Add cast to avoid compiler warning.
1383
13842008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1385
1386	* Add magic submission guidelines (Abel Cheung)
1387
1388	* split msdos and windows magic (Abel Cheung)
1389
13902008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1391
1392	* >= <= is not supported, so fix the magic and warn about it.
1393	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1394
13952008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1396
1397	* src/readelf.c (donote):
1398	  ELF core file command name/line bug fixes and enhancements:
1399
1400	  Try larger offsets first to avoid false matches
1401	  from earlier data that happen to look like strings;
1402	  this primarily affected SunOS 5.x 32-bit Intel core files.
1403
1404	  Add support for command line (instead of just short name)
1405	  for SunOS 5.x.
1406
1407	  Add information about NT_PSINFO for SunOS 5.x.
1408
1409	  Only trim whitespace from end of command line.
1410
14112007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1412
1413	* Change strength of ! from MULT to 0, as it matches almost
1414		  anything (Reuben Thomas)
1415
1416	* Debian fixes (Reuben Thomas)
1417
14182007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1419
1420	* Clarify UTF-8 BOM message (Reuben Thomas)
1421
1422	* Add HTML comment to token list in names.h
1423
14242007-02-04 15:50 Christos Zoulas <christos@astron.com>
1425
1426	* Debian fixes (Reuben Thomas)
1427
14282007-02-04 11:31 Christos Zoulas <christos@astron.com>
1429
1430	* !:mime annotations in magic files (Reuben Thomas)
1431
14322007-01-29 15:35 Christos Zoulas <christos@astron.com>
1433
1434	* zero out utime/utimes structs (Gavin Atkinson)
1435
14362007-01-26 13:45 Christos Zoulas <christos@astron.com>
1437
1438	* reduce writable data from Diego "Flameeyes" Petten
1439
14402007-12-28 15:06 Christos Zoulas <christos@astron.com>
1441
1442	* strtof detection
1443
1444	* remove bogus regex magic that could cause a DoS
1445
1446	* better mismatch version message
1447
14482007-12-27 11:35 Christos Zoulas <christos@astron.com>
1449
1450	* bring back some fixes from OpenBSD
1451
1452	* treat ELF dynamic objects as executables
1453
1454	* fix gcc warnings
1455
14562007-12-01 19:55 Christos Zoulas <christos@astron.com>
1457
1458	* make sure we have zlib.h and libz to compile the builtin
1459	  decompress code
1460
14612007-10-28 20:48 Christos Zoulas <christos@astron.com>
1462
1463 	* float and double magic support (Behan Webster)
1464
14652007-10-28 20:48 Christos Zoulas <christos@astron.com>
1466
1467	* Convert fortran to a soft test (Reuben Thomas)
1468
14692007-10-23  5:25 Christos Zoulas <christos@astron.com>
1470
1471	* Add --with-filename, and --no-filename (Reuben Thomas)
1472
14732007-10-23  3:59 Christos Zoulas <christos@astron.com>
1474
1475	* Rest of the mime split (Reuben Thomas)
1476
1477	* Make usage message generated from the flags so that
1478	  they stay consistent (Reuben Thomas)
1479
14802007-10-20  3:06 Christos Zoulas <christos@astron.com>
1481
1482	* typo in comment, missing ifdef QUICK, remove unneeded code
1483		(Charles Longeau)
1484
14852007-10-17  3:33 Christos Zoulas <christos@astron.com>
1486
1487	* Fix problem printing -\012 in some entries
1488
1489	* Separate magic type and encoding flags (Reuben Thomas)
1490
14912007-10-09  3:55 Christos Zoulas <christos@astron.com>
1492
1493	* configure fix for int64 and strndup (Reuben Thomas)
1494
14952007-09-26  4:45 Christos Zoulas <christos@astron.com>
1496
1497	* Add magic_descriptor() function.
1498
1499	* Fix regression in elf reading code where the core name was
1500	  not being printed.
1501
1502	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1503
15042007-08-19  6:30 Christos Zoulas <christos@astron.com>
1505
1506	* Make mime format consistent so that it can
1507	  be easily parsed:
1508	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1509
1510	  Remove spurious extra text from some MIME type printouts
1511	  (mostly in is_tar).
1512
1513	  Fix one case where -i produced nothing at all (for a 1-byte file,
1514	  which is now classed as application/octet-stream).
1515
1516	  Remove 7/8bit classifications, since they were arbitrary
1517	  and not based on the file data.
1518
1519	  This work was done by Reuben Thomas
1520
15212007-05-24 10:00 Christos Zoulas <christos@astron.com>
1522
1523	* Fix another integer overflow (Colin Percival)
1524
15252007-03-26 13:58 Christos Zoulas <christos@astron.com>
1526
1527	* make sure that all of struct magic_set is initialized appropriately
1528	  (Brett)
1529
15302007-03-25 17:44 Christos Zoulas <christos@astron.com>
1531
1532	* reset left bytes in the buffer (Dmitry V. Levin)
1533
1534	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1535	  (Peter Avalos)
1536
15372007-03-15 10:51 Christos Zoulas <christos@astron.com>
1538
1539	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1540
1541	* fix exclude option (Dmitry V. Levin)
1542
15432007-02-08 17:30 Christos Zoulas <christos@astron.com>
1544
1545	* fix integer underflow in file_printf which can lead to
1546	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1547
15482007-02-05 11:35 Christos Zoulas <christos@astron.com>
1549
1550	* make socket/pipe reading more robust
1551
15522007-01-25 16:01 Christos Zoulas <christos@astron.com>
1553
1554	* Centralize all the tests in file_buffer.
1555
1556	* Add exclude flag.
1557
15582007-01-18 05:29 Anon Ymous <do@not.spam.me>
1559
1560	* Move the "type" detection code from parse() into its own table
1561	  driven routine.  This avoids maintaining multiple lists in
1562	  file.h.
1563
1564	* Add an optional conditional field (ust before the type field).
1565	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1566	  likely to go away.
1567
15682007-01-16 23:24 Anon Ymous <do@not.spam.me>
1569
1570	* Fix an initialization bug in check_mem().
1571
15722007-01-16 14:58 Anon Ymous <do@not.spam.me>
1573
1574	* Add a "default" type to print a message if nothing previously
1575	  matched at that level or since the last default at that
1576	  level.  This is useful for setting up switch-like statements.
1577	  It can also be used to do if/else constructions without a
1578	  redundant second test.
1579
1580	* Fix the "x" special case test so that one can test for that
1581	  string with "=x".
1582
1583	* Allow "search" to search the entire buffer if the "/N"
1584	  search count is missing.
1585
1586	* Make "regex" work!  It now starts its search at the
1587	  specified offset and takes an (optional) "/N" line count to
1588	  specify the search range; otherwise it searches to the end
1589	  of the file.  The match is now grabbed correctly for format
1590	  strings and the offset set to the end of the match.
1591
1592	* Add a "/s" flag to "regex" and "search" to set the offset to
1593	  the start of the match.  By default the offset is set to the
1594	  end of the match, as it is with other tests.  This is mostly
1595	  useful for "regex".
1596
1597	* Make "search", "string" and "pstring" use the same
1598	  file_strncmp() routine so that they support the same flags;
1599	  "bestring16" and "lestring16" call the same routine, but
1600	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1601	  to ignore the case on uppercase (lowercase) characters in
1602	  the test string.
1603
1604	* Strict adherence to C style string escapes.  A warnings are
1605	  printed when compiling.  Note: previously "\a" was
1606	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1607	  BELL, typically 0x07).
1608
1609	* Make this compile with "-Wall -Wextra" and all the warning
1610	  flags used with WARNS=4 in the NetBSD source.  Also make it
1611	  pass lint.
1612
1613	* Many "cleanups" and hopefully not too many new bugs!
1614
16152007-01-16 14:56 Anon Ymous <do@not.spam.me>
1616
1617	* make several more files compile with gcc warnings
1618	  on and also make them pass lint.
1619
16202007-01-16 14:54 Anon Ymous <do@not.spam.me>
1621
1622	* fix a puts()/putc() usage goof in file.c
1623
1624	* make file.c compile with gcc warnings and pass lint
1625
16262006-12-11 16:49 Christos Zoulas <christos@astron.com>
1627
1628	* fix byteswapping issue
1629
1630	* report the number of bytes we tried to
1631	  allocate when allocation fails
1632
1633	* add a few missed cases in the strength routine
1634
16352006-12-08 16:32 Christos Zoulas <christos@astron.com>
1636
1637	* store and print the line number of the magic
1638	  entry for debugging.
1639
1640	* if the magic entry did not print anything,
1641	  don't treat it as a match
1642
1643	* change the magic strength algorithm to take
1644	  into account the relationship op.
1645
1646	* fix a bug in search where we could accidentally
1647	  return a match.
1648
1649	* propagate the error return from match to
1650	  file_softmagic.
1651
16522006-11-25 13:35 Christos Zoulas <christos@astron.com>
1653
1654	* Don't store the current offset in the magic
1655	  struct, because it needs to be restored and
1656	  it was not done properly all the time. Bug
1657	  found by: Arkadiusz Miskiewicz
1658
1659	* Fix problem in the '\0' separator; and don't
1660	  print it as an additional separator; print
1661	  it as the only separator.
1662
16632006-11-17 10:51 Christos Zoulas <christos@astron.com>
1664
1665	* Added a -0 option to print a '\0' separator
1666	  Etienne Buira <etienne.buira@free.fr>
1667
16682006-10-31 15:14 Christos Zoulas <christos@astron.com>
1669
1670	* Check offset before copying (Mike Frysinger)
1671
1672	* merge duplicated code
1673
1674	* add quad date support
1675
1676	* make sure that we nul terminate desc (Ryoji Kanai)
1677
1678	* don't process elf notes multiple times
1679
1680	* allow -z to report empty compressed files
1681
1682	* use calloc to initialize the ascii buffers (Jos van den Oever)
1683
16842006-06-08 11:11 Christos Zoulas <christos@astron.com>
1685
1686	* QNX fixes (Mike Gorchak)
1687
1688	* Add quad support.
1689
1690	* FIFO checks (Dr. Werner Fink)
1691
1692	* Linux ELF fixes (Dr. Werner Fink)
1693
1694	* Magic format checks (Dr. Werner Fink)
1695
1696	* Magic format function improvent (Karl Chen)
1697
16982006-05-03 11:11 Christos Zoulas <christos@astron.com>
1699
1700	* Pick up some elf changes and some constant fixes from SUSE
1701
1702	* Identify gnu tar vs. posix tar
1703
1704	* When keep going, don't print spurious newlines (Radek Vokal)
1705
17062006-04-01 12:02 Christos Zoulas <christos@astron.com>
1707
1708	* Use calloc instead of malloc (Mike Frysinger)
1709
1710	* Fix configure script to detect wctypes.h (Mike Frysinger)
1711
17122006-03-02 16:06 Christos Zoulas <christos@astron.com>
1713
1714	* Print empty if the file is (Mike Frysinger)
1715
1716	* Don't try to read past the end of the buffer (Mike Frysinger)
1717
1718	* Sort magic entries by strength [experimental]
1719
17202005-11-29 13:26 Christos Zoulas <christos@astron.com>
1721
1722	* Use iswprint() to convert the output string.
1723	    (Bastien Nocera)
1724
17252005-10-31 8:54 Christos Zoulas <christos@astron.com>
1726
1727	* Fix regression where the core info was not completely processed
1728	    (Radek Vokal)
1729
17302005-10-20 11:15 Christos Zoulas <christos@astron.com>
1731
1732	* Middle Endian magic (Diomidis Spinellis)
1733
17342005-10-17 11:15 Christos Zoulas <christos@astron.com>
1735
1736	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1737
1738	* Don't close stdin (Arkadiusz Miskiewicz)
1739
1740	* Look for note sections in non executables.
1741
17422005-09-20 13:33 Christos Zoulas <christos@astron.com>
1743
1744	* Don't print SVR4 Style in core files multiple times
1745	    (Radek Vokal)
1746
17472005-08-27 04:09 Christos Zoulas <christos@astron.com>
1748
1749	* Cygwin changes Corinna Vinschen
1750
17512005-08-18 09:53 Christos Zoulas <christos@astron.com>
1752
1753	* Remove erroreous mention of /etc/magic in the file man page
1754	  This is gentoo bug 101639. (Mike Frysinger)
1755
1756	* Cross-compile support and detection (Mike Frysinger)
1757
17582005-08-12 10:17 Christos Zoulas <christos@astron.com>
1759
1760	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1761	  is set.
1762
17632005-07-29 13:57 Christos Zoulas <christos@astron.com>
1764
1765	* Avoid search and regex buffer overflows (Kelledin)
1766
17672005-07-12 11:48 Christos Zoulas <christos@astron.com>
1768
1769	* Provide stub implementations for {v,}nsprintf() for older
1770	  OS's that don't have them.
1771	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1772	  to AC_TYPE_MBSTATE_T.
1773
17742005-06-25 11:48 Christos Zoulas <christos@astron.com>
1775
1776	* Dynamically allocate the string buffers and make the
1777	  default read size 256K.
1778
17792005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1780
1781	* Dragonfly ELF note support
1782
17832005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1784
1785	* Avoid NULL pointer dereference in time conversion.
1786
17872005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1788
1789	* Add indirect magic offset support, and search mode.
1790
17912005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1792
1793	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1794	  If a CRLF text file happens to have CR at offset HOWMANY - 1
1795	  (currently 0xffff), it should not be counted as CR line
1796	  terminator.
1797	  If a line has length exactly MAXLINELEN, it should not yet be
1798	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
1799	  line length''.
1800	  With CRLF, the line length was not computed correctly, and even
1801	  lines of length MAXLINELEN - 1 were treated as ``very long''.
1802
18032004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1804
1805	* bzip2 needs a lot of input buffer space on some files
1806	  before it can begin uncompressing. This makes file -z
1807	  fail on some bz2 files. Fix it by giving it a copy of
1808	  the file descriptor to read as much as it wants if we
1809	  have access to it. <christos@astron.com>
1810
18112004-11-24 12:39  Christos Zoulas  <christos@astron.com>
1812
1813	* Stack smash fix, and ELF more conservative reading.
1814	  Jakub Bogusz <qboosh@pld-linux.org>
1815
18162004-11-20 18:50  Christos Zoulas  <christos@astron.com>
1817
1818	* New FreeBSD version parsing code:
1819	  Jon Noack <noackjr@alumni.rice.edu>
1820
1821	* Hackish support for ucs16 strings <christos@astron.com>
1822
18232004-11-13 03:07  Christos Zoulas  <christos@astron.com>
1824
1825	* print the file name and line number in syntax errors.
1826
18272004 10-12 10:50  Christos Zoulas  <christos@astron.com>
1828
1829	* Fix stack overwriting on 0 length strings: Tim Waugh
1830	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
1831
18322004-09-27 11:30  Christos Zoulas  <christos@astron.com>
1833
1834	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
1835
1836	* Fix small memory leaks; caught by: Tamas Sarlos
1837	    <stamas@csillag.ilab.sztaki.hu>
1838
18392004-07-24 16:33  Christos Zoulas  <christos@astron.com>
1840
1841	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
1842
1843	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
1844
1845	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
1846
1847  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
1848
18492004-04-12 10:55  Christos Zoulas  <christos@astron.com>
1850
1851	* make sure that magic formats match magic types during compilation
1852
1853	* fix broken sgi magic file
1854
18552004-04-06 20:36  Christos Zoulas  <christos@astron.com>
1856
1857	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
1858
1859	* magic fixes
1860
18612004-03-22 15:25  Christos Zoulas  <christos@astron.com>
1862
1863	* Lots of mime fixes
1864	  (Joerg Ostertag) <ostertag@rechengilde.de>
1865
1866	* FreeBSD ELF version handling
1867	  (Edwin Groothuis) <edwin@mavetju.org>
1868
1869	* correct cleanup in all cases; don't just close the file.
1870	  (Christos Zoulas) <christos@astron.com>
1871
1872	* add gettext message catalogue support
1873	  (Michael Piefel) <piefel@debian.org>
1874
1875	* better printout for unreadable files
1876	  (Michael Piefel) <piefel@debian.org>
1877
1878	* compensate for missing MAXPATHLEN
1879	  (Michael Piefel) <piefel@debian.org>
1880
1881	* add wide character string length computation
1882	  (Michael Piefel) <piefel@debian.org>
1883
1884	* Avoid infinite loops caused by bad elf alignments
1885	  or name and description note sizes. Reported by
1886	  (Mikael Magnusson) <mmikael@comhem.se>
1887
18882004-03-09 13:55  Christos Zoulas  <christos@astron.com>
1889
1890	* Fix possible memory leak on error and add missing regfree
1891	  (Dmitry V. Levin) <ldv@altlinux.org>
1892
18932003-12-23 12:12  Christos Zoulas  <christos@astron.com>
1894
1895	* fix -k flag (Maciej W. Rozycki)
1896
18972003-11-18 14:10  Christos Zoulas  <christos@astron.com>
1898
1899	* Try to give us much info as possible on corrupt elf files.
1900	  (Willy Tarreau) <willy@w.ods.org>
1901	* Updated python bindings (Brett Funderburg)
1902	   <brettf@deepfile.com>
1903
19042003-11-11 15:03  Christos Zoulas  <christos@astron.com>
1905
1906	* Include file.h first, because it includes config.h
1907	  breaks largefile test macros otherwise.
1908	  (Paul Eggert <eggert@CS.UCLA.EDU> via
1909	   Lars Hecking <lhecking@nmrc.ie>)
1910
19112003-10-14 21:39  Christos Zoulas  <christos@astron.com>
1912
1913	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
1914	* Don't lookup past the end of the buffer
1915	  (Chad Hanson) <chanson@tcs-sec.com>
1916	* Add MAGIC_ERROR and api on magic_errno()
1917
19182003-10-08 12:40  Christos Zoulas  <christos@astron.com>
1919
1920	* handle error conditions from compile as fatal
1921	  (Antti Kantee) <pooka@netbsd.org>
1922	* handle magic filename parsing sanely
1923	* more magic fixes.
1924	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
1925	* describe magic file handling
1926	  (Bryan Henderson) <bryanh@giraffe-data.com>
1927
19282003-09-12 15:09  Christos Zoulas  <christos@astron.com>
1929
1930	* update magic files.
1931	* remove largefile support from file.h; it breaks things on most OS's
1932
19332003-08-10 10:25  Christos Zoulas  <christos@astron.com>
1934
1935	* fix unmapping'ing of mmaped files.
1936
19372003-07-10 12:03  Christos Zoulas  <christos@astron.com>
1938
1939	* don't exit with -1 on error; always exit 1 (Marty Leisner)
1940	* restore utimes code.
1941
19422003-06-10 17:03  Christos Zoulas  <christos@astron.com>
1943
1944	* make sure we don't access uninitialized memory.
1945	* pass lint
1946	* #ifdef __cplusplus in magic.h
1947
19482003-05-25 19:23  Christos Zoulas  <christos@astron.com>
1949
1950	* rename cvs magic file to revision to deal with
1951	  case insensitive filesystems.
1952
19532003-05-23 17:03  Christos Zoulas  <christos@astron.com>
1954
1955	* documentation fixes from Michael Piefel <piefel@debian.org>
1956	* magic fixes (various)
1957	* revert basename magic in .mgc name determination
1958	* buffer protection in uncompress,
1959	  signness issues,
1960	  close files
1961	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
1962
19632003-04-21 20:12  Christos Zoulas  <christos@astron.com>
1964
1965	* fix zsh magic
1966
19672003-04-04 16:59  Christos Zoulas  <christos@astron.com>
1968
1969	* fix operand sort order in string.
1970
19712003-04-02 17:30  Christos Zoulas  <christos@astron.com>
1972
1973	* cleanup namespace in magic.h
1974
19752003-04-02 13:50  Christos Zoulas  <christos@astron.com>
1976
1977	* Magic additions (Alex Ott)
1978	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
1979
19802003-03-28 16:03  Christos Zoulas  <christos@astron.com>
1981
1982	* remove packed attribute from magic struct.
1983	* make the magic struct properly aligned.
1984	* bump version number of compiled files to 2.
1985
19862003-03-27 13:10  Christos Zoulas  <christos@astron.com>
1987
1988	* separate tar detection and run it before softmagic.
1989	* fix reversed symlink test.
1990	* fix version printing.
1991	* make separator a string instead of a char.
1992	* update manual page and sort options.
1993
19942003-03-26 11:00  Christos Zoulas  <christos@astron.com>
1995
1996	* Pass lint
1997	* make NULL in magic_file mean stdin
1998	* Fix "-" argument to file to pass NULL to magic_file
1999	* avoid pointer casts by using memcpy
2000	* rename magic_buf -> magic_buffer
2001	* keep only the first error
2002	* manual page: new sentence, new line
2003	* fix typo in api function (magic_buf -> magic_buffer)
2004