2 - Fix support for partitions (broken in
3 - Portability fixes for Solaris 10 and 11
4 - General simplifaction of configure script, and largefile handling
5 - Tested and fixed for platforms *without* largefile support
6 - In cases where lseek works with 32-bit offsets, prefer
8 - Fixed floppy sector size handling on platforms that are not
10 - Added support for image files on command line to mcat
13 - Simplify algorithm that choses filesystem parameters for
14 format, and align it more closely with what Win7 does
15 - Fix mformatting XDF when XDF not explicitly specified on
17 - easier way to enter sizes on mformat command line (mformat -C -T
19 - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
21 - Handle attempts to mformat too small filesystems more gracefully
22 - Enable minfo to print out additional mformat command line
23 parameters, if the present filesystem uses non-default
25 - minfo no longer prints bigsect if smallsect is set
26 - for remap filter, error when trying to write non-zero data
28 - Fix misc compilation warnings occuring when disabling
29 certain features (largefiles, raw-term)
32 - Move Linux-specific block device sizing code into
33 linux-specific section of devices.c
34 - Error messages for all failure cases on fs_init failure
35 - Fix compilation without XDF support (OpenImage signature)
36 - Fix polarity of format_xdf command-line parameter of mformat
37 - In XDF_IO retry enough times to actually succeed, even if
38 FDC was in a bad state before
39 - Remove useless buffer flushing triggered when giving up a
40 reference to a stream node that is still referenced
42 - Clearer error message if neither size nor geometry of drive
43 to be mformatted is known
44 - In mformat, make Fs dynamically allocated rather than
45 on-stack, so as to be able to use utilities supplied by
47 - Remove duplicate writing of backup boot sector
48 - Allow to infer geometry if only size is specified
49 - Protect against attempt to create zero-sized buffer
50 - Code simplification in mattrib
51 - Remove dead code in mpartition
54 - Fixed XDF floppy disk access
55 - Fixed faulty behavior at end of image in mcat
56 - Device/Image size handling refactoring
57 - allow remap to write to zero-backed sectors (may happen if
58 buffer is flushed, and is not an error in that case)
59 - Raise an error when trying to mcopy multiple source files
60 over a single destination file (rather than directory)
61 - fix handling of "hidden" sectors (is a 2 byte quantity on
62 small disks, not 4 byte as previously assumed)
63 - Modernize partition support. Tuned consistency check to
64 actually check about important issues (such as overlapping
65 partitions) rather than stuff nobody else cares about
66 (alignment on entire cylinder boundaries)
67 - Move various "filter" options (partition, offset, swap,
68 scsi) into separate classes, rather than leaving almost
69 everything in plain_io
70 - Simplify and centralize geometry handling and LBA code
71 - Fix some more more compiler warnings
73 - Fix bug in cluster preallocation, which was accidentally introduced
74 by compiler warning "fixes" from v4_0_28
76 - Support remapping of data (for not-quite linear floppy image files)
77 - Re-open floppy devices read-write if geometry parameters need to
79 - relax consistency checks in mpartition (partitions created
80 by current fdisk would almost never pass these checks)
81 - Fix some compiler warnings
83 - Fix type error in calls to iconv functions
85 - Fix compilation on Macintosh
86 - Ignore image file locking errors if we are performing a
87 read-only access anyways
88 - Minor man-page fixes
90 - Preserve non-updated contents of info sector, just in case
91 it contains program code
92 - When parsing config file, always use "C" locale for
93 case-insensitive comparisons
95 - Spelling fixes in documentation
96 - Permit calling "make install" with >= -j2
97 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
99 - Address lots of compiler warnings (assignments between different types)
100 - Network speedup fixes for floppyd (TCP_CORK)
102 - Explicitly pass available target buffer size for character
105 - Fixed -f flag for mformat (size is KBytes, rather than sectors)
106 - Fixed toupper/tolower usage (unsigned char rather than plain signed)
108 - Fixed compilation for MingW
109 - After MingW compilation, make sure executable has .exe extension
110 - Addressed compiler warnings
111 - Fixed length handling in character set conversion (Unicode file names)
112 - Fixed matching of character range, when containing Unicode
113 characters (mdir "c:test[α-ω].exe")
114 - Fixed initialization of my_scsi_cmd constructor
116 - initialize directory entries to 0
117 - bad message "Too few sectors" replaced with "Too many sectors"
118 - apostrophe in mlabel no longer causes generation of long entry
119 - option to fake system date for file creation using the
120 SOURCE_DATE_EPOCH environment variables
122 - can now be compiled with "clang" compiler
123 - fallback function for strndup, for those platforms that don't have it
124 - fixed a number of -Wextra warnings
126 - new compressed archive formats for uz/lz
128 - allow to specify number of reserved sectors for FAT32.
129 - file/device locking with timeout (rather than immediate failure)
130 - fixed support for BPB-less legacy formats.
131 - removed check that disk must be an integer number of tracks.
133 - removed .eh/.oh macros from manual pages
135 - Fix for short file names starting with character 0xE5
136 (by remapping it to 0x5)
137 - mpartition: Partition types closer to what Microsoft uses
138 - mformat: figure out LBA geometry as last resort if geometry
139 is neither specified in config and/or commandline, nor can be
140 queried from the device
141 - mformat: use same default cluster size by size as Microsoft
143 - additional sanity checks
144 - document how cluster size is picked in mformat.c man page
145 - document how partition types are picked in mpartition.c man page
147 Fix for names of iconv encodings on AIX
148 Fix mt_size_t on NetBSD
149 Fixed compilation on Mingw
150 Fixed doc (especially mformat)
151 Fix mformat'ing of FAT12 filesystems with huge cluster sizes
152 Minfo prints image file name in mformat command line if an image
154 Always generate gzip-compressed RPMs, in order to remain
155 compatible with older distributions
156 Fixed buffer overflow with drive letter in mclasserase
158 mbadblocks now takes a list of bad blocks (either as sectors
160 mbadblocks now is able to do write scanning for bad blocks
161 mshowfat can show cluster of specific offset
162 Enable mtools to deal with very small sector sizes...
163 Fixed encoding of all-lowercase names (no need to mangle
165 Consider every directory entry after an ENDMARK (0x00) to be deleted
166 After writing a new entry at end of a directory, be sure to also add
169 Deal with possibility of a NULL pointer being returned by
170 localtime during timestamp conversion
173 fixed formatting of fat_size_calculation.tex document
174 compatibility with current autoconfig versions
175 Make it clear that label is limited to 11 characters
176 Fixed typo in initialization of FAT32 info sector
178 Added missing -i option to mshortname
179 Split .deb package into mtools and floppyd in order to
182 New mshortname command
183 Fix floppyd for disks bigger than 2 Gig
184 Remove obsolete -z flag
185 Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
186 Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
187 Mformat now correctly writes backup boot sector
188 Fixed signedness of serial number in mlabel
189 Fixed buffer size problem in mlabel
190 Make mlabel write backup boot sector if FAT32
191 Catch situation where both clear and new label are given to mlabel
192 Quote filename parameters to scripts
193 Mformat: Close file descriptor for boot sector
194 Added lzip support to scripts/uz
195 Added Tot_sectors option to mformat
196 Fixed hidden sector handling in mformat
197 Minfo generates mformat command lines containing new -T option
198 Mlabel prints error if label too long
200 Merged Debian patches
202 Mingw compatibility fixes
204 Fixed compiler warnings in mlabel.c and elsewhere
205 Fixed h flag in mattrib.c
206 Added missing error checking in floppyd and elsewhere
209 More copyright stuff...
210 Fixed issues with max filesize (was 2GB instead of 4GB, and
211 warned only after copying the beginning)
215 Corrected copyright attributions in the various files
217 Fixed conversion to native on OS/2
218 Fix parsing of --help flag
220 Fallback for missing wchar_t iconv codepage on OS/2
221 Fixes for LSEEK64 support
222 Support for --help that returns a 0 exit status
224 Make setpgrp() usage in floppyd conditional
225 Re-instate PACKED around structure (ARM)
229 BSD support: SCSI, use getuserid/getgroupid in floppyd
230 Another attempt at putwc fix for OS/2
232 Fallback for putwc if there is wchar (OS/2)
234 Fix multipart pathname parsing bug in vfat.c (forgot limited length)
235 Supplied fallback define for putwc
236 Copyright notices in all sources
238 Off-by-2 error in unix_name in file_name.c
240 Missing functions on Solaris
242 Offset for -i-specified image files
244 Use transliteration to represent characters which don't exist in
247 Mtools-4 with Unicode support
251 Fixed security issue with doctored file names
252 64 bit compilation fixes
254 Fixed misc blunders...
256 Fixed lots of minor items raised by gcc4
257 Merged some of the BSD patches
258 New version of amuFormat.sh written in sh rather than csh
259 Support for config parameters after -i file
262 Added sizecode printing on minfo
263 In mformat manpage, use same flag for sector number than printed in
265 Limit sizecode to 6, else it will overflow max sector size defined in
268 Applied mingw patch by Jamey Sharp and Josh Triplett
270 Fixed doc about /etc/default
272 Fixed mlabel on read-only disks
274 Merged Redhat/Fedora patches
276 #ifdef linux-dependent code in mformat.c
279 Fix reading of boot sector (block size)
281 Do no longer open floppy devices with O_EXCL, in order to enable
282 work-around against broken cache.
284 If no info dir exists at all, assume dir
292 Solaris 8 compatibility
296 Support for multiple drives in floppyd
300 Fixed some long name directory entry freeing bugs
302 Fixed duplicate FAT writing error. Fixed segfault on short images.
303 Mformat creates images of correct size.
304 CYGWIN compatibility (O_BINARY flag).
306 Cygwin patch for plain_io.c (no locking)
308 Fix a couple of memory leaks in config file parsing. Fix llong.h
309 (redefined same symbol twice)
310 Fix a variable initialization problem in plain_io.c
311 New mclasserase command to erase memory cards
314 Fix rootskip and rate of XDF disks
316 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
318 Moved putc after variable description (anybody knows about a -W
319 flag so that gcc warns about these?)
321 Fixed mattrib -p (missing slash)
323 Added -m option to mformat to specify a non-standard mediabyte
325 Added -d options to mformat to specify number of FAT copies. Can
326 also be set using the MTOOLS_NFATS environmental variable.
327 Also added similar env variable for root directory length
328 Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
329 CYGWIN fixes for mcat
332 Released 3.9.9 : Identical to pre-3.9.9 except for the version number
335 Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
336 Improved fat_len calculation
337 Fixed plain_io.c bug (Swap byte applied after partition stuff,
340 Fixed mcat end-of-file bugs (mcat went on writing, and writing,
341 and writing, even after end of file)
343 If "standard" CHS specified, but non-standard root dir size do not
344 use table-lookup based geometry ("old-dos media descriptor")
346 David's new uz script, that can use commands other than gzip for
349 Fixed vold support for mpartition
351 Added PACKED to unicode_char declaration (Arm)
352 Mpartition can now create the image if -I is specified.
354 Support for geometry-less Atari disks
355 Support for byte-swapping disks
357 Avoid .(l and .)l in generated man pages
361 Fix [] wildcard off-by-one error
362 Avoid overwriting (Unix) file by itself in mcopy
363 Avoid cloberring any file if implicit target is used (the
364 one-argument syntax of mcopy)
365 Added Zip 750 entry to mzip.c
369 Fixes in buffer.c for oddly sized image files
370 Mformat.c fixes to avoid making images which would not be
373 Warn for invalid partition numbers
375 Released pre6-3.9.8 : getting rid of linux-gnu references is
376 almost as difficult as exorcising the devil...
378 Released pre5-3.9.8 after fixing a couple of version numbers
380 Applied Adrian Bunk's patches, minus the Stallmanisms.
381 De-stallmanized config.gues and config.sub files
384 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
386 Fixed #ifdef DEBUG statements, pre2-3.9.8
390 Updated config.guess/config.sub to support Darwin
391 Patch for converting contents of files from/to Dos' version of
393 Fixed bug in to_unix function
395 Updated freebsd floppy device definitions
397 Fixes for floppyd to work with current protocol version of floppyd
399 Fixed parsing of Unix filenames ending with slash
401 Fixed file closing of floppyd
403 Fixed a cindex entry in documentation
405 Rewrote PDF rule to use pdflatex, rather than go through dvi
406 (pdflatex output looks nicer)
408 Fixed JAZ Zip file overwrite bug (actually, this bug could occur
409 on any disk reasonably full...)
411 Fix mzip manpage to include Linux in the list of supported OS'es
413 Protect against division by zero when reading BSD disks...
417 Hurd openflags fix in mainloop.c
418 Added description for t option to mcopy man page
419 Added -lbsd to list of libraries to be tested for LynxOS
420 Unset LANG in mkmanpages
421 Updated config.gues/config.sub
422 Removed stale documentation for xcopy
423 Fixed typo in mformat man page
425 Zip 250 support in mzip
429 Variable initialization in mdir.c
431 Do not use offset_t on AIX ==> broken
433 Large disk fixes, especially for Solaris
435 Released Mtools-3.9.7
437 Mtools-pre2-3.9.7 released: some potential buffer overflows
439 Mtools-pre-3.9.7 released
441 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
444 Fixed a couple of floppyd bugs
446 Added texclean to make distclean, added new "pdf" target.
448 Did away with ipaddr_t and replaced it with IPaddr_t which is
449 guaranteed not to crash anywhere...
451 Defined geometry for default a: devices on Linux and Solaris with vold
453 Carefully navigate Solaris' polluted namespace...
455 Suppressed bogus error message when mcopying to an existing file.
457 Fixed mformat problem with Fat32 (mformat didn't initialize the
458 label and fat type fields in the boot sector, and the other mtools
459 utils didn't check them)
461 Fixed two more scandisk problems:
462 - the infosector should end with 0x55aa
463 - When deleting a file, be sure to DELMARK the VSE's as
464 well as the main entry
466 Fixed an evasive Fat32 bug: a parent directory entry pointing to
467 the root should have an address of 0 instead of the more logical 2
469 Corrected mdir error handling
470 Fixed a bug in mren (problem when renaming short file names)
472 Corrected a typo in error handling
474 Fixed size problem with Ctrl-Z.
476 (No joke): avoid setting volume serial number on "Old Dos" disks
478 - Re-aligned command line options with Dos
479 - New -n/-N option for mlabel to change volume serial numbers
480 - Mattrib -p escapes file names in order to handle file name
482 - Changed mformat serial number format
485 - Mtools would never completely use all directory slots, because
486 it overestimated space consumption by 1
487 - Mtools did not initialize the stat struct for pipes, and thus
488 gave occasionnally bogus "Disk full" error messages
490 Rearranged tty open call so that it is only opened when actually
493 Added special case for 0xf7 media descriptor
495 Make O_NDELAY conditional everywhere
497 Return correct return value from mt_lseek, even if off_t is a 64
500 Treat OpenBSD the same as NetBsd
502 Released 3.9.6 with the following fixes:
504 - Make Xdf work in nodma mode
505 - Fix for mformatting MSS disks
507 1st attempt to release 3.9.6 with mostly minor fixes:
508 - platform compatibility
509 - automatic installation of info files
510 - mdir's -X flag no longer implies "recursive"
512 3.9.5 released with mostly minor fixes:
513 - Starting cluster numbers of "." directory entry
514 - Copying of empty Files from Dos to Unix
515 - Misc platform compatibility issues
517 Another embarrassing bug found, 3.9.4 released. When will this
520 Mtools 3.9.3 released
522 Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
523 Glibc problems are potentially dangerous, and can lead to data loss.
525 Mtools 3.9.2 released
527 Fixed typo in plain_io.c
529 More rigor about signed vs unsigned issue. FreeBSD Scsi support
531 Allow for 2GB Jaz drives
533 Rewrote floppyd in C instead of C++
543 Make sure that fat_type doesn't overwrite byte 62 with zero =>
546 Added support for "replay" listing of mattrib. Cleaned up version
547 number and date handling (date was not always accurate...)
549 Added geometry autodetection code for Linux harddisks to
550 mpartition and mformat. Removed misleading references to
551 "non-removable media"
553 Added boot sector template option for mpartition. Fixed mtools.1
554 man page. Mattrib -s e:/ fix
558 Fixed HP SCSI "big write" bug
560 Fixed debug mode in vfat.c
562 A few minor floppy related fixes (installation, and replacement
563 for setenv function, which is absent from some platforms)
565 Added floppyd (remote access to floppy disks)
567 Updated mkmanpages script to dynamically get date and mtools
568 version. Correct "removable media" error message to talk about
569 /etc/mtools.conf instead of /etc/mtools. Do init_geom to read
570 geometry if no geometry is set.
572 Mtools 3.9.1 released
574 Mformats makes disks which are readable both as partitioned and as
577 Corrected Tim Hoogasian's e-mail address
581 "Dirty end too big" mformat bug corrected
583 Corrected typoes for IRIX devices, use macros for attribute types,
584 fix 0 length file bug.
587 Bigger array for SCSI command
591 OS/2 portabilty, GLIBC portability
593 Fixes related to Solaris new vold support
595 Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
596 CFLAGS for those makes that don't support implicit rules well enough
600 Various Bugfixes (overwrite mode and directory cache)
602 Added mformat_only flag.
604 Fixed non-batchmode mcopy bug. Fixed shortname case bug
606 Minfo and mformat boot program bug fixes
608 Allow default block sizes per device which are not equal to 512
610 Allow and interpret back quotes in file names
614 Scandir optimizations. Fixed nasty Heisenbug in hash.c.
616 Fixed integer width problem in fat.c, and minor bugs in hashtable.
618 More performance optization. Buffer handl
622 Fixed mtype and mcheck. Started cleaning up out-of-memory handling
624 Jacked up performance, and corrected signal handling bugs. Also
625 corrected various "Disk full bugs"
627 Fixed "Bad address" errors which occurred when running mdu on empty
628 files. When copying recursively, do not barf if a directory
629 already exist at the target. Mcopy operates silently by default.
631 removed mwrite. Obsoleted long ago by mcopy
633 fixed mdir -X, added mattrib -X; document both. Fix doc for name
636 fixed polarity of sys_errlist. Renamed some include files which
637 bore the same name as system include files. Fixed another
638 memory leak in dir_grow. A/UX termio workaround.
640 fixed filedescriptor leak. Make mbadblocks stoppable. Doc
641 fixes. Fixed one memory leak, another one further down the road
642 remains... Fixed error handling in createDirectory.
644 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
646 Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
647 version. No actual code change apart from patchlevel.h
649 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to
650 mkmanifest. Fixed mpartition bug with partitions with more
653 Pre-3.9. Redid the mainloop logic, and got rid of lots of cruft
654 in subdir.c and parse.c. It is now possible to put wildcards in
655 the directory part of the filename. Design also became simpler,
656 making it easier to maintain this part in the future.
657 Added a -u flag to mzip to temporarily unprotect a disk
658 Added a test to mzip to prevent manipulation of mounted disks
659 Added support for partitioned devices in mmount
661 Added mdu and recursive mdir
663 Fixed bugs in recursive copy stuff, added recursive mattrib, and
664 fixed a few buffer overrun bugs
666 Added recursive copy and attribute conservation flags to mtools
670 Include Sys5 directories on SunOs in order to have a correct
676 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
678 Corrected gross bug in fat12_decode
680 Simplified fat bits handlings
684 Buffer.c and FAT bugfixes
686 More FAT32 fixes. New mshowfat command.
688 Fix FAT32 problem (FAT32 does not use the high nibble)
690 Detect presence of sys_errlist using autoconf instead of
691 making its usage dependent on BSD.
693 Guard against corrupted "next free block" pointer in a FAT32
696 Use root privileges during scsi_init
698 Fixed close-on-exec bug.
700 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
703 Fixed Makefile so that make -j works without errors. Fixed
704 upper/lower bug in mmount
708 Add option to mformat to keep boot sector, or to read it from
709 a file. Added various flags to customize directory listing
710 appearance and long name behavior
712 Fix bug in yesterdays fix. Also make sure to resize hash
713 table if too many deleted entries accumulate.
715 Fixed yet another hash table bug
717 Yet another HPUX fix.
719 Fixed a segfault in mpartition
721 Removed a few Stallmanisms in config.guess
725 Corrected a few errors in new vold code
727 Removed extra &'s from string addresses.
728 Added listing of current configuration to mtools -V
729 Updated version number and date in mkmanpages
731 New Bebox patch. Removes almost all BEBOX specifities because
732 they are no longer needed with the new DR9 release.
733 Small fix for size detection of SCSI disks.
735 Fixed small typo in new vold code
737 Added partition consistency checks for accessing device.
739 New version of Solaris vold code
741 Solaris floppy geometry. Support for older MO disks (size
742 returned in non-standard location)
743 Corrected ftp address for fdutils
747 Brought Makefile.Be and config.h.Be up to date with the recent
750 Add Ultrix to the list of OS'es which do not define their
754 Various "Next proofintg".
755 * add VENDOR_, CPU_ and OS_ before machine type tags
756 detected by autoconf. Next tends to be a frequently
758 * use utimes preferably before utime
759 * try to include _all_ termios functions.
760 * more precise detection of available termios functions
762 Added knowledge of Zip Tools Disk password to mzip.
764 Went back to using ALLCFLAGS in Makefile for those people who
765 want to override CFLAGS
767 Added note about Alpha site to doc.
769 Prefer termios.h on Ultrix
771 Renamed missing_functions to missFuncs in order to accommodate
772 operating systems with file name size limits.
774 Autoextend size for images that are too small. Moved BSD
775 dependent #ifdef's after the inclusion of sys/param.h, as it
776 is there where BSD is defined (sigh!)
778 Insist on the fact that mzip's -f flag only makes sense if
779 given in addition to -e
781 Corrected typo in doc.
783 Removed read and write prototypes, they conflict on an Alpha!
789 Do not stat any files in /dev/ on BEOS. Remove spurious system
790 include files from non-sysincludes.h file
794 Added Sunos4 and SCO support to scsi.c. Use tzset before
795 gettimeofday, except for BSD. Use Z: for a Zip drive, and J:
796 for a Jaz drive instead of D: for both. Added machine
797 specific libraries and CFLAGS for A/UX.
799 Various A/UX fixes. Changed scanning order for termio and
800 termios due to problems with the other order on A/UX.
802 Print error message for wrong password.
804 Include mzip man page
806 Document new config flags introduced in 970204.
807 On systems not supporting euid, do not bail out if both euid
810 Prevent mmove from moving directories into themselves in order
811 to keep a tree-like directory structure
813 Fixes for mtools_no_vfat
815 Additional config file pointed by MTOOLSRC; possibility to
816 switch off generation of VFAT long names.
818 HP/UX setresuid support. "Mcopy a: ." bugfix.
820 Renamed f_* functions into file_* in order to avoid a clash
821 with a preprocessor macro named f_data on AIX.
823 Released 3.5, Solaris compatibility fix w.r.t. memmove
827 Fixed location of configuration file in doc.
831 More BSD & 64 bit changes
833 Added at_exit implementation for those boxes who have neither
834 on_exit nor atexit. Added check to make sure the compiler
835 handels structures in a sane way.
837 Backed out again of the traditional-cpp change on
838 larry.jones@sdrc.com's advice
840 Added traditional-cpp in order to make mtools compilable on a Sun
844 BEOS fixes and support for SCSI devices with a sector size
847 Fixed some preprocessor macros. Added texclean macro to Makefile
849 Clarified the documentation about the Bebox.
853 Made Makefile "AIX-proof". Added precmd to config.c
857 Osf4 support. Released 3.2
859 Fixed Makefile typo, and fixed various bugs with renaming or
860 moving dot or dot dot
862 Fixed streamcache.c bug
864 Added add-disk script and format.dat file
866 Fixed mrd e:xxx/, tested Xdf support
868 Strange mformat fixes... Dos always seems to assume a cluster
869 size of at least 8 sectors and 512 root directory entries. Sigh!
871 FAT32 support, BeOS patches
873 Added more debugging code to mpartition and minfo. Added
874 "packed" attribute to the partition structure.
875 Cleaned up argument handling.
877 Fixed partition removal bug in mpartition.c
879 Fixed streamcache allocation bug. Clearer error message when
880 trying to access a non-existant partition.
882 Added "packed" attribute to some fields of the vfat_subentry
883 structure, in order to work around a bug in a gcc version for
885 Use getpass() for password prompting in mzip.c
887 Various small bug fixes
889 Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
890 Relaxed security in mpartition.c, so non-root users may print
891 a partition, or perform any local changes to it.
892 Mpartition now prints info to recreate partition.
894 Add mpartition command to partition Zip, Jaz and other Scsi
896 Chose between on_exit or atexit using autoconf.
898 Added minfo command to print disk geometry and other parameters.
900 Replaced atexit by onexit. Atexit barfed on SunOs.
901 Replaced O_RDWR flag in mzip with O_RDONLY.
902 Added precmd variable to execute commands before opening a
905 Shortened README, segregated config file pathnames into a
908 General cleanup, more enhancements to privilege handling.
910 Added debugging output to mzip.
911 Made expand.c safe and still compatible with suid operation.
913 Made device locking optional.
915 Added const qualifiers
919 Added kludgy xcopy support
921 Only skip sys_errlist declaration on NetBSD (some older
922 platforms might need this)
924 Upgraded to autoconf 2.12, fixed some Stallmanisms.
925 Added device entry for LynxOs.
927 Use gettimeofday before tzset (for BSD).
929 Use correct location of signal.h. Removed declaration
932 BEOS patches by Marco Nelissen
933 Removed some clashing prototypes
935 Prints privilege debugging message to stderr, and reopens SCSI
936 file with root privileges.
938 Fixed typoes in mzip. Added pointer to html doc.
940 Fixed Linux Scsi ioctl.
942 Added warnings against cookies, fixed doc to reflect new set-uid
945 Fixed typoes in privilege routines, and removed Heisenbergian
946 parts of the debugging code.
948 Deleted prototypes for random() and srandom(): they *did*
949 clash (on a DEC Alpha)
951 Solaris & SunOS privilege management. Fixed date entries in
956 Cosmetic mzip fixes. Add pointer to info doc to mtools.1
958 ISC addition. Doc fix for set_parameters ioctl.
962 Replaced zip_* by scsi_*, as these functions are not
963 specifically relevant to the ZIP (they apply to the JAZ as
965 Fixed documentation on -n flag for mcopy
967 Include termio before termios because of SCO
969 Do not declare timezone external variable on Ultrix, where it
970 has a different type.
972 Changed floppy into rfloppy for HP/UX.
974 Added -Q option to mcopy, which aborts copying multiple files
975 as soon as an error for one file is encounteres
976 Removed useless -i option for mcopy
977 Small devices.c portability fixes (ultrix and hpux)
979 Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
980 Renamed mtest to mtoolstest to please pine.
982 Added warning about running mtools with root privs.
984 Fixed uninitialized variable in fat.c and added example for Sun
987 Fixed comment in scripts/tgz
989 Fixed partition handling code (yes, again!)
990 Added code to handle ZIP disks on Solaris/SunOS (many thanks
991 to James P. Dugal (jpd@usl.edu))
993 Proper permissions for main directory.
995 Renamed scripts/gz to scripts/tgz
997 Added raw devices for Solaris, apparently more performant
998 Test first for tzset in autoconfigure (Solaris)
1000 Segment fault due to change of buffer size fixed
1001 E-mail address fixed
1003 Lots of portability fixes.
1005 Yet another typo fix for the partition table code. Oh Gawd,
1006 will this never stop?
1007 Fix for proper .mcwd pathname concatenations
1009 Backed out partition table "fix": the original code was right
1012 Corrected a few uninitialised variables
1014 Corrected doc about devices file.
1016 Added pointer to the doc to the README file
1018 Partition table parsing fixed
1020 Fujitsu DS/90 (UXP) support
1023 dispatcher cleanup in mtools.h
1024 fat_bits 12/16 toggle fix.
1025 More space for error message variable in mformat
1028 Fix for CPU names with dots in autoconfigure
1029 Some new device descriptions
1032 Set XDF mode when formatting an XDF disk (makes sense, after all...)
1034 XDF seems to work. Yeah!
1036 More ED fixes. More parameter size fixed for 64bit.
1038 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1041 Make vold and "raw" floppy drive accessible simultaneously on
1042 Solaris by calling one A: and the other B:
1043 Add missing mbadblock LINK in Makefile.in
1045 Inserted missing newline character
1047 Treat number of heads or sectors as chars. The BIOS wouldn't
1048 allow bigger numbers anyways, thus big numbers are probably
1052 Geometry setting for HP/UX
1054 Changed auto array in codepage to malloc'ed one in order to
1055 work around buggy compilers
1057 Pointers to other doc in the INSTALL file
1059 Do no longer be confused by deleted VSE's
1060 Define MAXPATHLEN for SCO
1061 Missing lockf prototype for SCO
1063 Handle DEBUG flag by autoconf
1064 Added Host vendor to compile flags in order to handle Sinix
1065 Better Sinix handling in devices.c
1066 Only print duplicate VSE messages when running with DEBUG
1067 Fix mlabel exit code
1070 Xcopy fixes for Sysv
1074 pre4-3.0. Lots of bug fixes. Texinfo file
1078 use autoconf to get rid once and for all of those pesky OS
1081 use sys/termio instead of sys/termios to please AIX
1083 more spelling fixes.
1087 Mmount arg parsing bug fix
1089 New partition configuration variable.
1091 Spelling fixes, removed warning in README, IRIX floppy devices
1093 More Alpha streamlining
1095 Alpha patches (64 bit clean-ness)
1096 AIX patches (built in drive names)
1097 Raw tty patches (no need to type return when confirming an action
1100 Replaced include strings.h by string.h everywhere where applicable
1101 Changed thousands separator in mdir from a dot to a space to
1102 please both Americans and Europeans.
1103 Fixed memory allocation bug if no "constant device" is present.
1104 #defined strtoul to atol for SunOS
1106 Minor cleanup, released 2.5.4
1108 Added "magic" header to manpages to have man run them through tbl
1110 MTOOLS_LOWER_CASE is back, various small bug fixes over
1113 Bus strike in Grenoble! Well, let's do something useful and
1114 re-arrange the configuration file syntax :-)
1115 The syntax has become much more flexible now, and also
1116 includes items which used to be only accessible via
1117 environmental variables.
1118 Moreover, it is now possible to include character translation
1121 Fixed another Atari disk bug: Atari disks sport a bogus
1122 "number of hidden sectors"
1124 Fixed missing zero-terminator in autorenamed long names
1125 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1127 Fixed small quoted-printable-induced typo in the Makefile.
1129 Folks, please don't use quoted-printable. It sometimes changes
1130 the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1131 Case in point: £400 gets transformed into =A3400, which looks
1132 like 3400 pounds to a person unaware of this MIME "feature".
1135 Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1138 Added ability to do mcopy e: to copy all files from the root
1140 New Xdf-less Linux target in the Makefile
1141 Relaxed sanity check to let pass wonky Atari disks whose FAT
1142 begins with 3 zero bytes.
1143 Make the check of the initial fat bytes conditional on
1145 Corrected "testna=" bug
1146 Upped minimal sector size to be 256 (instead of 128). This
1152 Ability to mformat 2m disks
1154 Xdf bug fix (dev parameters always set to Xdf, even if it
1155 wasn't really an Xdf disk)
1156 Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1158 Centralizing most env-var handling.
1159 Update of the mtools manpage.
1160 Xdf is now optional, and only active if MTOOLS_USE_XDF is
1161 set. Saves a few milliseconds of startup time on non Xdf
1163 Some lawyer-proofing, just in case :)
1165 Fast xdf code (finally!)
1166 Minor performance enhancements here and there.
1167 Names which are all lower case now generate a long name entry
1168 (according to Steve Searle, that's how Win'95 behaves).
1170 Character translation table fixes. Other name fixes.
1172 Put restrictions on long names to better match Win'95.
1173 (suggested by Steve Searle)
1174 Reworked autorename code. Catch SIGHUP signal
1175 Added missing file close to main loop
1176 Changed name of the "ask for action" command line flag to 'm',
1177 and used 'a' for 'Autorename'.
1179 Removed infinite loop bug in hash.c, which occurred when the
1180 hash table was filled with deleted entries.
1182 added Atari ST-style serial numbers (they live in the banner)
1183 fixed a troff bug in mtools.1
1184 Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1186 v2.5.3 released (after lots of fixes)
1190 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1191 mattrib.c: initialized "code" to avoid complaint by GCC
1193 Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1194 init.c: fs_init(): initialized disk_size to 0. The section
1195 which previously initialized this is ifdef'd out. Why?
1196 Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1197 Gee, the Makefile is pretty ugly! It might be good to start
1198 thinking about autoconfigure, or at least some cleanup.
1199 Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1200 msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1201 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1202 devices.c: use %i instead of %d to allow different bases
1203 parse.c: Changed comment for get_name()/get_path(); need to
1204 revisit this after deciding on default case behavior
1205 devices.c: load_devices(): fixed bad fprintf, line 748
1206 parse.c, mformat.c, misc.c: replaced expressions like
1207 "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1213 Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1214 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1220 v19950822 v2.5 released
1223 Change null-fill for unused remainder of VSE to 0xff fill for
1224 both upper and lower character (just one null for termination)
1225 This seems to better match Win95's behavior; Win95 had been
1226 complaining about bogus characters
1227 file_name.c: unicode_write()
1230 Commented out enforcement of VSEs being in order. Win95 likes
1231 to put them exactly backwards, so we'd better tolerate getting
1232 them any way they might come! Not sure what is lost by losing
1233 these checks, but it seems to be OK.
1235 directory.c: dir_read()
1237 Copying and distribution of this file, with or without modification,
1238 are permitted in any medium without royalty provided the copyright
1239 notice and this notice are preserved.