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