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