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