2 - Fix root directory test in mattrib
3 - -b BiosDisk flag for mformat to allow setting physdrive to
5 - Clearer error message in mformat when trying to mformat a
6 disk whose total size is not known
7 - Make recursive copy more consistent
8 - Trailing slash now always implies target should be a directory
11 - Added postcmd attribute in drive description to allow to
12 execute "device release" code automatically at end of
14 - Code cleanup (unneeded functions, initializations, added
15 comments to unobvious code, obsolete stuff in Makefile)
16 - signedness cleanup about directory entries
18 - Made it possible again to have FAT32 filesystems with less
20 - Make FAT32 entries 0 and 1 match what windows 10 does
21 - Misc source code and configure script cleanup
24 - Remove libbsd dependency
25 - Better compatibility with legacy platforms such as AT&T UnixPC
26 - Upgraded to autoconf 2.71
28 - Rename strtoi to strosi (string to signed int). The strtoi
29 function on BSD does something else (returns an intmax, not
32 - Make sure case byte is cleared when making the special
33 directory entries "." and ".."
35 - Removed mclasserase commands, which doesn't fit the coding
36 structure of the rest of mtools
37 - Add support to -i option to mcd
38 - Document -i in mtools.1
39 - Fix a missing command error in floppyd_io.c
42 - Fix error status of recursive listing of empty root directory
43 - If recursive listing, also show matched files at level one
44 - Use "seekless" reads & write internally, where possible
45 - Text mode conversion refactoring
49 - Fix cluster padding at end of file in batch mode, and add
50 comments about what happens here
56 - Fix support for partitions (broken in 4.0.30)
57 - Portability fixes for Solaris 10 and 11
58 - General simplification of configure script, and largefile handling
59 - Tested and fixed for platforms *without* largefile support
60 - In cases where lseek works with 32-bit offsets, prefer
62 - Fixed floppy sector size handling on platforms that are not
64 - Added support for image files on command line to mcat
67 - Simplify algorithm that choses filesystem parameters for
68 format, and align it more closely with what Win7 does
69 - Fix mformatting XDF when XDF not explicitly specified on
71 - easier way to enter sizes on mformat command line (mformat -C -T
73 - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
75 - Handle attempts to mformat too small filesystems more gracefully
76 - Enable minfo to print out additional mformat command line
77 parameters, if the present filesystem uses non-default
79 - minfo no longer prints bigsect if smallsect is set
80 - for remap filter, error when trying to write non-zero data
82 - Fix misc compilation warnings occuring when disabling
83 certain features (largefiles, raw-term)
86 - Move Linux-specific block device sizing code into
87 linux-specific section of devices.c
88 - Error messages for all failure cases on fs_init failure
89 - Fix compilation without XDF support (OpenImage signature)
90 - Fix polarity of format_xdf command-line parameter of mformat
91 - In XDF_IO retry enough times to actually succeed, even if
92 FDC was in a bad state before
93 - Remove useless buffer flushing triggered when giving up a
94 reference to a stream node that is still referenced
96 - Clearer error message if neither size nor geometry of drive
97 to be mformatted is known
98 - In mformat, make Fs dynamically allocated rather than
99 on-stack, so as to be able to use utilities supplied by
101 - Remove duplicate writing of backup boot sector
102 - Allow to infer geometry if only size is specified
103 - Protect against attempt to create zero-sized buffer
104 - Code simplification in mattrib
105 - Remove dead code in mpartition
108 - Fixed XDF floppy disk access
109 - Fixed faulty behavior at end of image in mcat
110 - Device/Image size handling refactoring
111 - allow remap to write to zero-backed sectors (may happen if
112 buffer is flushed, and is not an error in that case)
113 - Raise an error when trying to mcopy multiple source files
114 over a single destination file (rather than directory)
115 - fix handling of "hidden" sectors (is a 2 byte quantity on
116 small disks, not 4 byte as previously assumed)
117 - Modernize partition support. Tuned consistency check to
118 actually check about important issues (such as overlapping
119 partitions) rather than stuff nobody else cares about
120 (alignment on entire cylinder boundaries)
121 - Move various "filter" options (partition, offset, swap,
122 scsi) into separate classes, rather than leaving almost
123 everything in plain_io
124 - Simplify and centralize geometry handling and LBA code
125 - Fix some more more compiler warnings
127 - Fix bug in cluster preallocation, which was accidentally introduced
128 by compiler warning "fixes" from v4_0_28
130 - Support remapping of data (for not-quite linear floppy image files)
131 - Re-open floppy devices read-write if geometry parameters need to
133 - relax consistency checks in mpartition (partitions created
134 by current fdisk would almost never pass these checks)
135 - Fix some compiler warnings
137 - Fix type error in calls to iconv functions
139 - Fix compilation on Macintosh
140 - Ignore image file locking errors if we are performing a
141 read-only access anyways
142 - Minor man-page fixes
144 - Preserve non-updated contents of info sector, just in case
145 it contains program code
146 - When parsing config file, always use "C" locale for
147 case-insensitive comparisons
149 - Spelling fixes in documentation
150 - Permit calling "make install" with >= -j2
151 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
153 - Address lots of compiler warnings (assignments between different types)
154 - Network speedup fixes for floppyd (TCP_CORK)
156 - Explicitly pass available target buffer size for character
159 - Fixed -f flag for mformat (size is KBytes, rather than sectors)
160 - Fixed toupper/tolower usage (unsigned char rather than plain signed)
162 - Fixed compilation for MingW
163 - After MingW compilation, make sure executable has .exe extension
164 - Addressed compiler warnings
165 - Fixed length handling in character set conversion (Unicode file names)
166 - Fixed matching of character range, when containing Unicode
167 characters (mdir "c:test[α-ω].exe")
168 - Fixed initialization of my_scsi_cmd constructor
170 - initialize directory entries to 0
171 - bad message "Too few sectors" replaced with "Too many sectors"
172 - apostrophe in mlabel no longer causes generation of long entry
173 - option to fake system date for file creation using the
174 SOURCE_DATE_EPOCH environment variables
176 - can now be compiled with "clang" compiler
177 - fallback function for strndup, for those platforms that don't have it
178 - fixed a number of -Wextra warnings
180 - new compressed archive formats for uz/lz
182 - allow to specify number of reserved sectors for FAT32.
183 - file/device locking with timeout (rather than immediate failure)
184 - fixed support for BPB-less legacy formats.
185 - removed check that disk must be an integer number of tracks.
187 - removed .eh/.oh macros from manual pages
189 - Fix for short file names starting with character 0xE5
190 (by remapping it to 0x5)
191 - mpartition: Partition types closer to what Microsoft uses
192 - mformat: figure out LBA geometry as last resort if geometry
193 is neither specified in config and/or commandline, nor can be
194 queried from the device
195 - mformat: use same default cluster size by size as Microsoft
197 - additional sanity checks
198 - document how cluster size is picked in mformat.c man page
199 - document how partition types are picked in mpartition.c man page
201 Fix for names of iconv encodings on AIX
202 Fix mt_size_t on NetBSD
203 Fixed compilation on Mingw
204 Fixed doc (especially mformat)
205 Fix mformat'ing of FAT12 filesystems with huge cluster sizes
206 Minfo prints image file name in mformat command line if an image
208 Always generate gzip-compressed RPMs, in order to remain
209 compatible with older distributions
210 Fixed buffer overflow with drive letter in mclasserase
212 mbadblocks now takes a list of bad blocks (either as sectors
214 mbadblocks now is able to do write scanning for bad blocks
215 mshowfat can show cluster of specific offset
216 Enable mtools to deal with very small sector sizes...
217 Fixed encoding of all-lowercase names (no need to mangle
219 Consider every directory entry after an ENDMARK (0x00) to be deleted
220 After writing a new entry at end of a directory, be sure to also add
223 Deal with possibility of a NULL pointer being returned by
224 localtime during timestamp conversion
227 fixed formatting of fat_size_calculation.tex document
228 compatibility with current autoconfig versions
229 Make it clear that label is limited to 11 characters
230 Fixed typo in initialization of FAT32 info sector
232 Added missing -i option to mshortname
233 Split .deb package into mtools and floppyd in order to
236 New mshortname command
237 Fix floppyd for disks bigger than 2 Gig
238 Remove obsolete -z flag
239 Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
240 Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
241 Mformat now correctly writes backup boot sector
242 Fixed signedness of serial number in mlabel
243 Fixed buffer size problem in mlabel
244 Make mlabel write backup boot sector if FAT32
245 Catch situation where both clear and new label are given to mlabel
246 Quote filename parameters to scripts
247 Mformat: Close file descriptor for boot sector
248 Added lzip support to scripts/uz
249 Added Tot_sectors option to mformat
250 Fixed hidden sector handling in mformat
251 Minfo generates mformat command lines containing new -T option
252 Mlabel prints error if label too long
254 Merged Debian patches
256 Mingw compatibility fixes
258 Fixed compiler warnings in mlabel.c and elsewhere
259 Fixed h flag in mattrib.c
260 Added missing error checking in floppyd and elsewhere
263 More copyright stuff...
264 Fixed issues with max filesize (was 2GB instead of 4GB, and
265 warned only after copying the beginning)
269 Corrected copyright attributions in the various files
271 Fixed conversion to native on OS/2
272 Fix parsing of --help flag
274 Fallback for missing wchar_t iconv codepage on OS/2
275 Fixes for LSEEK64 support
276 Support for --help that returns a 0 exit status
278 Make setpgrp() usage in floppyd conditional
279 Re-instate PACKED around structure (ARM)
283 BSD support: SCSI, use getuserid/getgroupid in floppyd
284 Another attempt at putwc fix for OS/2
286 Fallback for putwc if there is wchar (OS/2)
288 Fix multipart pathname parsing bug in vfat.c (forgot limited length)
289 Supplied fallback define for putwc
290 Copyright notices in all sources
292 Off-by-2 error in unix_name in file_name.c
294 Missing functions on Solaris
296 Offset for -i-specified image files
298 Use transliteration to represent characters which don't exist in
301 Mtools-4 with Unicode support
305 Fixed security issue with doctored file names
306 64 bit compilation fixes
308 Fixed misc blunders...
310 Fixed lots of minor items raised by gcc4
311 Merged some of the BSD patches
312 New version of amuFormat.sh written in sh rather than csh
313 Support for config parameters after -i file
316 Added sizecode printing on minfo
317 In mformat manpage, use same flag for sector number than printed in
319 Limit sizecode to 6, else it will overflow max sector size defined in
322 Applied mingw patch by Jamey Sharp and Josh Triplett
324 Fixed doc about /etc/default
326 Fixed mlabel on read-only disks
328 Merged Redhat/Fedora patches
330 #ifdef linux-dependent code in mformat.c
333 Fix reading of boot sector (block size)
335 Do no longer open floppy devices with O_EXCL, in order to enable
336 work-around against broken cache.
338 If no info dir exists at all, assume dir
346 Solaris 8 compatibility
350 Support for multiple drives in floppyd
354 Fixed some long name directory entry freeing bugs
356 Fixed duplicate FAT writing error. Fixed segfault on short images.
357 Mformat creates images of correct size.
358 CYGWIN compatibility (O_BINARY flag).
360 Cygwin patch for plain_io.c (no locking)
362 Fix a couple of memory leaks in config file parsing. Fix llong.h
363 (redefined same symbol twice)
364 Fix a variable initialization problem in plain_io.c
365 New mclasserase command to erase memory cards
368 Fix rootskip and rate of XDF disks
370 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
372 Moved putc after variable description (anybody knows about a -W
373 flag so that gcc warns about these?)
375 Fixed mattrib -p (missing slash)
377 Added -m option to mformat to specify a non-standard mediabyte
379 Added -d options to mformat to specify number of FAT copies. Can
380 also be set using the MTOOLS_NFATS environmental variable.
381 Also added similar env variable for root directory length
382 Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
383 CYGWIN fixes for mcat
386 Released 3.9.9 : Identical to pre-3.9.9 except for the version number
389 Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
390 Improved fat_len calculation
391 Fixed plain_io.c bug (Swap byte applied after partition stuff,
394 Fixed mcat end-of-file bugs (mcat went on writing, and writing,
395 and writing, even after end of file)
397 If "standard" CHS specified, but non-standard root dir size do not
398 use table-lookup based geometry ("old-dos media descriptor")
400 David's new uz script, that can use commands other than gzip for
403 Fixed vold support for mpartition
405 Added PACKED to unicode_char declaration (Arm)
406 Mpartition can now create the image if -I is specified.
408 Support for geometry-less Atari disks
409 Support for byte-swapping disks
411 Avoid .(l and .)l in generated man pages
415 Fix [] wildcard off-by-one error
416 Avoid overwriting (Unix) file by itself in mcopy
417 Avoid cloberring any file if implicit target is used (the
418 one-argument syntax of mcopy)
419 Added Zip 750 entry to mzip.c
423 Fixes in buffer.c for oddly sized image files
424 Mformat.c fixes to avoid making images which would not be
427 Warn for invalid partition numbers
429 Released pre6-3.9.8 : getting rid of linux-gnu references is
430 almost as difficult as exorcising the devil...
432 Released pre5-3.9.8 after fixing a couple of version numbers
434 Applied Adrian Bunk's patches, minus the Stallmanisms.
435 De-stallmanized config.gues and config.sub files
438 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
440 Fixed #ifdef DEBUG statements, pre2-3.9.8
444 Updated config.guess/config.sub to support Darwin
445 Patch for converting contents of files from/to Dos' version of
447 Fixed bug in to_unix function
449 Updated freebsd floppy device definitions
451 Fixes for floppyd to work with current protocol version of floppyd
453 Fixed parsing of Unix filenames ending with slash
455 Fixed file closing of floppyd
457 Fixed a cindex entry in documentation
459 Rewrote PDF rule to use pdflatex, rather than go through dvi
460 (pdflatex output looks nicer)
462 Fixed JAZ Zip file overwrite bug (actually, this bug could occur
463 on any disk reasonably full...)
465 Fix mzip manpage to include Linux in the list of supported OS'es
467 Protect against division by zero when reading BSD disks...
471 Hurd openflags fix in mainloop.c
472 Added description for t option to mcopy man page
473 Added -lbsd to list of libraries to be tested for LynxOS
474 Unset LANG in mkmanpages
475 Updated config.gues/config.sub
476 Removed stale documentation for xcopy
477 Fixed typo in mformat man page
479 Zip 250 support in mzip
483 Variable initialization in mdir.c
485 Do not use offset_t on AIX ==> broken
487 Large disk fixes, especially for Solaris
489 Released Mtools-3.9.7
491 Mtools-pre2-3.9.7 released: some potential buffer overflows
493 Mtools-pre-3.9.7 released
495 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
498 Fixed a couple of floppyd bugs
500 Added texclean to make distclean, added new "pdf" target.
502 Did away with ipaddr_t and replaced it with IPaddr_t which is
503 guaranteed not to crash anywhere...
505 Defined geometry for default a: devices on Linux and Solaris with vold
507 Carefully navigate Solaris' polluted namespace...
509 Suppressed bogus error message when mcopying to an existing file.
511 Fixed mformat problem with Fat32 (mformat didn't initialize the
512 label and fat type fields in the boot sector, and the other mtools
513 utils didn't check them)
515 Fixed two more scandisk problems:
516 - the infosector should end with 0x55aa
517 - When deleting a file, be sure to DELMARK the VSE's as
518 well as the main entry
520 Fixed an evasive Fat32 bug: a parent directory entry pointing to
521 the root should have an address of 0 instead of the more logical 2
523 Corrected mdir error handling
524 Fixed a bug in mren (problem when renaming short file names)
526 Corrected a typo in error handling
528 Fixed size problem with Ctrl-Z.
530 (No joke): avoid setting volume serial number on "Old Dos" disks
532 - Re-aligned command line options with Dos
533 - New -n/-N option for mlabel to change volume serial numbers
534 - Mattrib -p escapes file names in order to handle file name
536 - Changed mformat serial number format
539 - Mtools would never completely use all directory slots, because
540 it overestimated space consumption by 1
541 - Mtools did not initialize the stat struct for pipes, and thus
542 gave occasionnally bogus "Disk full" error messages
544 Rearranged tty open call so that it is only opened when actually
547 Added special case for 0xf7 media descriptor
549 Make O_NDELAY conditional everywhere
551 Return correct return value from mt_lseek, even if off_t is a 64
554 Treat OpenBSD the same as NetBsd
556 Released 3.9.6 with the following fixes:
558 - Make Xdf work in nodma mode
559 - Fix for mformatting MSS disks
561 1st attempt to release 3.9.6 with mostly minor fixes:
562 - platform compatibility
563 - automatic installation of info files
564 - mdir's -X flag no longer implies "recursive"
566 3.9.5 released with mostly minor fixes:
567 - Starting cluster numbers of "." directory entry
568 - Copying of empty Files from Dos to Unix
569 - Misc platform compatibility issues
571 Another embarrassing bug found, 3.9.4 released. When will this
574 Mtools 3.9.3 released
576 Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
577 Glibc problems are potentially dangerous, and can lead to data loss.
579 Mtools 3.9.2 released
581 Fixed typo in plain_io.c
583 More rigor about signed vs unsigned issue. FreeBSD Scsi support
585 Allow for 2GB Jaz drives
587 Rewrote floppyd in C instead of C++
597 Make sure that fat_type doesn't overwrite byte 62 with zero =>
600 Added support for "replay" listing of mattrib. Cleaned up version
601 number and date handling (date was not always accurate...)
603 Added geometry autodetection code for Linux harddisks to
604 mpartition and mformat. Removed misleading references to
605 "non-removable media"
607 Added boot sector template option for mpartition. Fixed mtools.1
608 man page. Mattrib -s e:/ fix
612 Fixed HP SCSI "big write" bug
614 Fixed debug mode in vfat.c
616 A few minor floppy related fixes (installation, and replacement
617 for setenv function, which is absent from some platforms)
619 Added floppyd (remote access to floppy disks)
621 Updated mkmanpages script to dynamically get date and mtools
622 version. Correct "removable media" error message to talk about
623 /etc/mtools.conf instead of /etc/mtools. Do init_geom to read
624 geometry if no geometry is set.
626 Mtools 3.9.1 released
628 Mformats makes disks which are readable both as partitioned and as
631 Corrected Tim Hoogasian's e-mail address
635 "Dirty end too big" mformat bug corrected
637 Corrected typoes for IRIX devices, use macros for attribute types,
638 fix 0 length file bug.
641 Bigger array for SCSI command
645 OS/2 portabilty, GLIBC portability
647 Fixes related to Solaris new vold support
649 Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
650 CFLAGS for those makes that don't support implicit rules well enough
654 Various Bugfixes (overwrite mode and directory cache)
656 Added mformat_only flag.
658 Fixed non-batchmode mcopy bug. Fixed shortname case bug
660 Minfo and mformat boot program bug fixes
662 Allow default block sizes per device which are not equal to 512
664 Allow and interpret back quotes in file names
668 Scandir optimizations. Fixed nasty Heisenbug in hash.c.
670 Fixed integer width problem in fat.c, and minor bugs in hashtable.
672 More performance optization. Buffer handl
676 Fixed mtype and mcheck. Started cleaning up out-of-memory handling
678 Jacked up performance, and corrected signal handling bugs. Also
679 corrected various "Disk full bugs"
681 Fixed "Bad address" errors which occurred when running mdu on empty
682 files. When copying recursively, do not barf if a directory
683 already exist at the target. Mcopy operates silently by default.
685 removed mwrite. Obsoleted long ago by mcopy
687 fixed mdir -X, added mattrib -X; document both. Fix doc for name
690 fixed polarity of sys_errlist. Renamed some include files which
691 bore the same name as system include files. Fixed another
692 memory leak in dir_grow. A/UX termio workaround.
694 fixed filedescriptor leak. Make mbadblocks stoppable. Doc
695 fixes. Fixed one memory leak, another one further down the road
696 remains... Fixed error handling in createDirectory.
698 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
700 Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
701 version. No actual code change apart from patchlevel.h
703 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to
704 mkmanifest. Fixed mpartition bug with partitions with more
707 Pre-3.9. Redid the mainloop logic, and got rid of lots of cruft
708 in subdir.c and parse.c. It is now possible to put wildcards in
709 the directory part of the filename. Design also became simpler,
710 making it easier to maintain this part in the future.
711 Added a -u flag to mzip to temporarily unprotect a disk
712 Added a test to mzip to prevent manipulation of mounted disks
713 Added support for partitioned devices in mmount
715 Added mdu and recursive mdir
717 Fixed bugs in recursive copy stuff, added recursive mattrib, and
718 fixed a few buffer overrun bugs
720 Added recursive copy and attribute conservation flags to mtools
724 Include Sys5 directories on SunOs in order to have a correct
730 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
732 Corrected gross bug in fat12_decode
734 Simplified fat bits handlings
738 Buffer.c and FAT bugfixes
740 More FAT32 fixes. New mshowfat command.
742 Fix FAT32 problem (FAT32 does not use the high nibble)
744 Detect presence of sys_errlist using autoconf instead of
745 making its usage dependent on BSD.
747 Guard against corrupted "next free block" pointer in a FAT32
750 Use root privileges during scsi_init
752 Fixed close-on-exec bug.
754 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
757 Fixed Makefile so that make -j works without errors. Fixed
758 upper/lower bug in mmount
762 Add option to mformat to keep boot sector, or to read it from
763 a file. Added various flags to customize directory listing
764 appearance and long name behavior
766 Fix bug in yesterdays fix. Also make sure to resize hash
767 table if too many deleted entries accumulate.
769 Fixed yet another hash table bug
771 Yet another HPUX fix.
773 Fixed a segfault in mpartition
775 Removed a few Stallmanisms in config.guess
779 Corrected a few errors in new vold code
781 Removed extra &'s from string addresses.
782 Added listing of current configuration to mtools -V
783 Updated version number and date in mkmanpages
785 New Bebox patch. Removes almost all BEBOX specifities because
786 they are no longer needed with the new DR9 release.
787 Small fix for size detection of SCSI disks.
789 Fixed small typo in new vold code
791 Added partition consistency checks for accessing device.
793 New version of Solaris vold code
795 Solaris floppy geometry. Support for older MO disks (size
796 returned in non-standard location)
797 Corrected ftp address for fdutils
801 Brought Makefile.Be and config.h.Be up to date with the recent
804 Add Ultrix to the list of OS'es which do not define their
808 Various "Next proofintg".
809 * add VENDOR_, CPU_ and OS_ before machine type tags
810 detected by autoconf. Next tends to be a frequently
812 * use utimes preferably before utime
813 * try to include _all_ termios functions.
814 * more precise detection of available termios functions
816 Added knowledge of Zip Tools Disk password to mzip.
818 Went back to using ALLCFLAGS in Makefile for those people who
819 want to override CFLAGS
821 Added note about Alpha site to doc.
823 Prefer termios.h on Ultrix
825 Renamed missing_functions to missFuncs in order to accommodate
826 operating systems with file name size limits.
828 Autoextend size for images that are too small. Moved BSD
829 dependent #ifdef's after the inclusion of sys/param.h, as it
830 is there where BSD is defined (sigh!)
832 Insist on the fact that mzip's -f flag only makes sense if
833 given in addition to -e
835 Corrected typo in doc.
837 Removed read and write prototypes, they conflict on an Alpha!
843 Do not stat any files in /dev/ on BEOS. Remove spurious system
844 include files from non-sysincludes.h file
848 Added Sunos4 and SCO support to scsi.c. Use tzset before
849 gettimeofday, except for BSD. Use Z: for a Zip drive, and J:
850 for a Jaz drive instead of D: for both. Added machine
851 specific libraries and CFLAGS for A/UX.
853 Various A/UX fixes. Changed scanning order for termio and
854 termios due to problems with the other order on A/UX.
856 Print error message for wrong password.
858 Include mzip man page
860 Document new config flags introduced in 970204.
861 On systems not supporting euid, do not bail out if both euid
864 Prevent mmove from moving directories into themselves in order
865 to keep a tree-like directory structure
867 Fixes for mtools_no_vfat
869 Additional config file pointed by MTOOLSRC; possibility to
870 switch off generation of VFAT long names.
872 HP/UX setresuid support. "Mcopy a: ." bugfix.
874 Renamed f_* functions into file_* in order to avoid a clash
875 with a preprocessor macro named f_data on AIX.
877 Released 3.5, Solaris compatibility fix w.r.t. memmove
881 Fixed location of configuration file in doc.
885 More BSD & 64 bit changes
887 Added at_exit implementation for those boxes who have neither
888 on_exit nor atexit. Added check to make sure the compiler
889 handels structures in a sane way.
891 Backed out again of the traditional-cpp change on
892 larry.jones@sdrc.com's advice
894 Added traditional-cpp in order to make mtools compilable on a Sun
898 BEOS fixes and support for SCSI devices with a sector size
901 Fixed some preprocessor macros. Added texclean macro to Makefile
903 Clarified the documentation about the Bebox.
907 Made Makefile "AIX-proof". Added precmd to config.c
911 Osf4 support. Released 3.2
913 Fixed Makefile typo, and fixed various bugs with renaming or
914 moving dot or dot dot
916 Fixed streamcache.c bug
918 Added add-disk script and format.dat file
920 Fixed mrd e:xxx/, tested Xdf support
922 Strange mformat fixes... Dos always seems to assume a cluster
923 size of at least 8 sectors and 512 root directory entries. Sigh!
925 FAT32 support, BeOS patches
927 Added more debugging code to mpartition and minfo. Added
928 "packed" attribute to the partition structure.
929 Cleaned up argument handling.
931 Fixed partition removal bug in mpartition.c
933 Fixed streamcache allocation bug. Clearer error message when
934 trying to access a non-existant partition.
936 Added "packed" attribute to some fields of the vfat_subentry
937 structure, in order to work around a bug in a gcc version for
939 Use getpass() for password prompting in mzip.c
941 Various small bug fixes
943 Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
944 Relaxed security in mpartition.c, so non-root users may print
945 a partition, or perform any local changes to it.
946 Mpartition now prints info to recreate partition.
948 Add mpartition command to partition Zip, Jaz and other Scsi
950 Chose between on_exit or atexit using autoconf.
952 Added minfo command to print disk geometry and other parameters.
954 Replaced atexit by onexit. Atexit barfed on SunOs.
955 Replaced O_RDWR flag in mzip with O_RDONLY.
956 Added precmd variable to execute commands before opening a
959 Shortened README, segregated config file pathnames into a
962 General cleanup, more enhancements to privilege handling.
964 Added debugging output to mzip.
965 Made expand.c safe and still compatible with suid operation.
967 Made device locking optional.
969 Added const qualifiers
973 Added kludgy xcopy support
975 Only skip sys_errlist declaration on NetBSD (some older
976 platforms might need this)
978 Upgraded to autoconf 2.12, fixed some Stallmanisms.
979 Added device entry for LynxOs.
981 Use gettimeofday before tzset (for BSD).
983 Use correct location of signal.h. Removed declaration
986 BEOS patches by Marco Nelissen
987 Removed some clashing prototypes
989 Prints privilege debugging message to stderr, and reopens SCSI
990 file with root privileges.
992 Fixed typoes in mzip. Added pointer to html doc.
994 Fixed Linux Scsi ioctl.
996 Added warnings against cookies, fixed doc to reflect new set-uid
999 Fixed typoes in privilege routines, and removed Heisenbergian
1000 parts of the debugging code.
1002 Deleted prototypes for random() and srandom(): they *did*
1003 clash (on a DEC Alpha)
1005 Solaris & SunOS privilege management. Fixed date entries in
1010 Cosmetic mzip fixes. Add pointer to info doc to mtools.1
1012 ISC addition. Doc fix for set_parameters ioctl.
1016 Replaced zip_* by scsi_*, as these functions are not
1017 specifically relevant to the ZIP (they apply to the JAZ as
1019 Fixed documentation on -n flag for mcopy
1021 Include termio before termios because of SCO
1023 Do not declare timezone external variable on Ultrix, where it
1024 has a different type.
1026 Changed floppy into rfloppy for HP/UX.
1028 Added -Q option to mcopy, which aborts copying multiple files
1029 as soon as an error for one file is encounteres
1030 Removed useless -i option for mcopy
1031 Small devices.c portability fixes (ultrix and hpux)
1033 Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
1034 Renamed mtest to mtoolstest to please pine.
1036 Added warning about running mtools with root privs.
1038 Fixed uninitialized variable in fat.c and added example for Sun
1041 Fixed comment in scripts/tgz
1043 Fixed partition handling code (yes, again!)
1044 Added code to handle ZIP disks on Solaris/SunOS (many thanks
1045 to James P. Dugal (jpd@usl.edu))
1047 Proper permissions for main directory.
1049 Renamed scripts/gz to scripts/tgz
1051 Added raw devices for Solaris, apparently more performant
1052 Test first for tzset in autoconfigure (Solaris)
1054 Segment fault due to change of buffer size fixed
1055 E-mail address fixed
1057 Lots of portability fixes.
1059 Yet another typo fix for the partition table code. Oh Gawd,
1060 will this never stop?
1061 Fix for proper .mcwd pathname concatenations
1063 Backed out partition table "fix": the original code was right
1066 Corrected a few uninitialised variables
1068 Corrected doc about devices file.
1070 Added pointer to the doc to the README file
1072 Partition table parsing fixed
1074 Fujitsu DS/90 (UXP) support
1077 dispatcher cleanup in mtools.h
1078 fat_bits 12/16 toggle fix.
1079 More space for error message variable in mformat
1082 Fix for CPU names with dots in autoconfigure
1083 Some new device descriptions
1086 Set XDF mode when formatting an XDF disk (makes sense, after all...)
1088 XDF seems to work. Yeah!
1090 More ED fixes. More parameter size fixed for 64bit.
1092 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1095 Make vold and "raw" floppy drive accessible simultaneously on
1096 Solaris by calling one A: and the other B:
1097 Add missing mbadblock LINK in Makefile.in
1099 Inserted missing newline character
1101 Treat number of heads or sectors as chars. The BIOS wouldn't
1102 allow bigger numbers anyways, thus big numbers are probably
1106 Geometry setting for HP/UX
1108 Changed auto array in codepage to malloc'ed one in order to
1109 work around buggy compilers
1111 Pointers to other doc in the INSTALL file
1113 Do no longer be confused by deleted VSE's
1114 Define MAXPATHLEN for SCO
1115 Missing lockf prototype for SCO
1117 Handle DEBUG flag by autoconf
1118 Added Host vendor to compile flags in order to handle Sinix
1119 Better Sinix handling in devices.c
1120 Only print duplicate VSE messages when running with DEBUG
1121 Fix mlabel exit code
1124 Xcopy fixes for Sysv
1128 pre4-3.0. Lots of bug fixes. Texinfo file
1132 use autoconf to get rid once and for all of those pesky OS
1135 use sys/termio instead of sys/termios to please AIX
1137 more spelling fixes.
1141 Mmount arg parsing bug fix
1143 New partition configuration variable.
1145 Spelling fixes, removed warning in README, IRIX floppy devices
1147 More Alpha streamlining
1149 Alpha patches (64 bit clean-ness)
1150 AIX patches (built in drive names)
1151 Raw tty patches (no need to type return when confirming an action
1154 Replaced include strings.h by string.h everywhere where applicable
1155 Changed thousands separator in mdir from a dot to a space to
1156 please both Americans and Europeans.
1157 Fixed memory allocation bug if no "constant device" is present.
1158 #defined strtoul to atol for SunOS
1160 Minor cleanup, released 2.5.4
1162 Added "magic" header to manpages to have man run them through tbl
1164 MTOOLS_LOWER_CASE is back, various small bug fixes over
1167 Bus strike in Grenoble! Well, let's do something useful and
1168 re-arrange the configuration file syntax :-)
1169 The syntax has become much more flexible now, and also
1170 includes items which used to be only accessible via
1171 environmental variables.
1172 Moreover, it is now possible to include character translation
1175 Fixed another Atari disk bug: Atari disks sport a bogus
1176 "number of hidden sectors"
1178 Fixed missing zero-terminator in autorenamed long names
1179 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1181 Fixed small quoted-printable-induced typo in the Makefile.
1183 Folks, please don't use quoted-printable. It sometimes changes
1184 the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1185 Case in point: £400 gets transformed into =A3400, which looks
1186 like 3400 pounds to a person unaware of this MIME "feature".
1189 Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1192 Added ability to do mcopy e: to copy all files from the root
1194 New Xdf-less Linux target in the Makefile
1195 Relaxed sanity check to let pass wonky Atari disks whose FAT
1196 begins with 3 zero bytes.
1197 Make the check of the initial fat bytes conditional on
1199 Corrected "testna=" bug
1200 Upped minimal sector size to be 256 (instead of 128). This
1206 Ability to mformat 2m disks
1208 Xdf bug fix (dev parameters always set to Xdf, even if it
1209 wasn't really an Xdf disk)
1210 Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1212 Centralizing most env-var handling.
1213 Update of the mtools manpage.
1214 Xdf is now optional, and only active if MTOOLS_USE_XDF is
1215 set. Saves a few milliseconds of startup time on non Xdf
1217 Some lawyer-proofing, just in case :)
1219 Fast xdf code (finally!)
1220 Minor performance enhancements here and there.
1221 Names which are all lower case now generate a long name entry
1222 (according to Steve Searle, that's how Win'95 behaves).
1224 Character translation table fixes. Other name fixes.
1226 Put restrictions on long names to better match Win'95.
1227 (suggested by Steve Searle)
1228 Reworked autorename code. Catch SIGHUP signal
1229 Added missing file close to main loop
1230 Changed name of the "ask for action" command line flag to 'm',
1231 and used 'a' for 'Autorename'.
1233 Removed infinite loop bug in hash.c, which occurred when the
1234 hash table was filled with deleted entries.
1236 added Atari ST-style serial numbers (they live in the banner)
1237 fixed a troff bug in mtools.1
1238 Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1240 v2.5.3 released (after lots of fixes)
1244 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1245 mattrib.c: initialized "code" to avoid complaint by GCC
1247 Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1248 init.c: fs_init(): initialized disk_size to 0. The section
1249 which previously initialized this is ifdef'd out. Why?
1250 Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1251 Gee, the Makefile is pretty ugly! It might be good to start
1252 thinking about autoconfigure, or at least some cleanup.
1253 Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1254 msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1255 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1256 devices.c: use %i instead of %d to allow different bases
1257 parse.c: Changed comment for get_name()/get_path(); need to
1258 revisit this after deciding on default case behavior
1259 devices.c: load_devices(): fixed bad fprintf, line 748
1260 parse.c, mformat.c, misc.c: replaced expressions like
1261 "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1267 Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1268 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1274 v19950822 v2.5 released
1277 Change null-fill for unused remainder of VSE to 0xff fill for
1278 both upper and lower character (just one null for termination)
1279 This seems to better match Win95's behavior; Win95 had been
1280 complaining about bogus characters
1281 file_name.c: unicode_write()
1284 Commented out enforcement of VSEs being in order. Win95 likes
1285 to put them exactly backwards, so we'd better tolerate getting
1286 them any way they might come! Not sure what is lost by losing
1287 these checks, but it seems to be OK.
1289 directory.c: dir_read()
1291 Copying and distribution of this file, with or without modification,
1292 are permitted in any medium without royalty provided the copyright
1293 notice and this notice are preserved.