2 - Fix cluster padding at end of file in batch mode, and add
3 comments about what happens here
9 - Fix support for partitions (broken in 4.0.30)
10 - Portability fixes for Solaris 10 and 11
11 - General simplification of configure script, and largefile handling
12 - Tested and fixed for platforms *without* largefile support
13 - In cases where lseek works with 32-bit offsets, prefer
15 - Fixed floppy sector size handling on platforms that are not
17 - Added support for image files on command line to mcat
20 - Simplify algorithm that choses filesystem parameters for
21 format, and align it more closely with what Win7 does
22 - Fix mformatting XDF when XDF not explicitly specified on
24 - easier way to enter sizes on mformat command line (mformat -C -T
26 - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
28 - Handle attempts to mformat too small filesystems more gracefully
29 - Enable minfo to print out additional mformat command line
30 parameters, if the present filesystem uses non-default
32 - minfo no longer prints bigsect if smallsect is set
33 - for remap filter, error when trying to write non-zero data
35 - Fix misc compilation warnings occuring when disabling
36 certain features (largefiles, raw-term)
39 - Move Linux-specific block device sizing code into
40 linux-specific section of devices.c
41 - Error messages for all failure cases on fs_init failure
42 - Fix compilation without XDF support (OpenImage signature)
43 - Fix polarity of format_xdf command-line parameter of mformat
44 - In XDF_IO retry enough times to actually succeed, even if
45 FDC was in a bad state before
46 - Remove useless buffer flushing triggered when giving up a
47 reference to a stream node that is still referenced
49 - Clearer error message if neither size nor geometry of drive
50 to be mformatted is known
51 - In mformat, make Fs dynamically allocated rather than
52 on-stack, so as to be able to use utilities supplied by
54 - Remove duplicate writing of backup boot sector
55 - Allow to infer geometry if only size is specified
56 - Protect against attempt to create zero-sized buffer
57 - Code simplification in mattrib
58 - Remove dead code in mpartition
61 - Fixed XDF floppy disk access
62 - Fixed faulty behavior at end of image in mcat
63 - Device/Image size handling refactoring
64 - allow remap to write to zero-backed sectors (may happen if
65 buffer is flushed, and is not an error in that case)
66 - Raise an error when trying to mcopy multiple source files
67 over a single destination file (rather than directory)
68 - fix handling of "hidden" sectors (is a 2 byte quantity on
69 small disks, not 4 byte as previously assumed)
70 - Modernize partition support. Tuned consistency check to
71 actually check about important issues (such as overlapping
72 partitions) rather than stuff nobody else cares about
73 (alignment on entire cylinder boundaries)
74 - Move various "filter" options (partition, offset, swap,
75 scsi) into separate classes, rather than leaving almost
76 everything in plain_io
77 - Simplify and centralize geometry handling and LBA code
78 - Fix some more more compiler warnings
80 - Fix bug in cluster preallocation, which was accidentally introduced
81 by compiler warning "fixes" from v4_0_28
83 - Support remapping of data (for not-quite linear floppy image files)
84 - Re-open floppy devices read-write if geometry parameters need to
86 - relax consistency checks in mpartition (partitions created
87 by current fdisk would almost never pass these checks)
88 - Fix some compiler warnings
90 - Fix type error in calls to iconv functions
92 - Fix compilation on Macintosh
93 - Ignore image file locking errors if we are performing a
94 read-only access anyways
95 - Minor man-page fixes
97 - Preserve non-updated contents of info sector, just in case
98 it contains program code
99 - When parsing config file, always use "C" locale for
100 case-insensitive comparisons
102 - Spelling fixes in documentation
103 - Permit calling "make install" with >= -j2
104 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
106 - Address lots of compiler warnings (assignments between different types)
107 - Network speedup fixes for floppyd (TCP_CORK)
109 - Explicitly pass available target buffer size for character
112 - Fixed -f flag for mformat (size is KBytes, rather than sectors)
113 - Fixed toupper/tolower usage (unsigned char rather than plain signed)
115 - Fixed compilation for MingW
116 - After MingW compilation, make sure executable has .exe extension
117 - Addressed compiler warnings
118 - Fixed length handling in character set conversion (Unicode file names)
119 - Fixed matching of character range, when containing Unicode
120 characters (mdir "c:test[α-ω].exe")
121 - Fixed initialization of my_scsi_cmd constructor
123 - initialize directory entries to 0
124 - bad message "Too few sectors" replaced with "Too many sectors"
125 - apostrophe in mlabel no longer causes generation of long entry
126 - option to fake system date for file creation using the
127 SOURCE_DATE_EPOCH environment variables
129 - can now be compiled with "clang" compiler
130 - fallback function for strndup, for those platforms that don't have it
131 - fixed a number of -Wextra warnings
133 - new compressed archive formats for uz/lz
135 - allow to specify number of reserved sectors for FAT32.
136 - file/device locking with timeout (rather than immediate failure)
137 - fixed support for BPB-less legacy formats.
138 - removed check that disk must be an integer number of tracks.
140 - removed .eh/.oh macros from manual pages
142 - Fix for short file names starting with character 0xE5
143 (by remapping it to 0x5)
144 - mpartition: Partition types closer to what Microsoft uses
145 - mformat: figure out LBA geometry as last resort if geometry
146 is neither specified in config and/or commandline, nor can be
147 queried from the device
148 - mformat: use same default cluster size by size as Microsoft
150 - additional sanity checks
151 - document how cluster size is picked in mformat.c man page
152 - document how partition types are picked in mpartition.c man page
154 Fix for names of iconv encodings on AIX
155 Fix mt_size_t on NetBSD
156 Fixed compilation on Mingw
157 Fixed doc (especially mformat)
158 Fix mformat'ing of FAT12 filesystems with huge cluster sizes
159 Minfo prints image file name in mformat command line if an image
161 Always generate gzip-compressed RPMs, in order to remain
162 compatible with older distributions
163 Fixed buffer overflow with drive letter in mclasserase
165 mbadblocks now takes a list of bad blocks (either as sectors
167 mbadblocks now is able to do write scanning for bad blocks
168 mshowfat can show cluster of specific offset
169 Enable mtools to deal with very small sector sizes...
170 Fixed encoding of all-lowercase names (no need to mangle
172 Consider every directory entry after an ENDMARK (0x00) to be deleted
173 After writing a new entry at end of a directory, be sure to also add
176 Deal with possibility of a NULL pointer being returned by
177 localtime during timestamp conversion
180 fixed formatting of fat_size_calculation.tex document
181 compatibility with current autoconfig versions
182 Make it clear that label is limited to 11 characters
183 Fixed typo in initialization of FAT32 info sector
185 Added missing -i option to mshortname
186 Split .deb package into mtools and floppyd in order to
189 New mshortname command
190 Fix floppyd for disks bigger than 2 Gig
191 Remove obsolete -z flag
192 Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
193 Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
194 Mformat now correctly writes backup boot sector
195 Fixed signedness of serial number in mlabel
196 Fixed buffer size problem in mlabel
197 Make mlabel write backup boot sector if FAT32
198 Catch situation where both clear and new label are given to mlabel
199 Quote filename parameters to scripts
200 Mformat: Close file descriptor for boot sector
201 Added lzip support to scripts/uz
202 Added Tot_sectors option to mformat
203 Fixed hidden sector handling in mformat
204 Minfo generates mformat command lines containing new -T option
205 Mlabel prints error if label too long
207 Merged Debian patches
209 Mingw compatibility fixes
211 Fixed compiler warnings in mlabel.c and elsewhere
212 Fixed h flag in mattrib.c
213 Added missing error checking in floppyd and elsewhere
216 More copyright stuff...
217 Fixed issues with max filesize (was 2GB instead of 4GB, and
218 warned only after copying the beginning)
222 Corrected copyright attributions in the various files
224 Fixed conversion to native on OS/2
225 Fix parsing of --help flag
227 Fallback for missing wchar_t iconv codepage on OS/2
228 Fixes for LSEEK64 support
229 Support for --help that returns a 0 exit status
231 Make setpgrp() usage in floppyd conditional
232 Re-instate PACKED around structure (ARM)
236 BSD support: SCSI, use getuserid/getgroupid in floppyd
237 Another attempt at putwc fix for OS/2
239 Fallback for putwc if there is wchar (OS/2)
241 Fix multipart pathname parsing bug in vfat.c (forgot limited length)
242 Supplied fallback define for putwc
243 Copyright notices in all sources
245 Off-by-2 error in unix_name in file_name.c
247 Missing functions on Solaris
249 Offset for -i-specified image files
251 Use transliteration to represent characters which don't exist in
254 Mtools-4 with Unicode support
258 Fixed security issue with doctored file names
259 64 bit compilation fixes
261 Fixed misc blunders...
263 Fixed lots of minor items raised by gcc4
264 Merged some of the BSD patches
265 New version of amuFormat.sh written in sh rather than csh
266 Support for config parameters after -i file
269 Added sizecode printing on minfo
270 In mformat manpage, use same flag for sector number than printed in
272 Limit sizecode to 6, else it will overflow max sector size defined in
275 Applied mingw patch by Jamey Sharp and Josh Triplett
277 Fixed doc about /etc/default
279 Fixed mlabel on read-only disks
281 Merged Redhat/Fedora patches
283 #ifdef linux-dependent code in mformat.c
286 Fix reading of boot sector (block size)
288 Do no longer open floppy devices with O_EXCL, in order to enable
289 work-around against broken cache.
291 If no info dir exists at all, assume dir
299 Solaris 8 compatibility
303 Support for multiple drives in floppyd
307 Fixed some long name directory entry freeing bugs
309 Fixed duplicate FAT writing error. Fixed segfault on short images.
310 Mformat creates images of correct size.
311 CYGWIN compatibility (O_BINARY flag).
313 Cygwin patch for plain_io.c (no locking)
315 Fix a couple of memory leaks in config file parsing. Fix llong.h
316 (redefined same symbol twice)
317 Fix a variable initialization problem in plain_io.c
318 New mclasserase command to erase memory cards
321 Fix rootskip and rate of XDF disks
323 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
325 Moved putc after variable description (anybody knows about a -W
326 flag so that gcc warns about these?)
328 Fixed mattrib -p (missing slash)
330 Added -m option to mformat to specify a non-standard mediabyte
332 Added -d options to mformat to specify number of FAT copies. Can
333 also be set using the MTOOLS_NFATS environmental variable.
334 Also added similar env variable for root directory length
335 Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
336 CYGWIN fixes for mcat
339 Released 3.9.9 : Identical to pre-3.9.9 except for the version number
342 Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
343 Improved fat_len calculation
344 Fixed plain_io.c bug (Swap byte applied after partition stuff,
347 Fixed mcat end-of-file bugs (mcat went on writing, and writing,
348 and writing, even after end of file)
350 If "standard" CHS specified, but non-standard root dir size do not
351 use table-lookup based geometry ("old-dos media descriptor")
353 David's new uz script, that can use commands other than gzip for
356 Fixed vold support for mpartition
358 Added PACKED to unicode_char declaration (Arm)
359 Mpartition can now create the image if -I is specified.
361 Support for geometry-less Atari disks
362 Support for byte-swapping disks
364 Avoid .(l and .)l in generated man pages
368 Fix [] wildcard off-by-one error
369 Avoid overwriting (Unix) file by itself in mcopy
370 Avoid cloberring any file if implicit target is used (the
371 one-argument syntax of mcopy)
372 Added Zip 750 entry to mzip.c
376 Fixes in buffer.c for oddly sized image files
377 Mformat.c fixes to avoid making images which would not be
380 Warn for invalid partition numbers
382 Released pre6-3.9.8 : getting rid of linux-gnu references is
383 almost as difficult as exorcising the devil...
385 Released pre5-3.9.8 after fixing a couple of version numbers
387 Applied Adrian Bunk's patches, minus the Stallmanisms.
388 De-stallmanized config.gues and config.sub files
391 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
393 Fixed #ifdef DEBUG statements, pre2-3.9.8
397 Updated config.guess/config.sub to support Darwin
398 Patch for converting contents of files from/to Dos' version of
400 Fixed bug in to_unix function
402 Updated freebsd floppy device definitions
404 Fixes for floppyd to work with current protocol version of floppyd
406 Fixed parsing of Unix filenames ending with slash
408 Fixed file closing of floppyd
410 Fixed a cindex entry in documentation
412 Rewrote PDF rule to use pdflatex, rather than go through dvi
413 (pdflatex output looks nicer)
415 Fixed JAZ Zip file overwrite bug (actually, this bug could occur
416 on any disk reasonably full...)
418 Fix mzip manpage to include Linux in the list of supported OS'es
420 Protect against division by zero when reading BSD disks...
424 Hurd openflags fix in mainloop.c
425 Added description for t option to mcopy man page
426 Added -lbsd to list of libraries to be tested for LynxOS
427 Unset LANG in mkmanpages
428 Updated config.gues/config.sub
429 Removed stale documentation for xcopy
430 Fixed typo in mformat man page
432 Zip 250 support in mzip
436 Variable initialization in mdir.c
438 Do not use offset_t on AIX ==> broken
440 Large disk fixes, especially for Solaris
442 Released Mtools-3.9.7
444 Mtools-pre2-3.9.7 released: some potential buffer overflows
446 Mtools-pre-3.9.7 released
448 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
451 Fixed a couple of floppyd bugs
453 Added texclean to make distclean, added new "pdf" target.
455 Did away with ipaddr_t and replaced it with IPaddr_t which is
456 guaranteed not to crash anywhere...
458 Defined geometry for default a: devices on Linux and Solaris with vold
460 Carefully navigate Solaris' polluted namespace...
462 Suppressed bogus error message when mcopying to an existing file.
464 Fixed mformat problem with Fat32 (mformat didn't initialize the
465 label and fat type fields in the boot sector, and the other mtools
466 utils didn't check them)
468 Fixed two more scandisk problems:
469 - the infosector should end with 0x55aa
470 - When deleting a file, be sure to DELMARK the VSE's as
471 well as the main entry
473 Fixed an evasive Fat32 bug: a parent directory entry pointing to
474 the root should have an address of 0 instead of the more logical 2
476 Corrected mdir error handling
477 Fixed a bug in mren (problem when renaming short file names)
479 Corrected a typo in error handling
481 Fixed size problem with Ctrl-Z.
483 (No joke): avoid setting volume serial number on "Old Dos" disks
485 - Re-aligned command line options with Dos
486 - New -n/-N option for mlabel to change volume serial numbers
487 - Mattrib -p escapes file names in order to handle file name
489 - Changed mformat serial number format
492 - Mtools would never completely use all directory slots, because
493 it overestimated space consumption by 1
494 - Mtools did not initialize the stat struct for pipes, and thus
495 gave occasionnally bogus "Disk full" error messages
497 Rearranged tty open call so that it is only opened when actually
500 Added special case for 0xf7 media descriptor
502 Make O_NDELAY conditional everywhere
504 Return correct return value from mt_lseek, even if off_t is a 64
507 Treat OpenBSD the same as NetBsd
509 Released 3.9.6 with the following fixes:
511 - Make Xdf work in nodma mode
512 - Fix for mformatting MSS disks
514 1st attempt to release 3.9.6 with mostly minor fixes:
515 - platform compatibility
516 - automatic installation of info files
517 - mdir's -X flag no longer implies "recursive"
519 3.9.5 released with mostly minor fixes:
520 - Starting cluster numbers of "." directory entry
521 - Copying of empty Files from Dos to Unix
522 - Misc platform compatibility issues
524 Another embarrassing bug found, 3.9.4 released. When will this
527 Mtools 3.9.3 released
529 Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
530 Glibc problems are potentially dangerous, and can lead to data loss.
532 Mtools 3.9.2 released
534 Fixed typo in plain_io.c
536 More rigor about signed vs unsigned issue. FreeBSD Scsi support
538 Allow for 2GB Jaz drives
540 Rewrote floppyd in C instead of C++
550 Make sure that fat_type doesn't overwrite byte 62 with zero =>
553 Added support for "replay" listing of mattrib. Cleaned up version
554 number and date handling (date was not always accurate...)
556 Added geometry autodetection code for Linux harddisks to
557 mpartition and mformat. Removed misleading references to
558 "non-removable media"
560 Added boot sector template option for mpartition. Fixed mtools.1
561 man page. Mattrib -s e:/ fix
565 Fixed HP SCSI "big write" bug
567 Fixed debug mode in vfat.c
569 A few minor floppy related fixes (installation, and replacement
570 for setenv function, which is absent from some platforms)
572 Added floppyd (remote access to floppy disks)
574 Updated mkmanpages script to dynamically get date and mtools
575 version. Correct "removable media" error message to talk about
576 /etc/mtools.conf instead of /etc/mtools. Do init_geom to read
577 geometry if no geometry is set.
579 Mtools 3.9.1 released
581 Mformats makes disks which are readable both as partitioned and as
584 Corrected Tim Hoogasian's e-mail address
588 "Dirty end too big" mformat bug corrected
590 Corrected typoes for IRIX devices, use macros for attribute types,
591 fix 0 length file bug.
594 Bigger array for SCSI command
598 OS/2 portabilty, GLIBC portability
600 Fixes related to Solaris new vold support
602 Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
603 CFLAGS for those makes that don't support implicit rules well enough
607 Various Bugfixes (overwrite mode and directory cache)
609 Added mformat_only flag.
611 Fixed non-batchmode mcopy bug. Fixed shortname case bug
613 Minfo and mformat boot program bug fixes
615 Allow default block sizes per device which are not equal to 512
617 Allow and interpret back quotes in file names
621 Scandir optimizations. Fixed nasty Heisenbug in hash.c.
623 Fixed integer width problem in fat.c, and minor bugs in hashtable.
625 More performance optization. Buffer handl
629 Fixed mtype and mcheck. Started cleaning up out-of-memory handling
631 Jacked up performance, and corrected signal handling bugs. Also
632 corrected various "Disk full bugs"
634 Fixed "Bad address" errors which occurred when running mdu on empty
635 files. When copying recursively, do not barf if a directory
636 already exist at the target. Mcopy operates silently by default.
638 removed mwrite. Obsoleted long ago by mcopy
640 fixed mdir -X, added mattrib -X; document both. Fix doc for name
643 fixed polarity of sys_errlist. Renamed some include files which
644 bore the same name as system include files. Fixed another
645 memory leak in dir_grow. A/UX termio workaround.
647 fixed filedescriptor leak. Make mbadblocks stoppable. Doc
648 fixes. Fixed one memory leak, another one further down the road
649 remains... Fixed error handling in createDirectory.
651 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
653 Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
654 version. No actual code change apart from patchlevel.h
656 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to
657 mkmanifest. Fixed mpartition bug with partitions with more
660 Pre-3.9. Redid the mainloop logic, and got rid of lots of cruft
661 in subdir.c and parse.c. It is now possible to put wildcards in
662 the directory part of the filename. Design also became simpler,
663 making it easier to maintain this part in the future.
664 Added a -u flag to mzip to temporarily unprotect a disk
665 Added a test to mzip to prevent manipulation of mounted disks
666 Added support for partitioned devices in mmount
668 Added mdu and recursive mdir
670 Fixed bugs in recursive copy stuff, added recursive mattrib, and
671 fixed a few buffer overrun bugs
673 Added recursive copy and attribute conservation flags to mtools
677 Include Sys5 directories on SunOs in order to have a correct
683 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
685 Corrected gross bug in fat12_decode
687 Simplified fat bits handlings
691 Buffer.c and FAT bugfixes
693 More FAT32 fixes. New mshowfat command.
695 Fix FAT32 problem (FAT32 does not use the high nibble)
697 Detect presence of sys_errlist using autoconf instead of
698 making its usage dependent on BSD.
700 Guard against corrupted "next free block" pointer in a FAT32
703 Use root privileges during scsi_init
705 Fixed close-on-exec bug.
707 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
710 Fixed Makefile so that make -j works without errors. Fixed
711 upper/lower bug in mmount
715 Add option to mformat to keep boot sector, or to read it from
716 a file. Added various flags to customize directory listing
717 appearance and long name behavior
719 Fix bug in yesterdays fix. Also make sure to resize hash
720 table if too many deleted entries accumulate.
722 Fixed yet another hash table bug
724 Yet another HPUX fix.
726 Fixed a segfault in mpartition
728 Removed a few Stallmanisms in config.guess
732 Corrected a few errors in new vold code
734 Removed extra &'s from string addresses.
735 Added listing of current configuration to mtools -V
736 Updated version number and date in mkmanpages
738 New Bebox patch. Removes almost all BEBOX specifities because
739 they are no longer needed with the new DR9 release.
740 Small fix for size detection of SCSI disks.
742 Fixed small typo in new vold code
744 Added partition consistency checks for accessing device.
746 New version of Solaris vold code
748 Solaris floppy geometry. Support for older MO disks (size
749 returned in non-standard location)
750 Corrected ftp address for fdutils
754 Brought Makefile.Be and config.h.Be up to date with the recent
757 Add Ultrix to the list of OS'es which do not define their
761 Various "Next proofintg".
762 * add VENDOR_, CPU_ and OS_ before machine type tags
763 detected by autoconf. Next tends to be a frequently
765 * use utimes preferably before utime
766 * try to include _all_ termios functions.
767 * more precise detection of available termios functions
769 Added knowledge of Zip Tools Disk password to mzip.
771 Went back to using ALLCFLAGS in Makefile for those people who
772 want to override CFLAGS
774 Added note about Alpha site to doc.
776 Prefer termios.h on Ultrix
778 Renamed missing_functions to missFuncs in order to accommodate
779 operating systems with file name size limits.
781 Autoextend size for images that are too small. Moved BSD
782 dependent #ifdef's after the inclusion of sys/param.h, as it
783 is there where BSD is defined (sigh!)
785 Insist on the fact that mzip's -f flag only makes sense if
786 given in addition to -e
788 Corrected typo in doc.
790 Removed read and write prototypes, they conflict on an Alpha!
796 Do not stat any files in /dev/ on BEOS. Remove spurious system
797 include files from non-sysincludes.h file
801 Added Sunos4 and SCO support to scsi.c. Use tzset before
802 gettimeofday, except for BSD. Use Z: for a Zip drive, and J:
803 for a Jaz drive instead of D: for both. Added machine
804 specific libraries and CFLAGS for A/UX.
806 Various A/UX fixes. Changed scanning order for termio and
807 termios due to problems with the other order on A/UX.
809 Print error message for wrong password.
811 Include mzip man page
813 Document new config flags introduced in 970204.
814 On systems not supporting euid, do not bail out if both euid
817 Prevent mmove from moving directories into themselves in order
818 to keep a tree-like directory structure
820 Fixes for mtools_no_vfat
822 Additional config file pointed by MTOOLSRC; possibility to
823 switch off generation of VFAT long names.
825 HP/UX setresuid support. "Mcopy a: ." bugfix.
827 Renamed f_* functions into file_* in order to avoid a clash
828 with a preprocessor macro named f_data on AIX.
830 Released 3.5, Solaris compatibility fix w.r.t. memmove
834 Fixed location of configuration file in doc.
838 More BSD & 64 bit changes
840 Added at_exit implementation for those boxes who have neither
841 on_exit nor atexit. Added check to make sure the compiler
842 handels structures in a sane way.
844 Backed out again of the traditional-cpp change on
845 larry.jones@sdrc.com's advice
847 Added traditional-cpp in order to make mtools compilable on a Sun
851 BEOS fixes and support for SCSI devices with a sector size
854 Fixed some preprocessor macros. Added texclean macro to Makefile
856 Clarified the documentation about the Bebox.
860 Made Makefile "AIX-proof". Added precmd to config.c
864 Osf4 support. Released 3.2
866 Fixed Makefile typo, and fixed various bugs with renaming or
867 moving dot or dot dot
869 Fixed streamcache.c bug
871 Added add-disk script and format.dat file
873 Fixed mrd e:xxx/, tested Xdf support
875 Strange mformat fixes... Dos always seems to assume a cluster
876 size of at least 8 sectors and 512 root directory entries. Sigh!
878 FAT32 support, BeOS patches
880 Added more debugging code to mpartition and minfo. Added
881 "packed" attribute to the partition structure.
882 Cleaned up argument handling.
884 Fixed partition removal bug in mpartition.c
886 Fixed streamcache allocation bug. Clearer error message when
887 trying to access a non-existant partition.
889 Added "packed" attribute to some fields of the vfat_subentry
890 structure, in order to work around a bug in a gcc version for
892 Use getpass() for password prompting in mzip.c
894 Various small bug fixes
896 Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
897 Relaxed security in mpartition.c, so non-root users may print
898 a partition, or perform any local changes to it.
899 Mpartition now prints info to recreate partition.
901 Add mpartition command to partition Zip, Jaz and other Scsi
903 Chose between on_exit or atexit using autoconf.
905 Added minfo command to print disk geometry and other parameters.
907 Replaced atexit by onexit. Atexit barfed on SunOs.
908 Replaced O_RDWR flag in mzip with O_RDONLY.
909 Added precmd variable to execute commands before opening a
912 Shortened README, segregated config file pathnames into a
915 General cleanup, more enhancements to privilege handling.
917 Added debugging output to mzip.
918 Made expand.c safe and still compatible with suid operation.
920 Made device locking optional.
922 Added const qualifiers
926 Added kludgy xcopy support
928 Only skip sys_errlist declaration on NetBSD (some older
929 platforms might need this)
931 Upgraded to autoconf 2.12, fixed some Stallmanisms.
932 Added device entry for LynxOs.
934 Use gettimeofday before tzset (for BSD).
936 Use correct location of signal.h. Removed declaration
939 BEOS patches by Marco Nelissen
940 Removed some clashing prototypes
942 Prints privilege debugging message to stderr, and reopens SCSI
943 file with root privileges.
945 Fixed typoes in mzip. Added pointer to html doc.
947 Fixed Linux Scsi ioctl.
949 Added warnings against cookies, fixed doc to reflect new set-uid
952 Fixed typoes in privilege routines, and removed Heisenbergian
953 parts of the debugging code.
955 Deleted prototypes for random() and srandom(): they *did*
956 clash (on a DEC Alpha)
958 Solaris & SunOS privilege management. Fixed date entries in
963 Cosmetic mzip fixes. Add pointer to info doc to mtools.1
965 ISC addition. Doc fix for set_parameters ioctl.
969 Replaced zip_* by scsi_*, as these functions are not
970 specifically relevant to the ZIP (they apply to the JAZ as
972 Fixed documentation on -n flag for mcopy
974 Include termio before termios because of SCO
976 Do not declare timezone external variable on Ultrix, where it
977 has a different type.
979 Changed floppy into rfloppy for HP/UX.
981 Added -Q option to mcopy, which aborts copying multiple files
982 as soon as an error for one file is encounteres
983 Removed useless -i option for mcopy
984 Small devices.c portability fixes (ultrix and hpux)
986 Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
987 Renamed mtest to mtoolstest to please pine.
989 Added warning about running mtools with root privs.
991 Fixed uninitialized variable in fat.c and added example for Sun
994 Fixed comment in scripts/tgz
996 Fixed partition handling code (yes, again!)
997 Added code to handle ZIP disks on Solaris/SunOS (many thanks
998 to James P. Dugal (jpd@usl.edu))
1000 Proper permissions for main directory.
1002 Renamed scripts/gz to scripts/tgz
1004 Added raw devices for Solaris, apparently more performant
1005 Test first for tzset in autoconfigure (Solaris)
1007 Segment fault due to change of buffer size fixed
1008 E-mail address fixed
1010 Lots of portability fixes.
1012 Yet another typo fix for the partition table code. Oh Gawd,
1013 will this never stop?
1014 Fix for proper .mcwd pathname concatenations
1016 Backed out partition table "fix": the original code was right
1019 Corrected a few uninitialised variables
1021 Corrected doc about devices file.
1023 Added pointer to the doc to the README file
1025 Partition table parsing fixed
1027 Fujitsu DS/90 (UXP) support
1030 dispatcher cleanup in mtools.h
1031 fat_bits 12/16 toggle fix.
1032 More space for error message variable in mformat
1035 Fix for CPU names with dots in autoconfigure
1036 Some new device descriptions
1039 Set XDF mode when formatting an XDF disk (makes sense, after all...)
1041 XDF seems to work. Yeah!
1043 More ED fixes. More parameter size fixed for 64bit.
1045 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1048 Make vold and "raw" floppy drive accessible simultaneously on
1049 Solaris by calling one A: and the other B:
1050 Add missing mbadblock LINK in Makefile.in
1052 Inserted missing newline character
1054 Treat number of heads or sectors as chars. The BIOS wouldn't
1055 allow bigger numbers anyways, thus big numbers are probably
1059 Geometry setting for HP/UX
1061 Changed auto array in codepage to malloc'ed one in order to
1062 work around buggy compilers
1064 Pointers to other doc in the INSTALL file
1066 Do no longer be confused by deleted VSE's
1067 Define MAXPATHLEN for SCO
1068 Missing lockf prototype for SCO
1070 Handle DEBUG flag by autoconf
1071 Added Host vendor to compile flags in order to handle Sinix
1072 Better Sinix handling in devices.c
1073 Only print duplicate VSE messages when running with DEBUG
1074 Fix mlabel exit code
1077 Xcopy fixes for Sysv
1081 pre4-3.0. Lots of bug fixes. Texinfo file
1085 use autoconf to get rid once and for all of those pesky OS
1088 use sys/termio instead of sys/termios to please AIX
1090 more spelling fixes.
1094 Mmount arg parsing bug fix
1096 New partition configuration variable.
1098 Spelling fixes, removed warning in README, IRIX floppy devices
1100 More Alpha streamlining
1102 Alpha patches (64 bit clean-ness)
1103 AIX patches (built in drive names)
1104 Raw tty patches (no need to type return when confirming an action
1107 Replaced include strings.h by string.h everywhere where applicable
1108 Changed thousands separator in mdir from a dot to a space to
1109 please both Americans and Europeans.
1110 Fixed memory allocation bug if no "constant device" is present.
1111 #defined strtoul to atol for SunOS
1113 Minor cleanup, released 2.5.4
1115 Added "magic" header to manpages to have man run them through tbl
1117 MTOOLS_LOWER_CASE is back, various small bug fixes over
1120 Bus strike in Grenoble! Well, let's do something useful and
1121 re-arrange the configuration file syntax :-)
1122 The syntax has become much more flexible now, and also
1123 includes items which used to be only accessible via
1124 environmental variables.
1125 Moreover, it is now possible to include character translation
1128 Fixed another Atari disk bug: Atari disks sport a bogus
1129 "number of hidden sectors"
1131 Fixed missing zero-terminator in autorenamed long names
1132 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1134 Fixed small quoted-printable-induced typo in the Makefile.
1136 Folks, please don't use quoted-printable. It sometimes changes
1137 the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1138 Case in point: £400 gets transformed into =A3400, which looks
1139 like 3400 pounds to a person unaware of this MIME "feature".
1142 Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1145 Added ability to do mcopy e: to copy all files from the root
1147 New Xdf-less Linux target in the Makefile
1148 Relaxed sanity check to let pass wonky Atari disks whose FAT
1149 begins with 3 zero bytes.
1150 Make the check of the initial fat bytes conditional on
1152 Corrected "testna=" bug
1153 Upped minimal sector size to be 256 (instead of 128). This
1159 Ability to mformat 2m disks
1161 Xdf bug fix (dev parameters always set to Xdf, even if it
1162 wasn't really an Xdf disk)
1163 Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1165 Centralizing most env-var handling.
1166 Update of the mtools manpage.
1167 Xdf is now optional, and only active if MTOOLS_USE_XDF is
1168 set. Saves a few milliseconds of startup time on non Xdf
1170 Some lawyer-proofing, just in case :)
1172 Fast xdf code (finally!)
1173 Minor performance enhancements here and there.
1174 Names which are all lower case now generate a long name entry
1175 (according to Steve Searle, that's how Win'95 behaves).
1177 Character translation table fixes. Other name fixes.
1179 Put restrictions on long names to better match Win'95.
1180 (suggested by Steve Searle)
1181 Reworked autorename code. Catch SIGHUP signal
1182 Added missing file close to main loop
1183 Changed name of the "ask for action" command line flag to 'm',
1184 and used 'a' for 'Autorename'.
1186 Removed infinite loop bug in hash.c, which occurred when the
1187 hash table was filled with deleted entries.
1189 added Atari ST-style serial numbers (they live in the banner)
1190 fixed a troff bug in mtools.1
1191 Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1193 v2.5.3 released (after lots of fixes)
1197 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1198 mattrib.c: initialized "code" to avoid complaint by GCC
1200 Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1201 init.c: fs_init(): initialized disk_size to 0. The section
1202 which previously initialized this is ifdef'd out. Why?
1203 Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1204 Gee, the Makefile is pretty ugly! It might be good to start
1205 thinking about autoconfigure, or at least some cleanup.
1206 Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1207 msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1208 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1209 devices.c: use %i instead of %d to allow different bases
1210 parse.c: Changed comment for get_name()/get_path(); need to
1211 revisit this after deciding on default case behavior
1212 devices.c: load_devices(): fixed bad fprintf, line 748
1213 parse.c, mformat.c, misc.c: replaced expressions like
1214 "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1220 Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1221 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1227 v19950822 v2.5 released
1230 Change null-fill for unused remainder of VSE to 0xff fill for
1231 both upper and lower character (just one null for termination)
1232 This seems to better match Win95's behavior; Win95 had been
1233 complaining about bogus characters
1234 file_name.c: unicode_write()
1237 Commented out enforcement of VSEs being in order. Win95 likes
1238 to put them exactly backwards, so we'd better tolerate getting
1239 them any way they might come! Not sure what is lost by losing
1240 these checks, but it seems to be OK.
1242 directory.c: dir_read()
1244 Copying and distribution of this file, with or without modification,
1245 are permitted in any medium without royalty provided the copyright
1246 notice and this notice are preserved.