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