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