Imported Upstream version 4.0.43
[platform/upstream/mtools.git] / NEWS
1 v4_0_43
2         - Fix root directory test in mattrib
3         - -b BiosDisk flag for mformat to allow setting physdrive to
4           a user-specified value
5         - Clearer error message in mformat when trying to mformat a
6           disk whose total size is not known
7         - Make recursive copy more consistent
8         - Trailing slash now always implies target should be a directory
9         - Code cleanup
10 v4_0_42
11         - Added postcmd attribute in drive description to allow to
12           execute "device release" code automatically at end of
13           command
14         - Code cleanup (unneeded functions, initializations, added
15           comments to unobvious code, obsolete stuff in Makefile)
16         - signedness cleanup about directory entries
17 v4_0_41
18         - Made it possible again to have FAT32 filesystems with less
19         than 0xfff5 clusters
20         - Make FAT32 entries 0 and 1 match what windows 10 does
21         - Misc source code and configure script cleanup
22
23 v4_0_40
24         - Remove libbsd dependency
25         - Better compatibility with legacy platforms such as AT&T UnixPC
26         - Upgraded to autoconf 2.71
27 v4_0_39
28         - Rename strtoi to strosi (string to signed int). The strtoi
29           function on BSD does something else (returns an intmax, not
30           an int)
31 v4_0_38
32         - Make sure case byte is cleared when making the special
33           directory entries "." and ".."
34 v4_0_37
35         - Removed mclasserase commands, which doesn't fit the coding
36           structure of the rest of mtools
37         - Add support to -i option to mcd
38         - Document -i in mtools.1
39         - Fix a missing command error in floppyd_io.c
40
41 v4_0_36
42         - Fix error status of recursive listing of empty root directory
43         - If recursive listing, also show matched files at level one
44         - Use "seekless" reads & write internally, where possible
45         - Text mode conversion refactoring
46         - Misc refactoring
47
48 v4_0_35
49         - Fix cluster padding at end of file in batch mode, and add
50           comments about what happens here
51
52 v4_0_34
53         - Fix mcopy -s issue
54
55 v4_0_33
56         - Fix support for partitions (broken in 4.0.30)
57         - Portability fixes for Solaris 10 and 11
58         - General simplification of configure script, and largefile handling
59         - Tested and fixed for platforms *without* largefile support
60         - In cases where lseek works with 32-bit offsets, prefer
61           lseek64 over llseek
62         - Fixed floppy sector size handling on platforms that are not
63           Linux
64         - Added support for image files on command line to mcat
65
66 v4_0_32
67         - Simplify algorithm that choses filesystem parameters for
68           format, and align it more closely with what Win7 does
69         - Fix mformatting XDF when XDF not explicitly specified on
70           mformat command line
71         - easier way to enter sizes on mformat command line (mformat -C -T
72           1440K)
73         - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
74           tracks 40 or 80)
75         - Handle attempts to mformat too small filesystems more gracefully
76         - Enable minfo to print out additional mformat command line
77           parameters, if the present filesystem uses non-default
78           values for these
79         - minfo no longer prints bigsect if smallsect is set
80         - for remap filter, error when trying to write non-zero data
81           to unmapped sectors
82         - Fix misc compilation warnings occuring when disabling
83           certain features (largefiles, raw-term)
84
85 v4_0_31
86         - Move Linux-specific block device sizing code into
87           linux-specific section of devices.c
88         - Error messages for all failure cases on fs_init failure
89         - Fix compilation without XDF support (OpenImage signature)
90         - Fix polarity of format_xdf command-line parameter of mformat
91         - In XDF_IO retry enough times to actually succeed, even if
92           FDC was in a bad state before
93         - Remove useless buffer flushing triggered when giving up a
94           reference to a stream node that is still referenced
95           elsewhere.
96         - Clearer error message if neither size nor geometry of drive
97           to be mformatted is known
98         - In mformat, make Fs dynamically allocated rather than
99           on-stack, so as to be able to use utilities supplied by
100           stream.c
101         - Remove duplicate writing of backup boot sector
102         - Allow to infer geometry if only size is specified
103         - Protect against attempt to create zero-sized buffer
104         - Code simplification in mattrib
105         - Remove dead code in mpartition
106
107 v4_0_30
108         - Fixed XDF floppy disk access
109         - Fixed faulty behavior at end of image in mcat
110         - Device/Image size handling refactoring
111         - allow remap to write to zero-backed sectors (may happen if
112           buffer is flushed, and is not an error in that case)
113         - Raise an error when trying to mcopy multiple source files
114           over a single destination file (rather than directory)
115         - fix handling of "hidden" sectors (is a 2 byte quantity on
116           small disks, not 4 byte as previously assumed)
117         - Modernize partition support. Tuned consistency check to
118           actually check about important issues (such as overlapping
119           partitions) rather than stuff nobody else cares about
120           (alignment on entire cylinder boundaries)
121         - Move various "filter" options (partition, offset, swap,
122           scsi) into separate classes, rather than leaving almost
123           everything in plain_io
124         - Simplify and centralize geometry handling and LBA code
125         - Fix some more more compiler warnings
126 v4_0_29
127         - Fix bug in cluster preallocation, which was accidentally introduced
128         by compiler warning "fixes" from v4_0_28
129 v4_0_28
130         - Support remapping of data (for not-quite linear floppy image files)
131         - Re-open floppy devices read-write if geometry parameters need to
132         be changed
133         - relax consistency checks in mpartition (partitions created
134           by current fdisk would almost never pass these checks)
135         - Fix some compiler warnings
136 v4_0_27
137         - Fix type error in calls to iconv functions
138 v4_0_26
139         - Fix compilation on Macintosh
140         - Ignore image file locking errors if we are performing a
141           read-only access anyways
142         - Minor man-page fixes
143 v4_0_25
144         - Preserve non-updated contents of info sector, just in case
145           it contains program code
146         - When parsing config file, always use "C" locale for
147           case-insensitive comparisons
148 v4_0_24
149         - Spelling fixes in documentation
150         - Permit calling "make install" with >= -j2
151         - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
152 v4_0_23
153         - Address lots of compiler warnings (assignments between different types)
154         - Network speedup fixes for floppyd (TCP_CORK)
155         - Typo fixes
156         - Explicitly pass available target buffer size for character
157         set conversions
158 v4_0_22
159         - Fixed -f flag for mformat (size is KBytes, rather than sectors)
160         - Fixed toupper/tolower usage (unsigned char rather than plain signed)
161 v4_0_21
162         - Fixed compilation for MingW
163         - After MingW compilation, make sure executable has .exe extension
164         - Addressed compiler warnings
165         - Fixed length handling in character set conversion (Unicode file names)
166         - Fixed matching of character range, when containing Unicode
167         characters (mdir "c:test[α-ω].exe")
168         - Fixed initialization of my_scsi_cmd constructor
169 v4_0_20
170         - initialize directory entries to 0
171         - bad message "Too few sectors" replaced with "Too many sectors"
172         - apostrophe in mlabel no longer causes generation of long entry
173         - option to fake system date for file creation using the
174         SOURCE_DATE_EPOCH environment variables
175
176         - can now be compiled with "clang" compiler
177         - fallback function for strndup, for those platforms that don't have it
178         - fixed a number of -Wextra warnings
179
180         - new compressed archive formats for uz/lz
181
182         - allow to specify number of reserved sectors for FAT32.
183         - file/device locking with timeout (rather than immediate failure)
184         - fixed support for BPB-less legacy formats.
185         - removed check that disk must be an integer number of tracks.
186
187         - removed .eh/.oh macros from manual pages
188 v4_0_19
189         - Fix for short file names starting with character 0xE5
190         (by remapping it to 0x5)
191         - mpartition: Partition types closer to what Microsoft uses
192         - mformat: figure out LBA geometry as last resort if geometry
193         is neither specified in config and/or commandline, nor can be
194         queried from the device
195         - mformat: use same default cluster size by size as Microsoft
196         for FAT32
197         - additional sanity checks
198         - document how cluster size is picked in mformat.c man page
199         - document how partition types are picked in mpartition.c man page
200 v4_0_18 
201         Fix for names of iconv encodings on AIX
202         Fix mt_size_t on NetBSD
203         Fixed compilation on Mingw
204         Fixed doc (especially mformat)
205         Fix mformat'ing of FAT12 filesystems with huge cluster sizes
206         Minfo prints image file name in mformat command line if an image
207         file name was given
208         Always generate gzip-compressed RPMs, in order to remain
209         compatible with older distributions
210         Fixed buffer overflow with drive letter in mclasserase
211 v4_0_17
212         mbadblocks now takes a list of bad blocks (either as sectors
213         or as clusters)
214         mbadblocks now is able to do write scanning for bad blocks
215         mshowfat can show cluster of specific offset
216         Enable mtools to deal with very small sector sizes...
217         Fixed encoding of all-lowercase names (no need to mangle
218         these)
219         Consider every directory entry after an ENDMARK (0x00) to be deleted
220         After writing a new entry at end of a directory, be sure to also add
221         an ENDMARK (0x00)
222
223         Deal with possibility of a NULL pointer being returned by
224         localtime during timestamp conversion
225 v4_0_16
226         configure.in fixes
227         fixed formatting of fat_size_calculation.tex document
228         compatibility with current autoconfig versions
229         Make it clear that label is limited to 11 characters
230         Fixed typo in initialization of FAT32 info sector
231 v4_0_15
232         Added missing -i option to mshortname
233         Split .deb package into mtools and floppyd in order to
234         match Ubuntu
235 v4_0_14
236         New mshortname command
237         Fix floppyd for disks bigger than 2 Gig
238         Remove obsolete -z flag
239         Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
240         Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
241         Mformat now correctly writes backup boot sector
242         Fixed signedness of serial number in mlabel
243         Fixed buffer size problem in mlabel
244         Make mlabel write backup boot sector if FAT32
245         Catch situation where both clear and new label are given to mlabel
246         Quote filename parameters to scripts
247         Mformat: Close file descriptor for boot sector
248         Added lzip support to scripts/uz
249         Added Tot_sectors option to mformat
250         Fixed hidden sector handling in mformat
251         Minfo generates mformat command lines containing new -T option
252         Mlabel prints error if label too long
253 v4_0_13
254         Merged Debian patches
255 v4_0_12
256         Mingw compatibility fixes
257 v4_0_11
258         Fixed compiler warnings in mlabel.c and elsewhere
259         Fixed h flag in mattrib.c
260         Added missing error checking in floppyd and elsewhere
261         
262 v4_0_10
263         More copyright stuff...
264         Fixed issues with max filesize (was 2GB instead of 4GB, and
265         warned only after copying the beginning)
266 v4_0_9
267         More copyright stuff
268 v4_0_8
269         Corrected copyright attributions in the various files
270 v4_0_7
271         Fixed conversion to native on OS/2
272         Fix parsing of --help flag
273 v4_0_6
274         Fallback for missing wchar_t iconv codepage on OS/2
275         Fixes for LSEEK64 support
276         Support for --help that returns a 0 exit status
277 v4_0_5
278         Make setpgrp() usage in floppyd conditional
279         Re-instate PACKED around structure (ARM)
280         LSEEK64
281         
282 v4_0_4
283         BSD support: SCSI, use getuserid/getgroupid in floppyd
284         Another attempt at putwc fix for OS/2
285         Further GNU fixes
286         Fallback for putwc if there is wchar (OS/2)
287 v4_0_3
288         Fix multipart pathname parsing bug in vfat.c (forgot limited length)
289         Supplied fallback define for putwc
290         Copyright notices in all sources
291 v4_0_2
292         Off-by-2 error in unix_name in file_name.c
293 v4_0_1
294         Missing functions on Solaris
295 v4_0_0
296         Offset for -i-specified image files
297 v4_0_0_pre2
298         Use transliteration to represent characters which don't exist in
299         target set
300 v4_0_0_pre1
301         Mtools-4 with Unicode support
302         Released 4.0.0_pre1
303 v20071226
304         Debian build files
305         Fixed security issue with doctored file names
306         64 bit compilation fixes
307 v20070601
308         Fixed misc blunders...
309 v20070531
310         Fixed lots of minor items raised by gcc4
311         Merged some of the BSD patches
312         New version of amuFormat.sh written in sh rather than csh
313         Support for config parameters after -i file
314         Released 3.9.11
315 v20070411
316         Added sizecode printing on minfo
317         In mformat manpage, use same flag for sector number than printed in
318         minfo
319         Limit sizecode to 6, else it will overflow max sector size defined in
320         msdos.h
321 v20070308
322         Applied mingw patch by Jamey Sharp and Josh Triplett
323 v20070306
324         Fixed doc about /etc/default
325 v20070305
326         Fixed mlabel on read-only disks
327 v20060626
328         Merged Redhat/Fedora patches
329 v20060531
330         #ifdef linux-dependent code in mformat.c
331 v20060525
332         Fix gcc4 warnings
333         Fix reading of boot sector (block size)
334 v20060228b
335         Do no longer open floppy devices with O_EXCL, in order to enable
336         work-around against broken cache.
337 v20060228
338         If no info dir exists at all, assume dir
339 v20060227
340         Support for DESTDIR
341 v20051011
342         Fix Unix loop
343 v20050410
344         Cygwin compatibility
345 v20050317
346         Solaris 8 compatibility
347 v20050302
348         Released 3.9.10
349 v20050228
350         Support for multiple drives in floppyd
351 v20050213b
352         Updated .spec file
353 v20050213
354         Fixed some long name directory entry freeing bugs
355 v20040505
356         Fixed duplicate FAT writing error. Fixed segfault on short images.
357         Mformat creates images of correct size.
358         CYGWIN compatibility (O_BINARY flag).
359 v20040420
360         Cygwin patch for plain_io.c (no locking)
361 v20040228
362         Fix a couple of memory leaks in config file parsing. Fix llong.h
363         (redefined same symbol twice)
364         Fix a variable initialization problem in plain_io.c
365         New mclasserase command to erase memory cards
366         C99 "compatibility"
367 v20030718
368         Fix rootskip and rate of XDF disks
369 v20030705
370         Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
371 v20030609
372         Moved putc after variable description (anybody knows about a -W
373         flag so that gcc warns about these?)
374 v20030606
375         Fixed mattrib -p (missing slash)
376 v20030605
377         Added -m option to mformat to specify a non-standard mediabyte
378 v20030524
379         Added -d options to mformat to specify number of FAT copies. Can
380         also be set using the MTOOLS_NFATS environmental variable.
381         Also added similar env variable for root directory length
382         Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
383         CYGWIN fixes for mcat
384         floppyd bugfixes
385 v20030213
386         Released 3.9.9 : Identical to pre-3.9.9 except for the version number
387 v20030213
388         Released 3.9.9 Pre-1
389         Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
390         Improved fat_len calculation
391         Fixed plain_io.c bug (Swap byte applied after partition stuff,
392         instead of before)
393 v20030118
394         Fixed mcat end-of-file bugs (mcat went on writing, and writing,
395         and writing, even after end of file)
396 v20030105
397         If "standard" CHS specified, but non-standard root dir size do not
398         use table-lookup based geometry ("old-dos media descriptor")
399 v20021118
400         David's new uz script, that can use commands other than gzip for
401         compression
402 v20021116
403         Fixed vold support for mpartition
404 v20021105
405         Added PACKED to unicode_char declaration (Arm)
406         Mpartition can now create the image if -I is specified.
407 v20021104
408         Support for geometry-less Atari disks
409         Support for byte-swapping disks
410 v20021102b
411         Avoid .(l and .)l in generated man pages
412 v20021102
413         -i flag
414         Fix mformat for 2m
415         Fix [] wildcard off-by-one error
416         Avoid overwriting (Unix) file by itself in mcopy
417         Avoid cloberring any file if implicit target is used (the
418         one-argument syntax of mcopy)
419         Added Zip 750 entry to mzip.c
420         SCO Scsi fix
421 v20020125
422         Fixes for cygwin
423         Fixes in buffer.c for oddly sized image files
424         Mformat.c fixes to avoid making images which would not be
425         readable in windows.
426 v20010908
427         Warn for invalid partition numbers
428 v20010526
429         Released pre6-3.9.8 : getting rid of linux-gnu references is
430         almost as difficult as exorcising the devil...
431 v20010526
432         Released pre5-3.9.8 after fixing a couple of version numbers
433 v20010526
434         Applied Adrian Bunk's patches, minus the Stallmanisms.
435         De-stallmanized config.gues and config.sub files
436         pre4-3.9.8
437 v20010521
438         Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
439 v20010521
440         Fixed #ifdef DEBUG statements, pre2-3.9.8
441 v20010520
442         Released pre-3.9.8
443 v20010507
444         Updated config.guess/config.sub to support Darwin
445         Patch for converting contents of files from/to Dos' version of
446         8bit Ascii
447         Fixed bug in to_unix function
448 v20010330
449         Updated freebsd floppy device definitions
450 v20010325
451         Fixes for floppyd to work with current protocol version of floppyd
452 v20010325
453         Fixed parsing of Unix filenames ending with slash
454 v20010325
455         Fixed file closing of floppyd
456 v20001213
457         Fixed a cindex entry in documentation
458 v20001113
459         Rewrote PDF rule to use pdflatex, rather than go through dvi
460         (pdflatex output looks nicer)
461 v20001113
462         Fixed JAZ Zip file overwrite bug (actually, this bug could occur
463         on any disk reasonably full...)
464 v20001018
465         Fix mzip manpage to include Linux in the list of supported OS'es
466 v20001009
467         Protect against division by zero when reading BSD disks...
468 v20000829
469         Documentation fixes
470 v20000820
471         Hurd openflags fix in mainloop.c
472         Added description for t option to mcopy man page
473         Added -lbsd to list of libraries to be tested for LynxOS
474         Unset LANG in mkmanpages
475         Updated config.gues/config.sub
476         Removed stale documentation for xcopy
477         Fixed typo in mformat man page
478 v20000810
479         Zip 250 support in mzip
480 v20000708
481         Floppyd robustness
482 v20000703
483         Variable initialization in mdir.c
484 v20000623
485         Do not use offset_t on AIX ==> broken
486 v20000610
487         Large disk fixes, especially for Solaris
488 v20000601
489         Released Mtools-3.9.7
490 v20000528
491         Mtools-pre2-3.9.7 released: some potential buffer overflows     
492 v20000521
493         Mtools-pre-3.9.7 released
494 v20000520
495         Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
496         for OpenBSD)
497 v20000517
498         Fixed a couple of floppyd bugs
499 v20000514
500         Added texclean to make distclean, added new "pdf" target.
501 v20000510
502         Did away with ipaddr_t and replaced it with IPaddr_t which is
503         guaranteed not to crash anywhere...
504 v20000509
505         Defined geometry for default a: devices on Linux and Solaris with vold
506 v20000502
507         Carefully navigate Solaris' polluted namespace...
508 v20000501
509         Suppressed bogus error message when mcopying to an existing file.
510 v20000429
511         Fixed mformat problem with Fat32 (mformat didn't initialize the
512         label and fat type fields in the boot sector, and the other mtools
513         utils didn't check them)
514 v20000428
515         Fixed two more scandisk problems:
516                 - the infosector should end with 0x55aa
517                 - When deleting a file, be sure to DELMARK the VSE's as
518                   well as the main entry
519 v20000428
520         Fixed an evasive Fat32 bug: a parent directory entry pointing to
521         the root should have an address of 0 instead of the more logical 2
522 v20000416
523         Corrected mdir error handling
524         Fixed a bug in mren (problem when renaming short file names)
525 v20000412
526         Corrected a typo in error handling
527 v20000410
528         Fixed size problem with Ctrl-Z.
529 v20000401
530         (No joke): avoid setting volume serial number on "Old Dos" disks
531 v20000320
532         - Re-aligned command line options with Dos
533         - New -n/-N option for mlabel to change volume serial numbers
534         - Mattrib -p escapes file names in order to handle file name
535         containing spaces
536         - Changed mformat serial number format
537 v19991121
538         Fixed 2 bugs:
539         - Mtools would never completely use all directory slots, because
540         it overestimated space consumption by 1
541         - Mtools did not initialize the stat struct for pipes, and thus
542         gave occasionnally bogus "Disk full" error messages
543 v19991011
544         Rearranged tty open call so that it is only opened when actually
545         needed  
546 v19990807
547         Added special case for 0xf7 media descriptor
548 v19990729
549         Make O_NDELAY conditional everywhere
550 v19990715
551         Return correct return value from mt_lseek, even if off_t is a 64
552         bit quantity
553 v19990712
554         Treat OpenBSD the same as NetBsd
555 v19990630
556         Released 3.9.6 with the following fixes:
557         - Typoes in xdf_io.c
558         - Make Xdf work in nodma mode
559         - Fix for mformatting MSS disks
560 v19990628
561         1st attempt to release 3.9.6 with mostly minor fixes:
562         - platform compatibility
563         - automatic installation of info files
564         - mdir's -X flag no longer implies "recursive"
565 v19990419
566         3.9.5 released with mostly minor fixes:
567         - Starting cluster numbers of "." directory entry
568         - Copying of empty Files from Dos to Unix
569         - Misc platform compatibility issues
570 v19990315
571         Another embarrassing bug found, 3.9.4 released. When will this
572         nightmare stop?
573 v19990314
574         Mtools 3.9.3 released
575 v19990314
576         Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
577         Glibc problems are potentially dangerous, and can lead to data loss.
578 v19990314
579         Mtools 3.9.2 released
580 v19990310
581         Fixed typo in plain_io.c
582 v19990307
583         More rigor about signed vs unsigned issue.  FreeBSD Scsi support
584 v19990223
585         Allow for 2GB Jaz drives
586 v19990218
587         Rewrote floppyd in C instead of C++
588 v19990208
589         More buffer fix
590 v19990112
591         Buffer fix
592 v19990111
593         "Big disk" fixes
594 v19990104
595         OS/2 patch
596 v19981211
597         Make sure that fat_type doesn't overwrite byte 62 with zero =>
598         disk unbootable
599 v19981204
600         Added support for "replay" listing of mattrib.  Cleaned up version
601         number and date handling (date was not always accurate...)
602 v19981204
603         Added geometry autodetection code for Linux harddisks to
604         mpartition and mformat.  Removed misleading references to
605         "non-removable media"
606 v19981203
607         Added boot sector template option for mpartition.  Fixed mtools.1
608         man page. Mattrib -s e:/ fix
609 v19981031
610         Man pages bug fixes
611 v19981029
612         Fixed HP SCSI "big write" bug   
613 v19980701
614         Fixed debug mode in vfat.c
615 v19980629
616         A few minor floppy related fixes (installation, and replacement
617         for setenv function, which is absent from some platforms)       
618 v19980523
619         Added floppyd (remote access to floppy disks)
620 v19980522
621         Updated mkmanpages script to dynamically get date and mtools
622         version.  Correct "removable media" error message to talk about
623         /etc/mtools.conf instead of /etc/mtools.  Do init_geom to read
624         geometry if no geometry is set.
625 v19980514
626         Mtools 3.9.1 released
627 v19980503
628         Mformats makes disks which are readable both as partitioned and as
629         plain
630 v19980405
631         Corrected Tim Hoogasian's e-mail address
632 v19980404
633         OS/2 additions
634 v19980331
635         "Dirty end too big" mformat bug corrected
636 v19980330
637         Corrected typoes for IRIX devices, use macros for attribute types,
638         fix 0 length file bug.
639 v19980327
640         Loop detection code
641         Bigger array for SCSI command
642 v19980323
643         GLIBC portability
644 v19980322
645         OS/2 portabilty, GLIBC portability
646 v19980320
647         Fixes related to Solaris new vold support
648 v19980317
649         Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
650         CFLAGS for those makes that don't support implicit rules well enough
651 v19980310
652         Mtools 3.9 released
653 v19980308
654         Various Bugfixes (overwrite mode and directory cache)
655 v19980301
656         Added mformat_only flag.
657 v19980130
658         Fixed non-batchmode mcopy bug.  Fixed shortname case bug
659 v19980130
660         Minfo and mformat boot program bug fixes
661 v19980120
662         Allow default block sizes per device which are not equal to 512
663 v19980108
664         Allow and interpret back quotes in file names
665 v19980101
666         Misc bugfixes
667 v19971231
668         Scandir optimizations.  Fixed nasty Heisenbug in hash.c.
669 v19971229
670         Fixed integer width problem in fat.c, and minor bugs in hashtable.
671 v19971222
672         More performance optization.  Buffer handl
673         ing redone.  New
674         "asynchronous mode".
675 v19971216
676         Fixed mtype and mcheck.  Started cleaning up out-of-memory handling
677 v19971215
678         Jacked up performance, and corrected signal handling bugs.  Also
679         corrected various "Disk full bugs"
680 v19971212
681         Fixed "Bad address" errors which occurred when running mdu on empty
682         files.  When copying recursively, do not barf if a directory
683         already exist at the target.  Mcopy operates silently by default.
684 v19971212
685         removed mwrite. Obsoleted long ago by mcopy
686 v19971211
687         fixed mdir -X, added mattrib -X; document both.  Fix doc for name
688         clash handling
689 v19971210
690         fixed polarity of sys_errlist. Renamed some include files which
691         bore the same name as system include files.  Fixed another
692         memory leak in dir_grow. A/UX termio workaround.
693 v19971209
694         fixed filedescriptor leak. Make mbadblocks stoppable. Doc
695         fixes.  Fixed one memory leak, another one further down the road
696         remains... Fixed error handling in createDirectory.
697 v19971208
698         bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
699 v19971205
700         Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
701         version. No actual code change apart from patchlevel.h
702 v19971204
703         Pre2-3.9. Added mpartion manpage.  Added misc.o dependency to
704         mkmanifest.  Fixed mpartition bug with partitions with more
705         than 1023 cylinders
706 v19971129
707         Pre-3.9.  Redid the mainloop logic, and got rid of lots of cruft
708         in subdir.c and parse.c.  It is now possible to put wildcards in
709         the directory part of the filename.  Design also became simpler,
710         making it easier to maintain this part in the future.
711         Added a -u flag to mzip to temporarily unprotect a disk
712         Added a test to mzip to prevent manipulation of mounted disks
713         Added support for partitioned devices in mmount
714 v19971116
715         Added mdu and recursive mdir
716 v19971112
717         Fixed bugs in recursive copy stuff, added recursive mattrib, and
718         fixed a few buffer overrun bugs
719 v19971110
720         Added recursive copy and attribute conservation flags to mtools 
721 v19971029
722         Fix parse.c typo
723 v19971013
724         Include Sys5 directories on SunOs in order to have a correct
725         timestamp
726         Detect Lilo disks
727 v19971006
728         Correct vold typo
729 v19971002
730         Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
731 v19970823
732         Corrected gross bug in fat12_decode
733 v19970823
734         Simplified fat bits handlings
735 v19970820
736         Raw Scsi_io for SGI
737 v19970813
738         Buffer.c and FAT bugfixes
739 v19970813
740         More FAT32 fixes.  New mshowfat command.
741 v19970813
742         Fix FAT32 problem (FAT32 does not use the high nibble)
743 v19970812
744         Detect presence of sys_errlist using autoconf instead of
745         making its usage dependent on BSD.
746         Fixed make texclean.
747         Guard against corrupted "next free block" pointer in a FAT32
748         InfoBlock
749 v19970715
750         Use root privileges during scsi_init
751 v19970714
752         Fixed close-on-exec bug.
753 v19970714
754         Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
755         of HP_UX
756 v19970713
757         Fixed Makefile so that make -j works without errors.  Fixed
758         upper/lower bug in mmount
759 v19970708
760         Released 3.8
761 v19970629
762         Add option to mformat to keep boot sector, or to read it from
763         a file.  Added various flags to customize directory listing
764         appearance and long name behavior
765 v19970629
766         Fix bug in yesterdays fix.  Also make sure to resize hash
767         table if too many deleted entries accumulate.
768 v19970628
769         Fixed yet another hash table bug
770 v19970619
771         Yet another HPUX fix.
772 v19970619
773         Fixed a segfault in mpartition
774 v19970617
775         Removed a few Stallmanisms in config.guess
776 v19970612
777         3.7 released
778 v19970611
779         Corrected a few errors in new vold code
780 v19970610
781         Removed extra &'s from string addresses.
782         Added listing of current configuration to mtools -V
783         Updated version number and date in mkmanpages
784 v19970604
785         New Bebox patch.  Removes almost all BEBOX specifities because
786         they are no longer needed with the new DR9 release.
787         Small fix for size detection of SCSI disks.
788 v19970524
789         Fixed small typo in new vold code
790 v19970524
791         Added partition consistency checks for accessing device.
792 v19970523
793         New version of Solaris vold code
794 v19970516
795         Solaris floppy geometry.  Support for older MO disks (size
796         returned in non-standard location)
797         Corrected ftp address for fdutils
798 v19970504
799         Updated README.BEBOX
800 v19970504
801         Brought Makefile.Be and config.h.Be up to date with the recent
802         changes
803 v19970504
804         Add Ultrix to the list of OS'es which do not define their
805         prototypes
806         Small Makefile fix
807 v19970503
808         Various "Next proofintg".
809                 * add VENDOR_, CPU_ and OS_ before machine type tags
810                 detected by autoconf. Next tends to be a frequently
811                 used variable
812                 * use utimes preferably before utime
813                 * try to include _all_ termios functions.
814                 * more precise detection of available termios functions
815 v19970501
816         Added knowledge of Zip Tools Disk password to mzip.
817 v19970429
818         Went back to using ALLCFLAGS in Makefile for those people who
819         want to override CFLAGS
820 v19970426
821         Added note about Alpha site to doc.
822 v19970423
823         Prefer termios.h on Ultrix
824 v19970422
825         Renamed missing_functions to missFuncs in order to accommodate
826         operating systems with file name size limits.
827 v19970420
828         Autoextend size for images that are too small.  Moved BSD
829         dependent #ifdef's after the inclusion of sys/param.h, as it
830         is there where BSD is defined (sigh!)
831 v19970419
832         Insist on the fact that mzip's -f flag only makes sense if
833         given in addition to -e
834 v19970419
835         Corrected typo in doc.
836 v19970417
837         Removed read and write prototypes, they conflict on an Alpha!
838 v19970414
839         More HP/UX fixes.
840 v19970414
841         3.6 released
842 v19970414
843         Do not stat any files in /dev/ on BEOS. Remove spurious system
844         include files from non-sysincludes.h file
845 v19970413
846         Fixed Zip disk eject
847 v19970412
848         Added Sunos4 and SCO support to scsi.c.  Use tzset before
849         gettimeofday, except for BSD.  Use Z: for a Zip drive, and J:
850         for a Jaz drive instead of D: for both.  Added machine
851         specific libraries and CFLAGS for A/UX.
852 v19970410
853         Various A/UX fixes.  Changed scanning order for termio and
854         termios due to problems with the other order on A/UX.
855 v19970405
856         Print error message for wrong password.
857 v19970405
858         Include mzip man page
859 v19970404
860         Document new config flags introduced in 970204.
861         On systems not supporting euid, do not bail out if both euid
862         and ruid are 0.
863 v19970404
864         Prevent mmove from moving directories into themselves in order
865         to keep a tree-like directory structure
866 v19970403
867         Fixes for mtools_no_vfat
868 v19970402
869         Additional config file pointed by MTOOLSRC; possibility to
870         switch off generation of VFAT long names.
871 v19970401
872         HP/UX setresuid support. "Mcopy a: ." bugfix.
873 v19970331
874         Renamed f_* functions into file_* in order to avoid a clash
875         with a preprocessor macro named f_data on AIX.
876 v19970323
877         Released 3.5, Solaris compatibility fix w.r.t. memmove
878 v19970323
879         Released 3.4
880 v19970319
881         Fixed location of configuration file in doc.
882 v19970318
883         Fixed mlabel bug
884 v19970316
885         More BSD & 64 bit changes
886 v19970308
887         Added at_exit implementation for those boxes who have neither
888         on_exit nor atexit.  Added check to make sure the compiler
889         handels structures in a sane way.
890 v19970307
891         Backed out again of the traditional-cpp change on
892         larry.jones@sdrc.com's advice
893 v19970306
894         Added traditional-cpp in order to make mtools compilable on a Sun
895 v19970304
896         Fixed nolock flag
897 v19970227
898         BEOS fixes and support for SCSI devices with a sector size
899         different from 512.
900 v19970225
901         Fixed some preprocessor macros.  Added texclean macro to Makefile
902 v19970224
903         Clarified the documentation about the Bebox.
904 v19970224
905         Released 3.3
906 v19970220
907         Made Makefile "AIX-proof".  Added precmd to config.c
908 v19970219
909         Fixed typo in mdel.
910 v19970217
911         Osf4 support.  Released 3.2
912 v19970216
913         Fixed Makefile typo, and fixed various bugs with renaming or
914         moving dot or dot dot
915 v19970215
916         Fixed streamcache.c bug
917 v19970214
918         Added add-disk script and format.dat file
919 v19970214
920         Fixed mrd e:xxx/, tested Xdf support
921 v19970210
922         Strange mformat fixes...  Dos always seems to assume a cluster
923         size of at least 8 sectors and 512 root directory entries.  Sigh!       
924 v19970209
925         FAT32 support, BeOS patches
926 v19970208
927         Added more debugging code to mpartition and minfo.  Added
928         "packed" attribute to the partition structure.
929         Cleaned up argument handling.
930 v19970207
931         Fixed partition removal bug in mpartition.c
932 v19970206
933         Fixed streamcache allocation bug.  Clearer error message when
934         trying to access a non-existant partition.
935 v19970205
936         Added "packed" attribute to some fields of the vfat_subentry
937         structure, in order to work around a bug in a gcc version for
938         SunOS.
939         Use getpass() for password prompting in mzip.c  
940 v19970203
941         Various small bug fixes
942 v19970202
943         Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
944         Relaxed security in mpartition.c, so non-root users may print
945         a partition, or perform any local changes to it.
946         Mpartition now prints info to recreate partition.
947 v19970201
948         Add mpartition command to partition Zip, Jaz and other Scsi
949         devices.
950         Chose between on_exit or atexit using autoconf.
951 v19970130
952         Added minfo command to print disk geometry and other parameters.
953 v19970129
954         Replaced atexit by onexit. Atexit barfed on SunOs.
955         Replaced O_RDWR flag in mzip with O_RDONLY.
956         Added precmd variable to execute commands before opening a
957         given drive.
958 v19970127
959         Shortened README, segregated config file pathnames into a
960         separate file.
961 v19970125
962         General cleanup, more enhancements to privilege handling.
963 v19970123
964         Added debugging output to mzip.
965         Made expand.c safe and still compatible with suid operation.
966         Fixed mzip typo.
967         Made device locking optional.
968 v19970122
969         Added const qualifiers
970 v19970120
971         3.1 Released
972 v19970116
973         Added kludgy xcopy support
974 v19970111
975         Only skip sys_errlist declaration on NetBSD (some older
976         platforms might need this)
977 v19970110
978         Upgraded to autoconf 2.12, fixed some Stallmanisms.
979         Added device entry for LynxOs.
980 v19970107
981         Use gettimeofday before tzset (for BSD).
982 v19970107
983         Use correct location of signal.h.  Removed declaration
984         for sys_errlist.
985 v19970107
986         BEOS patches by Marco Nelissen
987         Removed some clashing prototypes
988 v19970103
989         Prints privilege debugging message to stderr, and reopens SCSI
990         file with root privileges.
991 v19961227
992         Fixed typoes in mzip.  Added pointer to html doc.
993 v19961226
994         Fixed Linux Scsi ioctl.
995 v19961225
996         Added warnings against cookies, fixed doc to reflect new set-uid
997         policy.
998 v19961224
999         Fixed typoes in privilege routines, and removed Heisenbergian
1000         parts of the  debugging code.
1001 v19961223
1002         Deleted prototypes for random() and srandom(): they *did*
1003         clash (on a DEC Alpha)
1004 v19961222
1005         Solaris & SunOS privilege management.  Fixed date entries in
1006         ChangeLog file.
1007 v19961221
1008         Solaris ZIP fix.
1009 v19961219
1010         Cosmetic mzip fixes.  Add pointer to info doc to mtools.1
1011 v19961219
1012         ISC addition. Doc fix for set_parameters ioctl.
1013 v19961217
1014         Mformat doc fix.
1015 v19961216
1016         Replaced zip_* by scsi_*, as these functions are not
1017         specifically relevant to the ZIP (they apply to the JAZ as
1018         well)
1019         Fixed documentation on -n flag for mcopy
1020 v19961217
1021         Include termio before termios because of SCO
1022         Applied Jaz patch
1023         Do not declare timezone external variable on Ultrix, where it
1024         has a different type.   
1025 v19961215
1026         Changed floppy into rfloppy for HP/UX.
1027 v19961214
1028         Added -Q option to mcopy, which aborts copying multiple files
1029         as soon as an error for one file is encounteres
1030         Removed useless -i option for mcopy
1031         Small devices.c portability fixes (ultrix and hpux)
1032 v19961211
1033         Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
1034         Renamed mtest to mtoolstest to please pine.
1035 v19961210
1036         Added warning about running mtools with root privs.
1037 v19961209
1038         Fixed uninitialized variable in fat.c and added example for Sun
1039         mtools.conf
1040 v19961209
1041         Fixed comment in scripts/tgz
1042 v19961207
1043         Fixed partition handling code (yes, again!)
1044         Added code to handle ZIP disks on Solaris/SunOS (many thanks
1045         to James P. Dugal (jpd@usl.edu))
1046 v19961203
1047         Proper permissions for main directory.
1048 v19961202
1049         Renamed scripts/gz to scripts/tgz
1050 v19961202
1051         Added raw devices for Solaris, apparently more performant
1052         Test first for tzset in autoconfigure (Solaris)
1053 v19961202
1054         Segment fault due to change of buffer size fixed
1055         E-mail address fixed
1056 v19961117
1057         Lots of portability fixes.
1058 v19961012
1059         Yet another typo fix for the partition table code.  Oh Gawd,
1060         will this never stop?
1061         Fix for proper .mcwd pathname concatenations
1062 v19961009
1063         Backed out partition table "fix": the original code was right
1064         after all
1065 v19960920
1066         Corrected a few uninitialised variables
1067 v19960918
1068         Corrected doc about devices file.
1069 v19960917
1070         Added pointer to the doc to the README file
1071 v19960913
1072         Partition table parsing fixed
1073 v19960807
1074         Fujitsu DS/90 (UXP) support
1075 v19960727
1076         ISC device
1077         dispatcher cleanup in mtools.h
1078         fat_bits 12/16 toggle fix.
1079         More space for error message variable in mformat
1080         Typo fix in mren.1
1081 v19960710
1082         Fix for CPU names with dots in autoconfigure
1083         Some new device descriptions
1084         FreeBSD fixes
1085 v19960624
1086         Set XDF mode when formatting an XDF disk (makes sense, after all...)
1087 v19960623
1088         XDF seems to work. Yeah!
1089 v19960620
1090         More ED fixes. More parameter size fixed for 64bit.
1091 v19960609
1092         Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1093         ED)
1094 v19960528
1095         Make vold and "raw" floppy drive accessible simultaneously on
1096         Solaris by calling one A: and the other B:
1097         Add missing mbadblock LINK in Makefile.in
1098 v19960527
1099         Inserted missing newline character
1100 v19960525
1101         Treat number of heads or sectors as chars. The BIOS wouldn't
1102         allow bigger numbers anyways, thus big numbers are probably
1103         due to errors.
1104 v19960524
1105         Pattern match fix.
1106         Geometry setting for HP/UX
1107 v19960522
1108         Changed auto array in codepage to malloc'ed one in order to
1109         work around buggy compilers
1110         OSF ALPHA devices
1111         Pointers to other doc in the INSTALL file
1112 v19960516
1113         Do no longer be confused by deleted VSE's
1114         Define MAXPATHLEN for SCO
1115         Missing lockf prototype for SCO
1116 v19960514
1117         Handle DEBUG flag by autoconf
1118         Added Host vendor to compile flags in order to handle Sinix
1119         Better Sinix handling in devices.c
1120         Only print duplicate VSE messages when running with DEBUG
1121         Fix mlabel exit code
1122         Read-only locking
1123         Doc fixes
1124         Xcopy fixes for Sysv
1125 v19960512
1126         3.0 released.
1127 v19960508
1128         pre4-3.0. Lots of bug fixes. Texinfo file
1129 v19960502
1130         pre-3.0
1131 v19960501
1132         use autoconf to get rid once and for all of those pesky OS
1133         dependencies.
1134 v19960429
1135         use sys/termio instead of sys/termios to please AIX
1136 v19960427
1137         more spelling fixes.
1138 v19960426
1139         Spelling fixes
1140 v19960424
1141         Mmount arg parsing bug fix
1142 v19960422
1143         New partition configuration variable.
1144 v19960419
1145         Spelling fixes, removed warning in README, IRIX floppy devices
1146 v19960214
1147         More Alpha streamlining
1148 v19960213
1149         Alpha patches (64 bit clean-ness)
1150         AIX patches (built in drive names)
1151         Raw tty patches (no need to type return when confirming an action
1152 v19960131
1153         Solaris patches
1154         Replaced include strings.h by string.h everywhere where applicable
1155         Changed thousands separator in mdir from a dot to a space to
1156         please both Americans and Europeans.
1157         Fixed memory allocation bug if no "constant device" is present.
1158         #defined strtoul to atol for SunOS
1159 v19960121
1160         Minor cleanup, released 2.5.4
1161 v19951205
1162         Added "magic" header to manpages to have man run them through tbl
1163 v19951209
1164         MTOOLS_LOWER_CASE is back, various small bug fixes over
1165         Tuesday's changes
1166 v19951205
1167         Bus strike in Grenoble! Well, let's do something useful and
1168         re-arrange the configuration file syntax :-)
1169         The syntax has become much more flexible now, and also
1170         includes items which used to be only accessible via
1171         environmental variables.
1172         Moreover, it is now possible to include character translation
1173         tables in line.
1174 v19951126
1175         Fixed another Atari disk bug: Atari disks sport a bogus
1176         "number of hidden sectors"
1177 v19951125
1178         Fixed missing zero-terminator in autorenamed long names
1179         MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1180 v19951124
1181         Fixed small quoted-printable-induced typo in the Makefile.
1182         <rant>
1183         Folks, please don't use quoted-printable. It sometimes changes
1184         the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1185         Case in point: £400 gets transformed into =A3400, which looks
1186         like 3400 pounds to a person unaware of this MIME "feature".
1187         </rant>
1188 v19951123
1189         Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1190         behavior.
1191 v19951115
1192         Added ability to do mcopy e: to copy all files from the root
1193         directory of e:
1194         New Xdf-less Linux target in the Makefile
1195         Relaxed sanity check to let pass wonky Atari disks whose FAT
1196         begins with 3 zero bytes.
1197         Make the check of the initial fat bytes conditional on
1198         mtools_skip_check
1199         Corrected "testna=" bug
1200         Upped minimal sector size to be 256 (instead of 128). This
1201         helps 2m30
1202 v19951112
1203         2m30 compatibility
1204         Manpage update
1205         2m checksum bug fix
1206         Ability to mformat 2m disks
1207 v19951107
1208         Xdf bug fix (dev parameters always set to Xdf, even if it
1209         wasn't really an Xdf disk)
1210         Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1211         the last.
1212         Centralizing most env-var handling.
1213         Update of the mtools manpage.
1214         Xdf is now optional, and only active if MTOOLS_USE_XDF is
1215         set. Saves a few milliseconds of startup time on non Xdf
1216         disks.
1217         Some lawyer-proofing, just in case :)
1218 v19951106
1219         Fast xdf code (finally!)
1220         Minor performance enhancements here and there.
1221         Names which are all lower case now generate a long name entry
1222         (according to Steve Searle, that's how Win'95 behaves).
1223 v19951029
1224         Character translation table fixes. Other name fixes.
1225 v19951026
1226         Put restrictions on long names to better match Win'95.
1227         (suggested by Steve Searle)
1228         Reworked autorename code. Catch SIGHUP signal
1229         Added missing file close to main loop
1230         Changed name of the "ask for action" command line flag to 'm',
1231         and used 'a' for 'Autorename'.
1232 v19951024
1233         Removed infinite loop bug in hash.c, which occurred when the
1234         hash table was filled with deleted entries.
1235 v19951023
1236         added Atari ST-style serial numbers (they live in the banner)
1237         fixed a troff bug in mtools.1
1238         Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1239 v19950916
1240         v2.5.3 released (after lots of fixes)
1241 v19950904
1242         v2.5.2 released
1243 v19950904
1244         mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1245         mattrib.c: initialized "code" to avoid complaint by GCC
1246 v19950904
1247         Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1248         init.c: fs_init(): initialized disk_size to 0.  The section
1249                 which previously initialized this is ifdef'd out.  Why?
1250         Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1251                 Gee, the Makefile is pretty ugly!  It might be good to start
1252                 thinking about autoconfigure, or at least some cleanup.
1253         Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1254         msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1255                 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1256         devices.c: use %i instead of %d to allow different bases
1257         parse.c: Changed comment for get_name()/get_path(); need to
1258                 revisit this after deciding on default case behavior
1259         devices.c: load_devices(): fixed bad fprintf, line 748
1260         parse.c, mformat.c, misc.c: replaced expressions like
1261                   "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1262                 
1263 v19950829
1264         v2.5.1 released
1265
1266 v19950829
1267         Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1268                 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1269                 (Siemens SVR4):
1270                 plain_io.c
1271                 mk_direntry.c
1272                 vfat.h
1273
1274 v19950822 v2.5 released
1275
1276 v19950820 DCN
1277         Change null-fill for unused remainder of VSE to 0xff fill for
1278         both upper and lower character (just one null for termination)
1279         This seems to better match Win95's behavior; Win95 had been
1280         complaining about bogus characters
1281         file_name.c: unicode_write()
1282
1283 v19950820 DCN
1284         Commented out enforcement of VSEs being in order.  Win95 likes
1285         to put them exactly backwards, so we'd better tolerate getting
1286         them any way they might come!  Not sure what is lost by losing
1287         these checks, but it seems to be OK.
1288
1289         directory.c: dir_read()
1290
1291 Copying and distribution of this file, with or without modification,
1292 are permitted in any medium without royalty provided the copyright
1293 notice and this notice are preserved.