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
9 - Fix cluster padding at end of file in batch mode, and add
10 comments about what happens here
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
22 - Fixed floppy sector size handling on platforms that are not
24 - Added support for image files on command line to mcat
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
31 - easier way to enter sizes on mformat command line (mformat -C -T
33 - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
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
39 - minfo no longer prints bigsect if smallsect is set
40 - for remap filter, error when trying to write non-zero data
42 - Fix misc compilation warnings occuring when disabling
43 certain features (largefiles, raw-term)
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
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
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
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
87 - Fix bug in cluster preallocation, which was accidentally introduced
88 by compiler warning "fixes" from 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
93 - relax consistency checks in mpartition (partitions created
94 by current fdisk would almost never pass these checks)
95 - Fix some compiler warnings
97 - Fix type error in calls to iconv functions
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
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
109 - Spelling fixes in documentation
110 - Permit calling "make install" with >= -j2
111 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
113 - Address lots of compiler warnings (assignments between different types)
114 - Network speedup fixes for floppyd (TCP_CORK)
116 - Explicitly pass available target buffer size for character
119 - Fixed -f flag for mformat (size is KBytes, rather than sectors)
120 - Fixed toupper/tolower usage (unsigned char rather than plain signed)
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
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
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
140 - new compressed archive formats for uz/lz
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.
147 - removed .eh/.oh macros from manual pages
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
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
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
168 Always generate gzip-compressed RPMs, in order to remain
169 compatible with older distributions
170 Fixed buffer overflow with drive letter in mclasserase
172 mbadblocks now takes a list of bad blocks (either as sectors
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
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
183 Deal with possibility of a NULL pointer being returned by
184 localtime during timestamp conversion
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
192 Added missing -i option to mshortname
193 Split .deb package into mtools and floppyd in order to
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
214 Merged Debian patches
216 Mingw compatibility fixes
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
223 More copyright stuff...
224 Fixed issues with max filesize (was 2GB instead of 4GB, and
225 warned only after copying the beginning)
229 Corrected copyright attributions in the various files
231 Fixed conversion to native on OS/2
232 Fix parsing of --help flag
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
238 Make setpgrp() usage in floppyd conditional
239 Re-instate PACKED around structure (ARM)
243 BSD support: SCSI, use getuserid/getgroupid in floppyd
244 Another attempt at putwc fix for OS/2
246 Fallback for putwc if there is wchar (OS/2)
248 Fix multipart pathname parsing bug in vfat.c (forgot limited length)
249 Supplied fallback define for putwc
250 Copyright notices in all sources
252 Off-by-2 error in unix_name in file_name.c
254 Missing functions on Solaris
256 Offset for -i-specified image files
258 Use transliteration to represent characters which don't exist in
261 Mtools-4 with Unicode support
265 Fixed security issue with doctored file names
266 64 bit compilation fixes
268 Fixed misc blunders...
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
276 Added sizecode printing on minfo
277 In mformat manpage, use same flag for sector number than printed in
279 Limit sizecode to 6, else it will overflow max sector size defined in
282 Applied mingw patch by Jamey Sharp and Josh Triplett
284 Fixed doc about /etc/default
286 Fixed mlabel on read-only disks
288 Merged Redhat/Fedora patches
290 #ifdef linux-dependent code in mformat.c
293 Fix reading of boot sector (block size)
295 Do no longer open floppy devices with O_EXCL, in order to enable
296 work-around against broken cache.
298 If no info dir exists at all, assume dir
306 Solaris 8 compatibility
310 Support for multiple drives in floppyd
314 Fixed some long name directory entry freeing bugs
316 Fixed duplicate FAT writing error. Fixed segfault on short images.
317 Mformat creates images of correct size.
318 CYGWIN compatibility (O_BINARY flag).
320 Cygwin patch for plain_io.c (no locking)
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
328 Fix rootskip and rate of XDF disks
330 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
332 Moved putc after variable description (anybody knows about a -W
333 flag so that gcc warns about these?)
335 Fixed mattrib -p (missing slash)
337 Added -m option to mformat to specify a non-standard mediabyte
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
346 Released 3.9.9 : Identical to pre-3.9.9 except for the version number
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,
354 Fixed mcat end-of-file bugs (mcat went on writing, and writing,
355 and writing, even after end of file)
357 If "standard" CHS specified, but non-standard root dir size do not
358 use table-lookup based geometry ("old-dos media descriptor")
360 David's new uz script, that can use commands other than gzip for
363 Fixed vold support for mpartition
365 Added PACKED to unicode_char declaration (Arm)
366 Mpartition can now create the image if -I is specified.
368 Support for geometry-less Atari disks
369 Support for byte-swapping disks
371 Avoid .(l and .)l in generated man pages
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
383 Fixes in buffer.c for oddly sized image files
384 Mformat.c fixes to avoid making images which would not be
387 Warn for invalid partition numbers
389 Released pre6-3.9.8 : getting rid of linux-gnu references is
390 almost as difficult as exorcising the devil...
392 Released pre5-3.9.8 after fixing a couple of version numbers
394 Applied Adrian Bunk's patches, minus the Stallmanisms.
395 De-stallmanized config.gues and config.sub files
398 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
400 Fixed #ifdef DEBUG statements, pre2-3.9.8
404 Updated config.guess/config.sub to support Darwin
405 Patch for converting contents of files from/to Dos' version of
407 Fixed bug in to_unix function
409 Updated freebsd floppy device definitions
411 Fixes for floppyd to work with current protocol version of floppyd
413 Fixed parsing of Unix filenames ending with slash
415 Fixed file closing of floppyd
417 Fixed a cindex entry in documentation
419 Rewrote PDF rule to use pdflatex, rather than go through dvi
420 (pdflatex output looks nicer)
422 Fixed JAZ Zip file overwrite bug (actually, this bug could occur
423 on any disk reasonably full...)
425 Fix mzip manpage to include Linux in the list of supported OS'es
427 Protect against division by zero when reading BSD disks...
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
439 Zip 250 support in mzip
443 Variable initialization in mdir.c
445 Do not use offset_t on AIX ==> broken
447 Large disk fixes, especially for Solaris
449 Released Mtools-3.9.7
451 Mtools-pre2-3.9.7 released: some potential buffer overflows
453 Mtools-pre-3.9.7 released
455 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
458 Fixed a couple of floppyd bugs
460 Added texclean to make distclean, added new "pdf" target.
462 Did away with ipaddr_t and replaced it with IPaddr_t which is
463 guaranteed not to crash anywhere...
465 Defined geometry for default a: devices on Linux and Solaris with vold
467 Carefully navigate Solaris' polluted namespace...
469 Suppressed bogus error message when mcopying to an existing file.
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)
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
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
483 Corrected mdir error handling
484 Fixed a bug in mren (problem when renaming short file names)
486 Corrected a typo in error handling
488 Fixed size problem with Ctrl-Z.
490 (No joke): avoid setting volume serial number on "Old Dos" disks
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
496 - Changed mformat serial number format
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
504 Rearranged tty open call so that it is only opened when actually
507 Added special case for 0xf7 media descriptor
509 Make O_NDELAY conditional everywhere
511 Return correct return value from mt_lseek, even if off_t is a 64
514 Treat OpenBSD the same as NetBsd
516 Released 3.9.6 with the following fixes:
518 - Make Xdf work in nodma mode
519 - Fix for mformatting MSS disks
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"
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
531 Another embarrassing bug found, 3.9.4 released. When will this
534 Mtools 3.9.3 released
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.
539 Mtools 3.9.2 released
541 Fixed typo in plain_io.c
543 More rigor about signed vs unsigned issue. FreeBSD Scsi support
545 Allow for 2GB Jaz drives
547 Rewrote floppyd in C instead of C++
557 Make sure that fat_type doesn't overwrite byte 62 with zero =>
560 Added support for "replay" listing of mattrib. Cleaned up version
561 number and date handling (date was not always accurate...)
563 Added geometry autodetection code for Linux harddisks to
564 mpartition and mformat. Removed misleading references to
565 "non-removable media"
567 Added boot sector template option for mpartition. Fixed mtools.1
568 man page. Mattrib -s e:/ fix
572 Fixed HP SCSI "big write" bug
574 Fixed debug mode in vfat.c
576 A few minor floppy related fixes (installation, and replacement
577 for setenv function, which is absent from some platforms)
579 Added floppyd (remote access to floppy disks)
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.
586 Mtools 3.9.1 released
588 Mformats makes disks which are readable both as partitioned and as
591 Corrected Tim Hoogasian's e-mail address
595 "Dirty end too big" mformat bug corrected
597 Corrected typoes for IRIX devices, use macros for attribute types,
598 fix 0 length file bug.
601 Bigger array for SCSI command
605 OS/2 portabilty, GLIBC portability
607 Fixes related to Solaris new vold support
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
614 Various Bugfixes (overwrite mode and directory cache)
616 Added mformat_only flag.
618 Fixed non-batchmode mcopy bug. Fixed shortname case bug
620 Minfo and mformat boot program bug fixes
622 Allow default block sizes per device which are not equal to 512
624 Allow and interpret back quotes in file names
628 Scandir optimizations. Fixed nasty Heisenbug in hash.c.
630 Fixed integer width problem in fat.c, and minor bugs in hashtable.
632 More performance optization. Buffer handl
636 Fixed mtype and mcheck. Started cleaning up out-of-memory handling
638 Jacked up performance, and corrected signal handling bugs. Also
639 corrected various "Disk full bugs"
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.
645 removed mwrite. Obsoleted long ago by mcopy
647 fixed mdir -X, added mattrib -X; document both. Fix doc for name
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.
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.
658 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
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
663 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to
664 mkmanifest. Fixed mpartition bug with partitions with more
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
675 Added mdu and recursive mdir
677 Fixed bugs in recursive copy stuff, added recursive mattrib, and
678 fixed a few buffer overrun bugs
680 Added recursive copy and attribute conservation flags to mtools
684 Include Sys5 directories on SunOs in order to have a correct
690 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
692 Corrected gross bug in fat12_decode
694 Simplified fat bits handlings
698 Buffer.c and FAT bugfixes
700 More FAT32 fixes. New mshowfat command.
702 Fix FAT32 problem (FAT32 does not use the high nibble)
704 Detect presence of sys_errlist using autoconf instead of
705 making its usage dependent on BSD.
707 Guard against corrupted "next free block" pointer in a FAT32
710 Use root privileges during scsi_init
712 Fixed close-on-exec bug.
714 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
717 Fixed Makefile so that make -j works without errors. Fixed
718 upper/lower bug in mmount
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
726 Fix bug in yesterdays fix. Also make sure to resize hash
727 table if too many deleted entries accumulate.
729 Fixed yet another hash table bug
731 Yet another HPUX fix.
733 Fixed a segfault in mpartition
735 Removed a few Stallmanisms in config.guess
739 Corrected a few errors in new vold code
741 Removed extra &'s from string addresses.
742 Added listing of current configuration to mtools -V
743 Updated version number and date in mkmanpages
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.
749 Fixed small typo in new vold code
751 Added partition consistency checks for accessing device.
753 New version of Solaris vold code
755 Solaris floppy geometry. Support for older MO disks (size
756 returned in non-standard location)
757 Corrected ftp address for fdutils
761 Brought Makefile.Be and config.h.Be up to date with the recent
764 Add Ultrix to the list of OS'es which do not define their
768 Various "Next proofintg".
769 * add VENDOR_, CPU_ and OS_ before machine type tags
770 detected by autoconf. Next tends to be a frequently
772 * use utimes preferably before utime
773 * try to include _all_ termios functions.
774 * more precise detection of available termios functions
776 Added knowledge of Zip Tools Disk password to mzip.
778 Went back to using ALLCFLAGS in Makefile for those people who
779 want to override CFLAGS
781 Added note about Alpha site to doc.
783 Prefer termios.h on Ultrix
785 Renamed missing_functions to missFuncs in order to accommodate
786 operating systems with file name size limits.
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!)
792 Insist on the fact that mzip's -f flag only makes sense if
793 given in addition to -e
795 Corrected typo in doc.
797 Removed read and write prototypes, they conflict on an Alpha!
803 Do not stat any files in /dev/ on BEOS. Remove spurious system
804 include files from non-sysincludes.h file
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.
813 Various A/UX fixes. Changed scanning order for termio and
814 termios due to problems with the other order on A/UX.
816 Print error message for wrong password.
818 Include mzip man page
820 Document new config flags introduced in 970204.
821 On systems not supporting euid, do not bail out if both euid
824 Prevent mmove from moving directories into themselves in order
825 to keep a tree-like directory structure
827 Fixes for mtools_no_vfat
829 Additional config file pointed by MTOOLSRC; possibility to
830 switch off generation of VFAT long names.
832 HP/UX setresuid support. "Mcopy a: ." bugfix.
834 Renamed f_* functions into file_* in order to avoid a clash
835 with a preprocessor macro named f_data on AIX.
837 Released 3.5, Solaris compatibility fix w.r.t. memmove
841 Fixed location of configuration file in doc.
845 More BSD & 64 bit changes
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.
851 Backed out again of the traditional-cpp change on
852 larry.jones@sdrc.com's advice
854 Added traditional-cpp in order to make mtools compilable on a Sun
858 BEOS fixes and support for SCSI devices with a sector size
861 Fixed some preprocessor macros. Added texclean macro to Makefile
863 Clarified the documentation about the Bebox.
867 Made Makefile "AIX-proof". Added precmd to config.c
871 Osf4 support. Released 3.2
873 Fixed Makefile typo, and fixed various bugs with renaming or
874 moving dot or dot dot
876 Fixed streamcache.c bug
878 Added add-disk script and format.dat file
880 Fixed mrd e:xxx/, tested Xdf support
882 Strange mformat fixes... Dos always seems to assume a cluster
883 size of at least 8 sectors and 512 root directory entries. Sigh!
885 FAT32 support, BeOS patches
887 Added more debugging code to mpartition and minfo. Added
888 "packed" attribute to the partition structure.
889 Cleaned up argument handling.
891 Fixed partition removal bug in mpartition.c
893 Fixed streamcache allocation bug. Clearer error message when
894 trying to access a non-existant partition.
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
899 Use getpass() for password prompting in mzip.c
901 Various small bug fixes
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.
908 Add mpartition command to partition Zip, Jaz and other Scsi
910 Chose between on_exit or atexit using autoconf.
912 Added minfo command to print disk geometry and other parameters.
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
919 Shortened README, segregated config file pathnames into a
922 General cleanup, more enhancements to privilege handling.
924 Added debugging output to mzip.
925 Made expand.c safe and still compatible with suid operation.
927 Made device locking optional.
929 Added const qualifiers
933 Added kludgy xcopy support
935 Only skip sys_errlist declaration on NetBSD (some older
936 platforms might need this)
938 Upgraded to autoconf 2.12, fixed some Stallmanisms.
939 Added device entry for LynxOs.
941 Use gettimeofday before tzset (for BSD).
943 Use correct location of signal.h. Removed declaration
946 BEOS patches by Marco Nelissen
947 Removed some clashing prototypes
949 Prints privilege debugging message to stderr, and reopens SCSI
950 file with root privileges.
952 Fixed typoes in mzip. Added pointer to html doc.
954 Fixed Linux Scsi ioctl.
956 Added warnings against cookies, fixed doc to reflect new set-uid
959 Fixed typoes in privilege routines, and removed Heisenbergian
960 parts of the debugging code.
962 Deleted prototypes for random() and srandom(): they *did*
963 clash (on a DEC Alpha)
965 Solaris & SunOS privilege management. Fixed date entries in
970 Cosmetic mzip fixes. Add pointer to info doc to mtools.1
972 ISC addition. Doc fix for set_parameters ioctl.
976 Replaced zip_* by scsi_*, as these functions are not
977 specifically relevant to the ZIP (they apply to the JAZ as
979 Fixed documentation on -n flag for mcopy
981 Include termio before termios because of SCO
983 Do not declare timezone external variable on Ultrix, where it
984 has a different type.
986 Changed floppy into rfloppy for HP/UX.
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)
993 Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
994 Renamed mtest to mtoolstest to please pine.
996 Added warning about running mtools with root privs.
998 Fixed uninitialized variable in fat.c and added example for Sun
1001 Fixed comment in scripts/tgz
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))
1007 Proper permissions for main directory.
1009 Renamed scripts/gz to scripts/tgz
1011 Added raw devices for Solaris, apparently more performant
1012 Test first for tzset in autoconfigure (Solaris)
1014 Segment fault due to change of buffer size fixed
1015 E-mail address fixed
1017 Lots of portability fixes.
1019 Yet another typo fix for the partition table code. Oh Gawd,
1020 will this never stop?
1021 Fix for proper .mcwd pathname concatenations
1023 Backed out partition table "fix": the original code was right
1026 Corrected a few uninitialised variables
1028 Corrected doc about devices file.
1030 Added pointer to the doc to the README file
1032 Partition table parsing fixed
1034 Fujitsu DS/90 (UXP) support
1037 dispatcher cleanup in mtools.h
1038 fat_bits 12/16 toggle fix.
1039 More space for error message variable in mformat
1042 Fix for CPU names with dots in autoconfigure
1043 Some new device descriptions
1046 Set XDF mode when formatting an XDF disk (makes sense, after all...)
1048 XDF seems to work. Yeah!
1050 More ED fixes. More parameter size fixed for 64bit.
1052 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
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
1059 Inserted missing newline character
1061 Treat number of heads or sectors as chars. The BIOS wouldn't
1062 allow bigger numbers anyways, thus big numbers are probably
1066 Geometry setting for HP/UX
1068 Changed auto array in codepage to malloc'ed one in order to
1069 work around buggy compilers
1071 Pointers to other doc in the INSTALL file
1073 Do no longer be confused by deleted VSE's
1074 Define MAXPATHLEN for SCO
1075 Missing lockf prototype for SCO
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
1084 Xcopy fixes for Sysv
1088 pre4-3.0. Lots of bug fixes. Texinfo file
1092 use autoconf to get rid once and for all of those pesky OS
1095 use sys/termio instead of sys/termios to please AIX
1097 more spelling fixes.
1101 Mmount arg parsing bug fix
1103 New partition configuration variable.
1105 Spelling fixes, removed warning in README, IRIX floppy devices
1107 More Alpha streamlining
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
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
1120 Minor cleanup, released 2.5.4
1122 Added "magic" header to manpages to have man run them through tbl
1124 MTOOLS_LOWER_CASE is back, various small bug fixes over
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
1135 Fixed another Atari disk bug: Atari disks sport a bogus
1136 "number of hidden sectors"
1138 Fixed missing zero-terminator in autorenamed long names
1139 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1141 Fixed small quoted-printable-induced typo in the Makefile.
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".
1149 Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1152 Added ability to do mcopy e: to copy all files from the root
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
1159 Corrected "testna=" bug
1160 Upped minimal sector size to be 256 (instead of 128). This
1166 Ability to mformat 2m disks
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
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
1177 Some lawyer-proofing, just in case :)
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).
1184 Character translation table fixes. Other name fixes.
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'.
1193 Removed infinite loop bug in hash.c, which occurred when the
1194 hash table was filled with deleted entries.
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)
1200 v2.5.3 released (after lots of fixes)
1204 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1205 mattrib.c: initialized "code" to avoid complaint by GCC
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)"
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
1234 v19950822 v2.5 released
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()
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.
1249 directory.c: dir_read()
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.