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