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