xref: /freebsd/contrib/file/ChangeLog (revision 58a0f0d00c0cc4a90ce584a61470290751bfcac7)
12018-04-15  14:52  Christos Zoulas <christos@zoulas.com>
2
3	* release 5.33
4
52018-02-24  14:50  Christos Zoulas <christos@zoulas.com>
6
7	* extend the support for ${x?:} expansions for magic descriptions
8
92018-02-21  16:25  Christos Zoulas <christos@zoulas.com>
10
11	* add support for ${x?:} in mime types to handle
12	  pie binaries.
13
142017-11-03   9:23  Christos Zoulas <christos@zoulas.com>
15
16	* add support for negative offsets (offsets from the end of file)
17
182017-09-26   8:22  Christos Zoulas <christos@zoulas.com>
19
20	* close the file on error when writing magic (Steve Grubb)
21
222017-09-24  12:02  Christos Zoulas <christos@zoulas.com>
23
24	* seccomp support (Paul Moore)
25
262017-09-02  11:53  Christos Zoulas <christos@zoulas.com>
27
28	* release 5.32
29
302017-08-28  16:37  Christos Zoulas <christos@zoulas.com>
31
32	* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
33
342017-08-27  03:55  Christos Zoulas <christos@zoulas.com>
35
36	* Fix always true condition (Thomas Jarosch)
37
382017-05-24  17:30  Christos Zoulas <christos@zoulas.com>
39
40	* pickier parsing of numeric values in magic files.
41
422017-05-23  17:55  Christos Zoulas <christos@zoulas.com>
43
44	* PR/615 add magic_getflags()
45
462017-05-23  13:55  Christos Zoulas <christos@zoulas.com>
47
48	* release 5.31
49
502017-03-17  20:32  Christos Zoulas <christos@zoulas.com>
51
52	* remove trailing spaces from magic files
53	* refactor is_tar
54	* better bounds checks for cdf
55
562017-02-10  12:24  Christos Zoulas <christos@zoulas.com>
57
58	* release 5.30
59
602017-02-07  23:27  Christos Zoulas <christos@zoulas.com>
61
62	* If we exceeded the offset in a search return no match
63	  (Christoph Biedl)
64	* Be more lenient on corrupt CDF files (Christoph Biedl)
65
662017-02-04  16:46  Christos Zoulas <christos@zoulas.com>
67
68	* pacify ubsan sign extension (oss-fuzz/524)
69
702017-02-01  12:42  Christos Zoulas <christos@zoulas.com>
71
72	* off by one in cdf parsing (PR/593)
73	* report debugging sections in elf (PR/591)
74
752016-11-06  10:52  Christos Zoulas <christos@zoulas.com>
76
77	* Allow @@@ in extensions
78	* Add missing overflow check in der magic (Jonas Wagner)
79
802016-10-25  10:40  Christos Zoulas <christos@zoulas.com>
81
82	* release 5.29
83
842016-10-24  11:20  Christos Zoulas <christos@zoulas.com>
85
86	* der getlength overflow (Jonas Wagner)
87	* multiple magic file load failure (Christoph Biedl)
88
892016-10-17  11:26  Christos Zoulas <christos@zoulas.com>
90
91	* CDF parsing improvements (Guy Helmer)
92
932016-07-20   7:26  Christos Zoulas <christos@zoulas.com>
94
95	* Add support for signed indirect offsets
96
972016-07-18   7:41  Christos Zoulas <christos@zoulas.com>
98
99	* cat /dev/null | file - should print empty (Christoph Biedl)
100
1012016-07-05  15:20  Christos Zoulas <christos@zoulas.com>
102
103	* Bump string size from 64 to 96.
104
1052016-06-13  20:20  Christos Zoulas <christos@zoulas.com>
106
107	* PR/556: Fix separators on annotations.
108
1092016-06-13  19:40  Christos Zoulas <christos@zoulas.com>
110
111	* release 5.28
112	* fix leak on allocation failure
113
1142016-06-01   1:20  Christos Zoulas <christos@zoulas.com>
115
116	* PR/555: Avoid overflow for offset > nbytes
117	* PR/550: Segv on DER parsing:
118	    - use the correct variable for length
119	    - set offset to 0 on failure.
120
1212016-05-13  12:00  Christos Zoulas <christos@zoulas.com>
122
123	* release 5.27
124
1252016-04-18   9:35  Christos Zoulas <christos@zoulas.com>
126
127	* Errors comparing DER entries or computing offsets
128	  are just indications of malformed non-DER files.
129	  Don't print them.
130	* Offset comparison was off-by-one.
131	* Fix compression code (Werner Fink)
132	* Put new bytes constant in the right file (not the generated one)
133
1342016-04-16  18:34  Christos Zoulas <christos@zoulas.com>
135
136	* release 5.26
137
1382016-03-31  13:50  Christos Zoulas <christos@zoulas.com>
139
140	* make the number of bytes read from files configurable.
141
1422016-03-21  13:40  Christos Zoulas <christos@zoulas.com>
143
144	* Add bounds checks for DER code (discovered by Thomas Jarosch)
145	* Change indirect recursion limit to indirect use count and
146	  bump from 15 to 50 to prevent abuse.
147
1482016-03-13  20:39  Christos Zoulas <christos@zoulas.com>
149
150	* Add -00 which prints filename\0description\0
151
1522016-03-01  13:28  Christos Zoulas <christos@zoulas.com>
153
154	* Fix ID3 indirect parsing
155
1562016-01-19  10:18  Christos Zoulas <christos@zoulas.com>
157
158	* add DER parsing capability
159
1602015-11-13  10:35  Christos Zoulas <christos@zoulas.com>
161
162	* provide dprintf(3) for the OS's that don't have it.
163
1642015-11-11  16:25  Christos Zoulas <christos@zoulas.com>
165
166	* redo the compression code report decompression errors
167
1682015-11-10  23:25  Christos Zoulas <christos@zoulas.com>
169
170	* REG_STARTEND code is not working as expected, delete it.
171
1722015-11-09  16:05  Christos Zoulas <christos@zoulas.com>
173
174	* Add zlib support if we have it.
175
1762015-11-05  11:22  Christos Zoulas <christos@zoulas.com>
177
178	* PR/492: compression forking was broken with magic_buffer.
179
1802015-09-16   9:50  Christos Zoulas <christos@zoulas.com>
181
182	* release 5.25
183
1842015-09-11  13:25  Christos Zoulas <christos@zoulas.com>
185
186	* add a limit to the length of regex searches
187
1882015-09-08   9:50  Christos Zoulas <christos@zoulas.com>
189
190	* fix problems with --parameter (Christoph Biedl)
191
1922015-07-11  10:35  Christos Zoulas <christos@zoulas.com>
193
194	* Windows fixes PR/466 (Jason Hood)
195
1962015-07-09  10:35  Christos Zoulas <christos@zoulas.com>
197
198	* release 5.24
199
2002015-06-11   8:52  Christos Zoulas <christos@zoulas.com>
201
202	* redo long option encoding to fix off-by-one in 5.23
203
2042015-06-10  13:50  Christos Zoulas <christos@zoulas.com>
205
206	* release 5.23
207
2082015-06-09  16:10  Christos Zoulas <christos@zoulas.com>
209
210	* Fix issue with regex range for magic with offset
211	* Always return true from mget with USE (success to mget not match
212	  indication). Fixes mime evaluation after USE magic
213	* PR/459: Don't insert magic entries to the list if there are parsing
214	  errors for them.
215
2162015-06-03  16:00  Christos Zoulas <christos@zoulas.com>
217
218	* PR/455: Add utf-7 encoding
219
2202015-06-03  14:30  Christos Zoulas <christos@zoulas.com>
221
222	* PR/455: Implement -Z, look inside, but don't report on compression
223	* PR/454: Fix allocation error on bad magic.
224
2252015-05-29  10:30  Christos Zoulas <christos@zoulas.com>
226
227	* handle MAGIC_CONTINUE everywhere, not just in softmagic
228
2292015-05-21  14:30  Christos Zoulas <christos@zoulas.com>
230
231	* don't print descriptions for NAME types when mime.
232
2332015-04-09  15:59  Christos Zoulas <christos@zoulas.com>
234
235	* Add --extension to list the known extensions for this file type
236	  Idea by Andrew J Roazen
237
2382015-02-14  12:23  Christos Zoulas <christos@zoulas.com>
239
240	* Bump file search buffer size to 1M.
241
2422015-01-09  14:35  Christos Zoulas <christos@zoulas.com>
243
244	* Fix multiple issues with date formats reported by Christoph Biedl:
245		- T_LOCAL meaning was reversed
246		- Arithmetic did not work
247	  Also stop adjusting daylight savings for gmt printing.
248
2492015-01-05  13:00  Christos Zoulas <christos@zoulas.com>
250
251	* PR/411: Fix memory corruption from corrupt cdf file.
252
2532015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
254
255	* release 5.22
256
2572015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
258
259	* add indirect relative for TIFF/Exif
260
2612014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
262
263	* restructure elf note printing to avoid repeated messages
264	* add note limit, suggested by Alexander Cherepanov
265
2662014-12-16  16:53  Christos Zoulas <christos@zoulas.com>
267
268	* Bail out on partial pread()'s (Alexander Cherepanov)
269	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
270
2712014-12-11  20:01  Christos Zoulas <christos@zoulas.com>
272
273	* PR/405: ignore SIGPIPE from uncompress programs
274	* change printable -> file_printable and use it in
275	  more places for safety
276	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
277	  is present print the interpreter name.
278
2792014-12-10  20:01  Christos Zoulas <christos@zoulas.com>
280
281	* release 5.21
282
2832014-11-27  18:40  Christos Zoulas <christos@zoulas.com>
284
285	* Allow setting more parameters from the command line.
286	* Split name/use and indirect magic recursion limits.
287
2882014-11-27  11:12  Christos Zoulas <christos@zoulas.com>
289
290	* Adjust ELF parameters and the default recursion
291	  level.
292	* Allow setting the recursion level dynamically.
293
2942014-11-24   8:55  Christos Zoulas <christos@zoulas.com>
295
296	* The following fixes resulted from Thomas Jarosch's fuzzing
297	  tests that revealed severe performance issues on pathological
298	  input:
299	    - limit number of elf program and sections processing
300	    - abort elf note processing quickly
301	    - reduce the number of recursion levels from 20 to 10
302	    - preserve error messages in indirect magic handling
303
304	This is tracked as CVE-2014-8116 and CVE-2014-8117
305
3062014-11-12  10:30  Christos Zoulas <christos@zoulas.com>
307
308	* fix bogus free in the user buffer case.
309
3102014-11-11  12:35  Christos Zoulas <christos@zoulas.com>
311
312	* fix out of bounds read for pascal strings
313	* fix memory leak (not freeing the head of each mlist)
314
3152014-11-07  10:25  Christos Zoulas <christos@zoulas.com>
316
317	* When printing strings from a file, convert them to printable
318	  on a byte by byte basis, so that we don't get issues with
319	  locale's trying to interpret random byte streams as UTF-8 and
320	  having printf error out with EILSEQ.
321
3222014-10-17  11:48  Christos Zoulas <christos@zoulas.com>
323
324	* fix bounds in note reading (Francisco Alonso / Red Hat)
325
3262014-10-11  15:02  Christos Zoulas <christos@zoulas.com>
327
328	* fix autoconf glue for setlocale and locale_t; some OS's
329	  have locale_t in xlocale.h
330
3312014-10-10  15:01  Christos Zoulas <christos@zoulas.com>
332
333	* release 5.20
334
3352014-08-17  10:01  Christos Zoulas <christos@zoulas.com>
336
337	* recognize encrypted CDF documents
338
3392014-08-04   9:18  Christos Zoulas <christos@zoulas.com>
340
341	* add magic_load_buffers from Brooks Davis
342
3432014-07-24  16:40  Christos Zoulas <christos@zoulas.com>
344
345	* add thumbs.db support
346
3472014-06-12  12:28  Christos Zoulas <christos@zoulas.com>
348
349	* release 5.19
350
3512014-06-09   9:04  Christos Zoulas <christos@zoulas.com>
352
353	* Misc buffer overruns and missing buffer size tests in cdf parsing
354	  (Francisco Alonso, Jan Kaluza)
355
3562014-06-02  14:50  Christos Zoulas <christos@zoulas.com>
357
358	* Enforce limit of 8K on regex searches that have no limits
359	* Allow the l modifier for regex to mean line count. Default
360	  to byte count. If line count is specified, assume a max
361	  of 80 characters per line to limit the byte count.
362	* Don't allow conversions to be used for dates, allowing
363	  the mask field to be used as an offset.
364
3652014-05-30  12:51  Christos Zoulas <christos@zoulas.com>
366
367	* Make the range operator limit the length of the
368	  regex search.
369
3702014-05-14  19:23  Christos Zoulas <christos@zoulas.com>
371
372	* PR/347: Windows fixes
373	* PR/352: Hangul word processor recognition
374	* PR/354: Encoding irregularities in text files
375
3762014-05-06  6:12  Christos Zoulas <christos@zoulas.com>
377
378	* Fix uninitialized title in CDF files (Jan Kaluza)
379
3802014-05-04  14:55  Christos Zoulas <christos@zoulas.com>
381
382	* PR/351: Fix compilation of empty files
383
3842014-04-30  17:39  Christos Zoulas <christos@zoulas.com>
385
386	* Fix integer formats: We don't specify 'l' or
387	  'h' and 'hh' specifiers anymore, only 'll' for
388	  quads and nothing for the rest. This is so that
389	  magic writing is simpler.
390
3912014-04-01  15:25  Christos Zoulas <christos@zoulas.com>
392
393	* PR/341: Jan Kaluza, fix memory leak
394	* PR/342: Jan Kaluza, fix out of bounds read
395
3962014-03-28  15:25  Christos Zoulas <christos@zoulas.com>
397
398	* Fix issue with long formats not matching fmtcheck
399
4002014-03-26  11:25  Christos Zoulas <christos@zoulas.com>
401
402	* release 5.18
403
4042014-03-15  17:45  Christos Zoulas <christos@zoulas.com>
405
406	* add fmtcheck(3) for those who don't have it
407
4082014-03-14  15:12  Christos Zoulas <christos@zoulas.com>
409
410	* prevent mime entries from being attached to magic
411	  entries with no descriptions
412
413	* adjust magic strength for regex type
414
415	* remove superfluous ascmagic with encoding test
416
4172014-03-06  12:01  Christos Zoulas <christos@zoulas.com>
418
419	* fix regression fix echo -ne "\012\013\014" | file -i -
420	  which printed "binary" instead of "application/octet-stream"
421
422	* add size_t overflow check for magic file size
423
4242014-02-27  16:01  Christos Zoulas <christos@zoulas.com>
425
426	* experimental support for matching with CFD CLSID
427
4282014-02-18  13:04  Kimmo Suominen (kimmo@suominen.com)
429
430	* Cache old LC_CTYPE locale before setting it to "C", so
431	  we can use it to restore LC_CTYPE instead of asking
432	  setlocale() to scan the environment variables.
433
4342014-02-12  18:21  Christos Zoulas <christos@zoulas.com>
435
436	* Count recursion levels through indirect magic
437
4382014-02-11  10:40  Christos Zoulas <christos@zoulas.com>
439
440	* Prevent infinite recursion on files with indirect offsets of 0
441
4422014-01-30  21:00  Christos Zoulas <christos@zoulas.com>
443
444	* Add -E flag that makes file print filesystem errors to stderr
445	  and exit.
446
4472014-01-08  17:20  Christos Zoulas <christos@zoulas.com>
448
449	* mime printing could print results from multiple magic entries
450	  if there were multiple matches.
451	* in some cases overflow was not detected when computing offsets
452	  in softmagic.
453
4542013-12-05  12:00  Christos Zoulas <christos@zoulas.com>
455
456	* use strcasestr() to for cdf strings
457	* reset to the "C" locale while doing regex operations, or case
458	  insensitive comparisons; this is provisional
459
4602013-11-19  20:10  Christos Zoulas <christos@zoulas.com>
461
462	* always leave magic file loaded, don't unload for magic_check, etc.
463	* fix default encoding to binary instead of unknown which broke recently
464	* handle empty and one byte files, less specially so that
465	  --mime-encoding does not break completely.
466		`
4672013-11-06  14:40  Christos Zoulas <christos@zoulas.com>
468
469	* fix erroneous non-zero exit code from non-existent file and message
470
4712013-10-29  14:25  Christos Zoulas <christos@zoulas.com>
472
473	* add CDF MSI file detection (Guy Helmer)
474
4752013-09-03  11:56  Christos Zoulas <christos@zoulas.com>
476
477	* Don't mix errors and regular output if there was an error
478	* in magic_descriptor() don't close the file and try to restore
479	  its position
480
4812013-05-30  17:25  Christos Zoulas <christos@zoulas.com>
482
483	* Don't treat magic as an error if offset was past EOF (Christoph Biedl)
484
4852013-05-28  17:25  Christos Zoulas <christos@zoulas.com>
486
487	* Fix spacing issues in softmagic and elf (Jan Kaluza)
488
4892013-05-02  18:00  Christos Zoulas <christos@zoulas.com>
490
491	* Fix segmentation fault with multiple magic_load commands.
492
4932013-04-22  11:20  Christos Zoulas <christos@zoulas.com>
494
495	* The way "default" was implemented was not very useful
496	  because the "if something was printed at that level"
497	  was not easily controlled by the user, and the format
498	  was bound to a string which is too restrictive. Add
499	  a "clear" for that level keyword and make "default"
500	  void. This way one can do:
501
502		>>13	clear	x
503		>>13	lelong	1	foo
504		>>13	lelong	2	bar
505		>>13	default	x
506		>>>13	lelong	x	unknown %x
507
5082013-03-25  13:20  Christos Zoulas <christos@zoulas.com>
509
510	* disallow strength setting in "name" entries
511
5122013-03-06  21:24  Christos Zoulas <christos@zoulas.com>
513
514	* fix recursive magic separator printing
515
5162013-02-26  19:28  Christos Zoulas <christos@zoulas.com>
517
518	* limit recursion level for mget
519	* fix pread() related breakage in cdf
520	* handle offsets properly in recursive "use"
521
5222013-02-18  10:39  Christos Zoulas <christos@zoulas.com>
523
524	* add elf reading of debug info to determine if file is stripped
525	  (Jan Kaluza)
526	* use pread()
527
5282013-01-25  18:05  Christos Zoulas <christos@zoulas.com>
529
530	* change mime description size from 64 to 80 to accommodate OOXML.
531
5322013-01-11  14:50  Christos Zoulas <christos@zoulas.com>
533
534	* Warn about inconsistent continuation levels.
535	* Change fsmagic to add a space after it prints.
536
5372013-01-10  21:00  Christos Zoulas <christos@zoulas.com>
538
539	* Make getline public so that file can link against it.
540	  Perhaps it is better to rename it, or hide it differently.
541	  Fixes builds on platforms that do not provide it.
542
5432013-01-07  16:30  Christos Zoulas <christos@zoulas.com>
544
545	* Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
546	  what long, int, short, etc is (Guy Harris)
547
5482013-01-06  11:20  Christos Zoulas <christos@zoulas.com>
549
550	* add magic_version function and constant
551	* Redo memory allocation and de-allocation.
552	  (prevents double frees on non mmap platforms)
553	* Fix bug with name/use having to do with passing
554	  found state from the parent to the child and back.
555
5562012-12-19   8:47  Christos Zoulas <christos@zoulas.com>
557
558	* Only print elf capabilities for archs we know (Jan Kaluza)
559
5602012-10-30  19:14  Christos Zoulas <christos@zoulas.com>
561
562	* Add "name" and "use" file types in order to look
563	  inside mach-o files.
564
5652012-09-06  10:40  Christos Zoulas <christos@zoulas.com>
566
567	* make --version exit 0 (Matthew Schultz)
568	* add string/T (Jan Kaluza)
569
5702012-08-09  2:15  Christos Zoulas <christos@zoulas.com>
571
572	* add z and t modifiers for our own vasprintf
573	* search for $HOME/.magic.mgc if it is there first
574	* fix reads from a pipe, and preserve errno
575
5762012-05-15  13:12  Christos Zoulas <christos@zoulas.com>
577
578	* use ctime_r, asctime_r
579
5802012-04-06  17:18  Christos Zoulas <christos@zoulas.com>
581
582	* Fixes for indirect offsets to handle apple disk formats
583
5842012-04-03  18:26  Christos Zoulas <christos@zoulas.com>
585
586	* Add windows date field types
587	* More info for windows shortcuts (incomplete)
588
5892012-02-20  17:33  Christos Zoulas <christos@zoulas.com>
590
591	* Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann)
592
5932011-12-15  12:17  Chris Metcalf <cmetcalf@tilera.com>
594
595	* Support Tilera architectures (tile64, tilepro, tilegx).
596
5972011-12-16  16:33  Reuben Thomas <rrt@sc3d.org>
598
599	* Add magic for /usr/bin/env Perl scripts
600	* Weaken generic script magic to avoid clashing with
601	language-specific magic.
602
6032011-12-08  13:37  Reuben Thomas <rrt@sc3d.org>
604
605	* Simplify if (p) free(p) to free(p).
606
6072011-12-08  13:07  Reuben Thomas <rrt@sc3d.org>
608
609	* Remove hardwired token finding (names.h), turning it into soft
610	magic. Patterns are either anchored regexs or search/8192. English
611	language detection and PL/1 detection have been removed as they
612	were too fragile. -e tokens is still accepted for backwards
613	compatibility.
614	* Move 3ds patterns (which are commented out anyway) into autodesk
615	(they were, oddly, in c-lang).
616
6172011-12-06  00:16  Reuben Thomas <rrt@sc3d.org>
618
619	* Tweak strength of generic hash-bang detectors to be less than
620	specific ones.
621	* Make an inconsistent description of Python scripts consistent.
622
6232011-12-05  23:58  Reuben Thomas <rrt@sc3d.org>
624
625	* Fix minor error in file(1).
626
6272011-11-05  00:00  Reuben Thomas <rrt@sc3d.org>
628
629	* Fix issue #150 (I hope).
630
6312011-09-22  12:57  Christos Zoulas <christos@zoulas.com>
632
633	* Python3 binding fixes from Kelly Anderson
634
6352011-09-20  11:32  Christos Zoulas <christos@zoulas.com>
636
637	* If a string type magic entry is marked as text or binary
638	  only match text files against text entries and binary
639	  files against binary entries.
640
6412011-09-01  12:12  Christos Zoulas <christos@zoulas.com>
642
643	* Don't wait for any subprocess, just the one we forked.
644
6452011-08-26  16:40  Christos Zoulas <christos@zoulas.com>
646
647	* If the application name is not set in a cdf file, try to see
648	  if it has a directory with the application name on it.
649
6502011-08-17  14:32  Christos Zoulas <christos@zoulas.com>
651
652	* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
653
6542011-08-14  09:03  Christos Zoulas <christos@zoulas.com>
655
656	* Don't use variable string formats.
657
6582011-07-12  12:32  Reuben Thomas <rrt@sc3d.org>
659
660	* Fix detection of Zip files (Mantis #128).
661	* Make some minor improvements to file(1).
662	* Rename MIME types for filesystem objects for consistency with
663	  xdg-utils. Typically this means that application/x-foo becomes
664	  inode/foo, but some names also change slightly, e.g.
665	  application/x-character-device becomes inode/chardevice.
666
6672011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
668
669	* fix mingw compilation (Abradoks)
670
6712011-05-10  20:57  Christos Zoulas <christos@zoulas.com>
672
673	* remove patchlevel.h
674	* Fix read past allocated memory caused by double-incrementing
675	  a pointer in a loop (reported by Roberto Maar)
676
6772011-03-30  15:45  Christos Zoulas <christos@zoulas.com>
678
679	* Fix cdf string buffer setting (Sven Anders)
680
6812011-03-20  16:35  Christos Zoulas <christos@zoulas.com>
682
683	* Eliminate MAXPATHLEN and use dynamic allocation for
684	  path and file buffers.
685
6862011-03-15  18:15  Christos Zoulas <christos@zoulas.com>
687
688	* binary tests on magic entries with masks could spuriously
689	  get converted to ascii.
690
6912011-03-12  18:06  Reuben Thomas <rrt@sc3d.org>
692
693	* Improve file.man (remove BUGS, present email addresses consistently).
694
6952011-03-07  19:38  Christos Zoulas <christos@zoulas.com>
696
697	* add lrzip support (from Ville Skytta)
698
6992011-02-10  16:36  Christos Zoulas <christos@zoulas.com>
700
701	* fix CDF bounds checking (Guy Helmer)
702
7032011-02-10  12:03  Christos Zoulas <christos@zoulas.com>
704
705	* add cdf_ctime() that prints a meaningful error when time cannot
706	  be converted.
707
7082011-02-02  20:40  Christos Zoulas <christos@zoulas.com>
709
710	* help and version output to stdout.
711
712	* When matching softmagic for ascii files, don't just print
713	  the softmagic classification, keep going and print the
714	  text classification too. This fixes broken troff files when
715	  we moved them from keyword recognition to softmagic
716	  (they stopped printing "with CRLF" etc.)
717	  Reported by Doug McIlroy.
718
7192011-01-16  19:31  Reuben Thomas <rrt@sc3d.org>
720
721	* Fix two potential buffer overruns in apprentice_list.
722
7232011-01-14  22:33  Reuben Thomas <rrt@sc3d.org>
724
725	* New Python binding in pure Python.
726	* Update libmagic(3).
727
7282011-01-06  21:40  Reuben Thomas <rrt@sc3d.org>
729
730	* Fix Python bindings (including recent Python 3 compatibility
731	  update).
732
7332011-01-04  18:43  Reuben Thomas <rrt@sc3d.org>
734
735	* magic/Makefile.am: make it easier to recover from magic build failures.
736	* Fix pstring length specifier parsing to avoid generating invalid
737	  magic files.
738	* Add pstring length "J" (for "JPEG") to specify that the length
739	  include itself.
740	* Fix JPEG comment parsing at last using pstring/HJ!
741	* Ignore section 5 man pages in doc/.cvsignore.
742
7432010-12-22  13:12  Christos Zoulas <christos@zoulas.com>
744
745	* Add pstring/BHhLl to specify the type of the length of pascal
746	  strings.
747
7482010-11-26  18:39  Reuben Thomas <rrt@sc3d.org>
749
750	* Fix "-e soft": it was ignored when softmagic was called
751	  during asciimagic.
752	* Improve comments and use "unsigned char" in tar.h/is_tar.c.
753
7542010-11-05  17:26  Reuben Thomas <rrt@sc3d.org>
755
756	* Make bug reporting addresses more visible.
757
7582010-11-01  18:35  Reuben Thomas <rrt@sc3d.org>
759
760	* Add tcl magic from Gustaf Neumann
761
7622010-10-24  10:42  Christos Zoulas <christos@zoulas.com>
763
764	* Fix the whitespace comparing code (Christopher Chittleborough)
765
7662010-10-06  21:05  Christos Zoulas <christos@zoulas.com>
767
768	* allow string/t to work (Jan Kaluza)
769
7702010-09-20  22:11  Reuben Thomas <rrt@sc3d.org>
771
772	* Apply some patches from Ubuntu and Fedora.
773
7742010-09-20  21:16  Reuben Thomas <rrt@sc3d.org>
775
776	* Apply all patches from Debian package 5.04-6 which have not
777	  already been applied and are not Debian-specific.
778
7792010-09-20  15:24  Reuben Thomas <rrt@sc3d.org>
780
781	* Minor security fix to softmagic.c (don't use untrusted
782	  string as printf format).
783
7842010-07-21  12:20  Christos Zoulas <christos@zoulas.com>
785
786	* MINGW32 portability from LRN
787
788	* Don't warn about escaping magic regex chars when we are in a regex.
789
7902010-07-19  10:55  Christos Zoulas <christos@zoulas.com>
791
792	* Only try to print prpsinfo for core files. (Jan Kaluza)
793
7942010-04-22  12:55  Christos Zoulas <christos@zoulas.com>
795
796	* Try more elf offsets for Debian core files.  (Arnaud Giersch)
797
7982010-02-20  15:18  Reuben Thomas <rrt@sc3d.org>
799
800	* Clarify which sort of CDF we mean.
801
8022010-02-14  22:58  Reuben Thomas <rrt@sc3d.org>
803
804	* Re-jig Zip file type magic so that unsupported special
805	  Zip types (those with "mimetype" at offset 30) can be
806	  recognized.
807
8082010-02-02  21:50  Reuben Thomas <rrt@sc3d.org>
809
810	* Add support for OCF (EPUB) files (application/epub+zip)
811
8122010-01-28  18:25  Christos Zoulas <christos@zoulas.com>
813
814	* Fix core-dump from unbound loop:
815	  https://bugzilla.redhat.com/show_bug.cgi?id=533245
816
8172010-01-22  15:45  Christos Zoulas <christos@zoulas.com>
818
819	* print proper mime for crystal reports file
820
821	* print the last summary information of a cdf document, not the
822	  first so that nested documents print the right info
823
8242010-01-16  18:42  Charles Longeau <chl@tuxfamily.org>
825
826	* bring back some fixes from OpenBSD:
827		- make gcc2 builds file
828		- fix typos in a magic file comment
829
8302009-11-17  18:35  Christos Zoulas <christos@zoulas.com>
831
832	* ctime/asctime can return NULL on some OS's although
833	  they should not (Toshit Antani)
834
8352009-09-14  13:49  Christos Zoulas <christos@zoulas.com>
836
837	* Centralize magic path handling routines and remove the
838	  special-casing from file.c so that the python module for
839	  example comes up with the same magic path (Fixes ~/.magic
840	  handling) (from Gab)
841
8422009-09-11  23:38  Reuben Thomas <rrt@sc3d.org>
843
844	* When magic argument is a directory, read the files in
845	  strcmp-sorted order (fixes Debian bug #488562 and our own FIXME).
846
8472009-09-11  13:11  Reuben Thomas <rrt@sc3d.org>
848
849	* Combine overlapping epoc and psion magic files into one (epoc).
850
851	* Add some more EPOC MIME types.
852
8532009-08-19  15:55  Christos Zoulas <christos@zoulas.com>
854
855	* Fix 3 bugs (From Ian Darwin):
856	    - file_showstr could move one past the end of the array
857	    - parse_apple did not nul terminate the string in the overflow case
858	    - parse_mime truncated the wrong string in the overflow case
859
8602009-08-12  12:28  Robert Byrnes  <byrnes@wildpumpkin.net>
861
862	* Include Localstuff when compiling magic.
863
8642009-07-15  10:05  Christos Zoulas <christos@zoulas.com>
865
866	* Fix logic for including mygetopts.h
867
868	* Make cdf.c compile again with debugging
869
870	* Add the necessary field handling for crystal reports files to work
871
8722009-06-23 01:34  Reuben Thomas <rrt@sc3d.org>
873
874	* Stop "(if" identifying Lisp files, that's plain dumb!
875
8762009-06-09 22:13  Reuben Thomas <rrt@sc3d.org>
877
878	* Add a couple of missing MP3 MIME types.
879
8802009-05-27 23:00  Reuben Thomas <rrt@sc3d.org>
881
882	* Add full range of hash-bang tests for Python and Ruby.
883
884	* Add MIME types for Python and Ruby scripts.
885
8862009-05-13  10:44  Christos Zoulas <christos@zoulas.com>
887
888	* off by one in parsing hw capabilities in elf
889	  (Cheng Renquan)
890
8912009-05-08  13:40  Christos Zoulas <christos@zoulas.com>
892
893	* lint fixes and more from NetBSD
894
8952009-05-06  10:25  Christos Zoulas <christos@zoulas.com>
896
897	* Avoid null dereference in cdf code (Drew Yao)
898
899	* More cdf bounds checks and overflow checks
900
9012009-05-01  18:37  Christos Zoulas <christos@zoulas.com>
902
903	* Buffer overflow fixes from Drew Yao
904
9052009-04-30  17:10  Christos Zoulas <christos@zoulas.com>
906
907	* Fix more cdf lossage. All the documents I have
908	  right now print the correct information.
909
9102009-03-27  18:43  Christos Zoulas <christos@zoulas.com>
911
912	* don't print \012- separators in the same magic entry
913	  if it consists of multiple magic printing lines.
914
9152009-03-23  10:20  Christos Zoulas <christos@zoulas.com>
916
917	* Avoid file descriptor leak in compress code from
918	  (Daniel Novotny)
919
9202009-03-18  16:50  Christos Zoulas <christos@zoulas.com>
921
922	* Allow escaping of relation characters, so that we can say \^[A-Z]
923	  and the ^ is not eaten as a relation char.
924
925	* Fix troff and fortran to their previous glory using
926	  regex. This was broken since their removel from ascmagic.
927
9282009-03-10  16:50  Christos Zoulas <christos@zoulas.com>
929
930	* don't use strlen in strndup() (Toby Peterson)
931
9322009-03-10  7:45  Christos Zoulas <christos@zoulas.com>
933
934	* avoid c99 syntax.
935
9362009-02-23 15:45  Christos Zoulas <christos@zoulas.com>
937
938	* make the cdf code use the buffer first if available,
939	  and then the fd code.
940
9412009-02-13 13:45  Christos Zoulas <christos@zoulas.com>
942
943	* look for struct option to determine if getopt.h is usable for IRIX.
944
945	* sanitize cdf document strings
946
9472009-02-04 13:25  Christos Zoulas <christos@zoulas.com>
948
949	* fix OS/2 warnings.
950
9512008-12-12 15:50  Christos Zoulas <christos@zoulas.com>
952
953	* fix initial offset calculation for non 4K sector files
954
955	* add loop limits to avoid DoS attacks by constructing
956	  looping sector references.
957
9582008-12-03 13:05  Christos Zoulas <christos@zoulas.com>
959
960	* fix memory botches on cdf file parsing.
961
962	* exit with non-zero value for any error, not just for the last
963	  file processed.
964
9652008-11-09 20:42  Charles Longeau <chl@tuxfamily.org>
966
967	* Replace all str{cpy,cat} functions with strl{cpy,cat}
968	* Ensure that strl{cpy,cat} are included in libmagic,
969	  as needed.
970
9712008-11-06 18:18  Christos Zoulas <christos@zoulas.com>
972
973	* Handle ID3 format files.
974
9752008-11-06 23:00  Reuben Thomas <rrt@sc3d.org>
976
977	* Fix --mime, --mime-type and --mime-encoding under new scheme.
978
979	* Rename "ascii" to "text" and add "encoding" test.
980
981	* Return a precise ("utf-16le" or "utf-16be") MIME charset for
982	  UTF-16.
983
984	* Fix error in comment caused by automatic indentation adding
985	  words!
986
9872008-11-06 10:35  Christos Zoulas <christos@astron.com>
988
989	* use memchr instead of strchr because the string
990	  might not be NUL terminated (Scott MacVicar)
991
9922008-11-03 07:31  Reuben Thomas <rrt@sc3d.org>
993
994	* Fix a printf with a non-literal format string.
995
996	* Fix formatting and punctuation of help for "--apple".
997
9982008-10-30 11:00  Reuben Thomas <rrt@sc3d.org>
999
1000	* Correct words counts in comments of struct magic.
1001
1002	* Fix handle_annotation to allow both Apple and MIME types to be
1003	  printed, and to return correct code if MIME type is
1004	  printed (1, not 0) or if there's an error (-1 not 1).
1005
1006	* Fix output of charset for MIME type (precede with semi-colon;
1007	  fixes Debian bug #501460).
1008
1009	* Fix potential attacks via conversion specifications in magic
1010	  strings.
1011
1012	* Add a FIXME for Debian bug #488562 (magic files should be
1013	  read in a defined order, by sorting the names).
1014
10152008-10-18 16:45  Christos Zoulas <christos@astron.com>
1016
1017	* Added APPLE file creator/type
1018
10192008-10-12 10:20  Christos Zoulas <christos@astron.com>
1020
1021	* Added CDF parsing
1022
10232008-10-09 16:40  Christos Zoulas <christos@astron.com>
1024
1025	* filesystem and msdos patches (Joerg Jenderek)
1026
10272008-10-09 13:20  Christos Zoulas <christos@astron.com>
1028
1029	* correct --exclude documentation issues: remove troff and fortran
1030	  and rename "token" to "tokens". (Randy McMurchy)
1031
10322008-10-01 10:30  Christos Zoulas <christos@astron.com>
1033
1034	* Read ~/.magic in addition to the default magic file not instead
1035	  of, as documented in the man page.
1036
10372008-09-10 21:30  Reuben Thomas  <rrt@sc3d.org>
1038
1039	* Comment out graphviz patterns, as they match too many files.
1040
10412008-08-30 12:54  Christos Zoulas <christos@astron.com>
1042
1043	* Don't eat trailing \n in magic enties.
1044
1045	* Cast defines to allow compilation using a c++ compiler.
1046
10472008-08-25 23:56  Reuben Thomas  <rrt@sc3d.org>
1048
1049	* Add text/x-lua MIME type for Lua scripts.
1050
1051	* Escape { in regex in graphviz patterns.
1052
10532008-07-26 00:59  Reuben Thomas  <rrt@sc3d.org>
1054
1055	* Add MIME types for special files.
1056
1057	* Use access to give more accurate information for files that
1058	  can't be opened.
1059
1060	* Add a TODO list.
1061
10622008-07-02 11:15  Christos Zoulas  <christos@astron.com>
1063
1064	* add !:strength op to adjust magic strength (experimental)
1065
10662008-06-16 21:41  Reuben Thomas  <rrt@sc3d.org>
1067
1068	* Fix automake error in configure.ac.
1069
1070	* Add MIME type for Psion Sketch files.
1071
10722008-06-05 08:59  Christos Zoulas  <christos@astron.com>
1073
1074	* Don't print warnings about bad namesize in stripped
1075	  binaries with PT_NOTE is still there, and the actual
1076	  note is gone (Jakub Jelinek)
1077
10782008-05-28 15:12  Robert Byrnes  <byrnes@wildpumpkin.net>
1079
1080	* magic/Magdir/elf:
1081	  Note invalid byte order for little-endian SPARC32PLUS.
1082	  Add SPARC V9 vendor extensions and memory model.
1083
1084	* src/elfclass.h:
1085	  Pass target machine to doshn (for Solaris hardware capabilities).
1086
1087	* src/readelf.c (doshn):
1088	  Add support for Solaris hardware/software capabilities.
1089
1090	* src/readelf.h:
1091	  Ditto.
1092
1093	* src/vasprintf.c (dispatch):
1094	  Add support for ll modifier.
1095
10962008-05-16 10:25  Christos Zoulas  <christos@astron.com>
1097
1098	* Fix compiler warnings.
1099
1100	* remove stray printf, and fix a vprintf bug. (Martin Dorey)
1101
11022008-05-06 00:13  Robert Byrnes  <byrnes@wildpumpkin.net>
1103
1104	* src/Makefile.am:
1105	  Ensure that getopt_long and [v]asprintf are included in libmagic,
1106	  as needed.
1107
1108	  Remove unnecessary EXTRA_DIST.
1109
1110	* src/Makefile.in:
1111	  Rerun automake.
1112
1113	* src/vasprintf.c (dispatch):
1114	  Fix variable precision bug: be sure to step past '*'.
1115
1116	* src/vasprintf.c (core):
1117	  Remove unreachable code.
1118
1119	* src/apprentice.c (set_test_type):
1120	  Add cast to avoid compiler warning.
1121
11222008-04-22 23:45  Christos Zoulas  <christos@astron.com>
1123
1124	* Add magic submission guidelines (Abel Cheung)
1125
1126	* split msdos and windows magic (Abel Cheung)
1127
11282008-04-04 11:00  Christos Zoulas  <christos@astron.com>
1129
1130	* >= <= is not supported, so fix the magic and warn about it.
1131	  reported by: Thien-Thi Nguyen <ttn@gnuvola.org>
1132
11332008-03-27 16:16  Robert Byrnes  <byrnes@wildpumpkin.net>
1134
1135	* src/readelf.c (donote):
1136	  ELF core file command name/line bug fixes and enhancements:
1137
1138	  Try larger offsets first to avoid false matches
1139	  from earlier data that happen to look like strings;
1140	  this primarily affected SunOS 5.x 32-bit Intel core files.
1141
1142	  Add support for command line (instead of just short name)
1143	  for SunOS 5.x.
1144
1145	  Add information about NT_PSINFO for SunOS 5.x.
1146
1147	  Only trim whitespace from end of command line.
1148
11492007-02-11 01:36 Reuben Thomas <rrt@sc3d.org>
1150
1151	* Change strength of ! from MULT to 0, as it matches almost
1152		  anything (Reuben Thomas)
1153
1154	* Debian fixes (Reuben Thomas)
1155
11562007-02-11 00:17 Reuben Thomas <rrt@sc3d.org>
1157
1158	* Clarify UTF-8 BOM message (Reuben Thomas)
1159
1160	* Add HTML comment to token list in names.h
1161
11622007-02-04 15:50 Christos Zoulas <christos@astron.com>
1163
1164	* Debian fixes (Reuben Thomas)
1165
11662007-02-04 11:31 Christos Zoulas <christos@astron.com>
1167
1168	* !:mime annotations in magic files (Reuben Thomas)
1169
11702007-01-29 15:35 Christos Zoulas <christos@astron.com>
1171
1172	* zero out utime/utimes structs (Gavin Atkinson)
1173
11742007-01-26 13:45 Christos Zoulas <christos@astron.com>
1175
1176	* reduce writable data from Diego "Flameeyes" Petten
1177
11782007-12-28 15:06 Christos Zoulas <christos@astron.com>
1179
1180	* strtof detection
1181
1182	* remove bogus regex magic that could cause a DoS
1183
1184	* better mismatch version message
1185
11862007-12-27 11:35 Christos Zoulas <christos@astron.com>
1187
1188	* bring back some fixes from OpenBSD
1189
1190	* treat ELF dynamic objects as executables
1191
1192	* fix gcc warnings
1193
11942007-12-01 19:55 Christos Zoulas <christos@astron.com>
1195
1196	* make sure we have zlib.h and libz to compile the builtin
1197	  decompress code
1198
11992007-10-28 20:48 Christos Zoulas <christos@astron.com>
1200
1201 	* float and double magic support (Behan Webster)
1202
12032007-10-28 20:48 Christos Zoulas <christos@astron.com>
1204
1205	* Convert fortran to a soft test (Reuben Thomas)
1206
12072007-10-23  5:25 Christos Zoulas <christos@astron.com>
1208
1209	* Add --with-filename, and --no-filename (Reuben Thomas)
1210
12112007-10-23  3:59 Christos Zoulas <christos@astron.com>
1212
1213	* Rest of the mime split (Reuben Thomas)
1214
1215	* Make usage message generated from the flags so that
1216	  they stay consistent (Reuben Thomas)
1217
12182007-10-20  3:06 Christos Zoulas <christos@astron.com>
1219
1220	* typo in comment, missing ifdef QUICK, remove unneeded code
1221		(Charles Longeau)
1222
12232007-10-17  3:33 Christos Zoulas <christos@astron.com>
1224
1225	* Fix problem printing -\012 in some entries
1226
1227	* Separate magic type and encoding flags (Reuben Thomas)
1228
12292007-10-09  3:55 Christos Zoulas <christos@astron.com>
1230
1231	* configure fix for int64 and strndup (Reuben Thomas)
1232
12332007-09-26  4:45 Christos Zoulas <christos@astron.com>
1234
1235	* Add magic_descriptor() function.
1236
1237	* Fix regression in elf reading code where the core name was
1238	  not being printed.
1239
1240	* Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson)
1241
12422007-08-19  6:30 Christos Zoulas <christos@astron.com>
1243
1244	* Make mime format consistent so that it can
1245	  be easily parsed:
1246	      mimetype [charset=character-set] [encoding=encoding-mime-type]
1247
1248	  Remove spurious extra text from some MIME type printouts
1249	  (mostly in is_tar).
1250
1251	  Fix one case where -i produced nothing at all (for a 1-byte file,
1252	  which is now classed as application/octet-stream).
1253
1254	  Remove 7/8bit classifications, since they were arbitrary
1255	  and not based on the file data.
1256
1257	  This work was done by Reuben Thomas
1258
12592007-05-24 10:00 Christos Zoulas <christos@astron.com>
1260
1261	* Fix another integer overflow (Colin Percival)
1262
12632007-03-26 13:58 Christos Zoulas <christos@astron.com>
1264
1265	* make sure that all of struct magic_set is initialized appropriately
1266	  (Brett)
1267
12682007-03-25 17:44 Christos Zoulas <christos@astron.com>
1269
1270	* reset left bytes in the buffer (Dmitry V. Levin)
1271
1272	* compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS
1273	  (Peter Avalos)
1274
12752007-03-15 10:51 Christos Zoulas <christos@astron.com>
1276
1277	* fix fortran and nroff reversed tests (Dmitry V. Levin)
1278
1279	* fix exclude option (Dmitry V. Levin)
1280
12812007-02-08 17:30 Christos Zoulas <christos@astron.com>
1282
1283	* fix integer underflow in file_printf which can lead to
1284	  to exploitable heap overflow (Jean-Sebastien Guay-Lero)
1285
12862007-02-05 11:35 Christos Zoulas <christos@astron.com>
1287
1288	* make socket/pipe reading more robust
1289
12902007-01-25 16:01 Christos Zoulas <christos@astron.com>
1291
1292	* Centralize all the tests in file_buffer.
1293
1294	* Add exclude flag.
1295
12962007-01-18 05:29 Anon Ymous <do@not.spam.me>
1297
1298	* Move the "type" detection code from parse() into its own table
1299	  driven routine.  This avoids maintaining multiple lists in
1300	  file.h.
1301
1302	* Add an optional conditional field (ust before the type field).
1303	  This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
1304	  likely to go away.
1305
13062007-01-16 23:24 Anon Ymous <do@not.spam.me>
1307
1308	* Fix an initialization bug in check_mem().
1309
13102007-01-16 14:58 Anon Ymous <do@not.spam.me>
1311
1312	* Add a "default" type to print a message if nothing previously
1313	  matched at that level or since the last default at that
1314	  level.  This is useful for setting up switch-like statements.
1315	  It can also be used to do if/else constructions without a
1316	  redundant second test.
1317
1318	* Fix the "x" special case test so that one can test for that
1319	  string with "=x".
1320
1321	* Allow "search" to search the entire buffer if the "/N"
1322	  search count is missing.
1323
1324	* Make "regex" work!  It now starts its search at the
1325	  specified offset and takes an (optional) "/N" line count to
1326	  specify the search range; otherwise it searches to the end
1327	  of the file.  The match is now grabbed correctly for format
1328	  strings and the offset set to the end of the match.
1329
1330	* Add a "/s" flag to "regex" and "search" to set the offset to
1331	  the start of the match.  By default the offset is set to the
1332	  end of the match, as it is with other tests.  This is mostly
1333	  useful for "regex".
1334
1335	* Make "search", "string" and "pstring" use the same
1336	  file_strncmp() routine so that they support the same flags;
1337	  "bestring16" and "lestring16" call the same routine, but
1338	  with flags = 0.  Also add a "/C" flag (in analogy to "/c")
1339	  to ignore the case on uppercase (lowercase) characters in
1340	  the test string.
1341
1342	* Strict adherence to C style string escapes.  A warnings are
1343	  printed when compiling.  Note: previously "\a" was
1344	  incorrectly translated to 'a' instead of an <alert> (i.e.,
1345	  BELL, typically 0x07).
1346
1347	* Make this compile with "-Wall -Wextra" and all the warning
1348	  flags used with WARNS=4 in the NetBSD source.  Also make it
1349	  pass lint.
1350
1351	* Many "cleanups" and hopefully not too many new bugs!
1352
13532007-01-16 14:56 Anon Ymous <do@not.spam.me>
1354
1355	* make several more files compile with gcc warnings
1356	  on and also make them pass lint.
1357
13582007-01-16 14:54 Anon Ymous <do@not.spam.me>
1359
1360	* fix a puts()/putc() usage goof in file.c
1361
1362	* make file.c compile with gcc warnings and pass lint
1363
13642006-12-11 16:49 Christos Zoulas <christos@astron.com>
1365
1366	* fix byteswapping issue
1367
1368	* report the number of bytes we tried to
1369	  allocate when allocation fails
1370
1371	* add a few missed cases in the strength routine
1372
13732006-12-08 16:32 Christos Zoulas <christos@astron.com>
1374
1375	* store and print the line number of the magic
1376	  entry for debugging.
1377
1378	* if the magic entry did not print anything,
1379	  don't treat it as a match
1380
1381	* change the magic strength algorithm to take
1382	  into account the relationship op.
1383
1384	* fix a bug in search where we could accidentally
1385	  return a match.
1386
1387	* propagate the error return from match to
1388	  file_softmagic.
1389
13902006-11-25 13:35 Christos Zoulas <christos@astron.com>
1391
1392	* Don't store the current offset in the magic
1393	  struct, because it needs to be restored and
1394	  it was not done properly all the time. Bug
1395	  found by: Arkadiusz Miskiewicz
1396
1397	* Fix problem in the '\0' separator; and don't
1398	  print it as an additional separator; print
1399	  it as the only separator.
1400
14012006-11-17 10:51 Christos Zoulas <christos@astron.com>
1402
1403	* Added a -0 option to print a '\0' separator
1404	  Etienne Buira <etienne.buira@free.fr>
1405
14062006-10-31 15:14 Christos Zoulas <christos@astron.com>
1407
1408	* Check offset before copying (Mike Frysinger)
1409
1410	* merge duplicated code
1411
1412	* add quad date support
1413
1414	* make sure that we nul terminate desc (Ryoji Kanai)
1415
1416	* don't process elf notes multiple times
1417
1418	* allow -z to report empty compressed files
1419
1420	* use calloc to initialize the ascii buffers (Jos van den Oever)
1421
14222006-06-08 11:11 Christos Zoulas <christos@astron.com>
1423
1424	* QNX fixes (Mike Gorchak)
1425
1426	* Add quad support.
1427
1428	* FIFO checks (Dr. Werner Fink)
1429
1430	* Linux ELF fixes (Dr. Werner Fink)
1431
1432	* Magic format checks (Dr. Werner Fink)
1433
1434	* Magic format function improvent (Karl Chen)
1435
14362006-05-03 11:11 Christos Zoulas <christos@astron.com>
1437
1438	* Pick up some elf changes and some constant fixes from SUSE
1439
1440	* Identify gnu tar vs. posix tar
1441
1442	* When keep going, don't print spurious newlines (Radek Vokal)
1443
14442006-04-01 12:02 Christos Zoulas <christos@astron.com>
1445
1446	* Use calloc instead of malloc (Mike Frysinger)
1447
1448	* Fix configure script to detect wctypes.h (Mike Frysinger)
1449
14502006-03-02 16:06 Christos Zoulas <christos@astron.com>
1451
1452	* Print empty if the file is (Mike Frysinger)
1453
1454	* Don't try to read past the end of the buffer (Mike Frysinger)
1455
1456	* Sort magic entries by strength [experimental]
1457
14582005-11-29 13:26 Christos Zoulas <christos@astron.com>
1459
1460	* Use iswprint() to convert the output string.
1461	    (Bastien Nocera)
1462
14632005-10-31 8:54 Christos Zoulas <christos@astron.com>
1464
1465	* Fix regression where the core info was not completely processed
1466	    (Radek Vokal)
1467
14682005-10-20 11:15 Christos Zoulas <christos@astron.com>
1469
1470	* Middle Endian magic (Diomidis Spinellis)
1471
14722005-10-17 11:15 Christos Zoulas <christos@astron.com>
1473
1474	* Open with O_BINARY for CYGWIN (Corinna Vinschen)
1475
1476	* Don't close stdin (Arkadiusz Miskiewicz)
1477
1478	* Look for note sections in non executables.
1479
14802005-09-20 13:33 Christos Zoulas <christos@astron.com>
1481
1482	* Don't print SVR4 Style in core files multiple times
1483	    (Radek Vokal)
1484
14852005-08-27 04:09 Christos Zoulas <christos@astron.com>
1486
1487	* Cygwin changes Corinna Vinschen
1488
14892005-08-18 09:53 Christos Zoulas <christos@astron.com>
1490
1491	* Remove erroreous mention of /etc/magic in the file man page
1492	  This is gentoo bug 101639. (Mike Frysinger)
1493
1494	* Cross-compile support and detection (Mike Frysinger)
1495
14962005-08-12 10:17 Christos Zoulas <christos@astron.com>
1497
1498	* Add -h flag and dereference symlinks if POSIXLY_CORRECT
1499	  is set.
1500
15012005-07-29 13:57 Christos Zoulas <christos@astron.com>
1502
1503	* Avoid search and regex buffer overflows (Kelledin)
1504
15052005-07-12 11:48 Christos Zoulas <christos@astron.com>
1506
1507	* Provide stub implementations for {v,}nsprintf() for older
1508	  OS's that don't have them.
1509	* Change mbstate_t autoconf detection macro from AC_MBSTATE_T
1510	  to AC_TYPE_MBSTATE_T.
1511
15122005-06-25 11:48 Christos Zoulas <christos@astron.com>
1513
1514	* Dynamically allocate the string buffers and make the
1515	  default read size 256K.
1516
15172005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
1518
1519	* Dragonfly ELF note support
1520
15212005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
1522
1523	* Avoid NULL pointer dereference in time conversion.
1524
15252005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
1526
1527	* Add indirect magic offset support, and search mode.
1528
15292005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
1530
1531	* src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
1532	  If a CRLF text file happens to have CR at offset HOWMANY - 1
1533	  (currently 0xffff), it should not be counted as CR line
1534	  terminator.
1535	  If a line has length exactly MAXLINELEN, it should not yet be
1536	  treated as a ``very long line'', as MAXLINELEN is ``longest sane
1537	  line length''.
1538	  With CRLF, the line length was not computed correctly, and even
1539	  lines of length MAXLINELEN - 1 were treated as ``very long''.
1540
15412004-12-07 14:15  Christos Zoulas  <christos@astron.com>
1542
1543	* bzip2 needs a lot of input buffer space on some files
1544	  before it can begin uncompressing. This makes file -z
1545	  fail on some bz2 files. Fix it by giving it a copy of
1546	  the file descriptor to read as much as it wants if we
1547	  have access to it. <christos@astron.com>
1548
15492004-11-24 12:39  Christos Zoulas  <christos@astron.com>
1550
1551	* Stack smash fix, and ELF more conservative reading.
1552	  Jakub Bogusz <qboosh@pld-linux.org>
1553
15542004-11-20 18:50  Christos Zoulas  <christos@astron.com>
1555
1556	* New FreeBSD version parsing code:
1557	  Jon Noack <noackjr@alumni.rice.edu>
1558
1559	* Hackish support for ucs16 strings <christos@astron.com>
1560
15612004-11-13 03:07  Christos Zoulas  <christos@astron.com>
1562
1563	* print the file name and line number in syntax errors.
1564
15652004 10-12 10:50  Christos Zoulas  <christos@astron.com>
1566
1567	* Fix stack overwriting on 0 length strings: Tim Waugh
1568	    <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
1569
15702004-09-27 11:30  Christos Zoulas  <christos@astron.com>
1571
1572	* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
1573
1574	* Fix small memory leaks; caught by: Tamas Sarlos
1575	    <stamas@csillag.ilab.sztaki.hu>
1576
15772004-07-24 16:33  Christos Zoulas  <christos@astron.com>
1578
1579	* magic.mime update Danny Milosavljevic <danny.milo@gmx.net>
1580
1581	* FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
1582
1583	* utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
1584
1585  	* errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
1586
15872004-04-12 10:55  Christos Zoulas  <christos@astron.com>
1588
1589	* make sure that magic formats match magic types during compilation
1590
1591	* fix broken sgi magic file
1592
15932004-04-06 20:36  Christos Zoulas  <christos@astron.com>
1594
1595	* detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
1596
1597	* magic fixes
1598
15992004-03-22 15:25  Christos Zoulas  <christos@astron.com>
1600
1601	* Lots of mime fixes
1602	  (Joerg Ostertag) <ostertag@rechengilde.de>
1603
1604	* FreeBSD ELF version handling
1605	  (Edwin Groothuis) <edwin@mavetju.org>
1606
1607	* correct cleanup in all cases; don't just close the file.
1608	  (Christos Zoulas) <christos@astron.com>
1609
1610	* add gettext message catalogue support
1611	  (Michael Piefel) <piefel@debian.org>
1612
1613	* better printout for unreadable files
1614	  (Michael Piefel) <piefel@debian.org>
1615
1616	* compensate for missing MAXPATHLEN
1617	  (Michael Piefel) <piefel@debian.org>
1618
1619	* add wide character string length computation
1620	  (Michael Piefel) <piefel@debian.org>
1621
1622	* Avoid infinite loops caused by bad elf alignments
1623	  or name and description note sizes. Reported by
1624	  (Mikael Magnusson) <mmikael@comhem.se>
1625
16262004-03-09 13:55  Christos Zoulas  <christos@astron.com>
1627
1628	* Fix possible memory leak on error and add missing regfree
1629	  (Dmitry V. Levin) <ldv@altlinux.org>
1630
16312003-12-23 12:12  Christos Zoulas  <christos@astron.com>
1632
1633	* fix -k flag (Maciej W. Rozycki)
1634
16352003-11-18 14:10  Christos Zoulas  <christos@astron.com>
1636
1637	* Try to give us much info as possible on corrupt elf files.
1638	  (Willy Tarreau) <willy@w.ods.org>
1639	* Updated python bindings (Brett Funderburg)
1640	   <brettf@deepfile.com>
1641
16422003-11-11 15:03  Christos Zoulas  <christos@astron.com>
1643
1644	* Include file.h first, because it includes config.h
1645	  breaks largefile test macros otherwise.
1646	  (Paul Eggert <eggert@CS.UCLA.EDU> via
1647	   Lars Hecking <lhecking@nmrc.ie>)
1648
16492003-10-14 21:39  Christos Zoulas  <christos@astron.com>
1650
1651	* Python bindings (Brett Funderburg) <brettf@deepfile.com>
1652	* Don't lookup past the end of the buffer
1653	  (Chad Hanson) <chanson@tcs-sec.com>
1654	* Add MAGIC_ERROR and api on magic_errno()
1655
16562003-10-08 12:40  Christos Zoulas  <christos@astron.com>
1657
1658	* handle error conditions from compile as fatal
1659	  (Antti Kantee) <pooka@netbsd.org>
1660	* handle magic filename parsing sanely
1661	* more magic fixes.
1662	* fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
1663	* describe magic file handling
1664	  (Bryan Henderson) <bryanh@giraffe-data.com>
1665
16662003-09-12 15:09  Christos Zoulas  <christos@astron.com>
1667
1668	* update magic files.
1669	* remove largefile support from file.h; it breaks things on most OS's
1670
16712003-08-10 10:25  Christos Zoulas  <christos@astron.com>
1672
1673	* fix unmapping'ing of mmaped files.
1674
16752003-07-10 12:03  Christos Zoulas  <christos@astron.com>
1676
1677	* don't exit with -1 on error; always exit 1 (Marty Leisner)
1678	* restore utimes code.
1679
16802003-06-10 17:03  Christos Zoulas  <christos@astron.com>
1681
1682	* make sure we don't access uninitialized memory.
1683	* pass lint
1684	* #ifdef __cplusplus in magic.h
1685
16862003-05-25 19:23  Christos Zoulas  <christos@astron.com>
1687
1688	* rename cvs magic file to revision to deal with
1689	  case insensitive filesystems.
1690
16912003-05-23 17:03  Christos Zoulas  <christos@astron.com>
1692
1693	* documentation fixes from Michael Piefel <piefel@debian.org>
1694	* magic fixes (various)
1695	* revert basename magic in .mgc name determination
1696	* buffer protection in uncompress,
1697	  signness issues,
1698	  close files
1699	  Maciej W. Rozycki <macro@ds2.pg.gda.pl
1700
17012003-04-21 20:12  Christos Zoulas  <christos@astron.com>
1702
1703	* fix zsh magic
1704
17052003-04-04 16:59  Christos Zoulas  <christos@astron.com>
1706
1707	* fix operand sort order in string.
1708
17092003-04-02 17:30  Christos Zoulas  <christos@astron.com>
1710
1711	* cleanup namespace in magic.h
1712
17132003-04-02 13:50  Christos Zoulas  <christos@astron.com>
1714
1715	* Magic additions (Alex Ott)
1716	* Fix bug that broke VPATH compilation (Peter Breitenlohner)
1717
17182003-03-28 16:03  Christos Zoulas  <christos@astron.com>
1719
1720	* remove packed attribute from magic struct.
1721	* make the magic struct properly aligned.
1722	* bump version number of compiled files to 2.
1723
17242003-03-27 13:10  Christos Zoulas  <christos@astron.com>
1725
1726	* separate tar detection and run it before softmagic.
1727	* fix reversed symlink test.
1728	* fix version printing.
1729	* make separator a string instead of a char.
1730	* update manual page and sort options.
1731
17322003-03-26 11:00  Christos Zoulas  <christos@astron.com>
1733
1734	* Pass lint
1735	* make NULL in magic_file mean stdin
1736	* Fix "-" argument to file to pass NULL to magic_file
1737	* avoid pointer casts by using memcpy
1738	* rename magic_buf -> magic_buffer
1739	* keep only the first error
1740	* manual page: new sentence, new line
1741	* fix typo in api function (magic_buf -> magic_buffer)
1742