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