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