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