2 - Remove libbsd dependency
3 - Better compatibility with legacy platforms such as AT&T UnixPC
4 - Upgraded to autoconf 2.71
6 - Rename strtoi to strosi (string to signed int). The strtoi
7 function on BSD does something else (returns an intmax, not
10 - Make sure case byte is cleared when making the special
11 directory entries "." and ".."
13 - Removed mclasserase commands, which doesn't fit the coding
14 structure of the rest of mtools
15 - Add support to -i option to mcd
16 - Document -i in mtools.1
17 - Fix a missing command error in floppyd_io.c
20 - Fix error status of recursive listing of empty root directory
21 - If recursive listing, also show matched files at level one
22 - Use "seekless" reads & write internally, where possible
23 - Text mode conversion refactoring
27 - Fix cluster padding at end of file in batch mode, and add
28 comments about what happens here
34 - Fix support for partitions (broken in 4.0.30)
35 - Portability fixes for Solaris 10 and 11
36 - General simplification of configure script, and largefile handling
37 - Tested and fixed for platforms *without* largefile support
38 - In cases where lseek works with 32-bit offsets, prefer
40 - Fixed floppy sector size handling on platforms that are not
42 - Added support for image files on command line to mcat
45 - Simplify algorithm that choses filesystem parameters for
46 format, and align it more closely with what Win7 does
47 - Fix mformatting XDF when XDF not explicitly specified on
49 - easier way to enter sizes on mformat command line (mformat -C -T
51 - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
53 - Handle attempts to mformat too small filesystems more gracefully
54 - Enable minfo to print out additional mformat command line
55 parameters, if the present filesystem uses non-default
57 - minfo no longer prints bigsect if smallsect is set
58 - for remap filter, error when trying to write non-zero data
60 - Fix misc compilation warnings occuring when disabling
61 certain features (largefiles, raw-term)
64 - Move Linux-specific block device sizing code into
65 linux-specific section of devices.c
66 - Error messages for all failure cases on fs_init failure
67 - Fix compilation without XDF support (OpenImage signature)
68 - Fix polarity of format_xdf command-line parameter of mformat
69 - In XDF_IO retry enough times to actually succeed, even if
70 FDC was in a bad state before
71 - Remove useless buffer flushing triggered when giving up a
72 reference to a stream node that is still referenced
74 - Clearer error message if neither size nor geometry of drive
75 to be mformatted is known
76 - In mformat, make Fs dynamically allocated rather than
77 on-stack, so as to be able to use utilities supplied by
79 - Remove duplicate writing of backup boot sector
80 - Allow to infer geometry if only size is specified
81 - Protect against attempt to create zero-sized buffer
82 - Code simplification in mattrib
83 - Remove dead code in mpartition
86 - Fixed XDF floppy disk access
87 - Fixed faulty behavior at end of image in mcat
88 - Device/Image size handling refactoring
89 - allow remap to write to zero-backed sectors (may happen if
90 buffer is flushed, and is not an error in that case)
91 - Raise an error when trying to mcopy multiple source files
92 over a single destination file (rather than directory)
93 - fix handling of "hidden" sectors (is a 2 byte quantity on
94 small disks, not 4 byte as previously assumed)
95 - Modernize partition support. Tuned consistency check to
96 actually check about important issues (such as overlapping
97 partitions) rather than stuff nobody else cares about
98 (alignment on entire cylinder boundaries)
99 - Move various "filter" options (partition, offset, swap,
100 scsi) into separate classes, rather than leaving almost
101 everything in plain_io
102 - Simplify and centralize geometry handling and LBA code
103 - Fix some more more compiler warnings
105 - Fix bug in cluster preallocation, which was accidentally introduced
106 by compiler warning "fixes" from v4_0_28
108 - Support remapping of data (for not-quite linear floppy image files)
109 - Re-open floppy devices read-write if geometry parameters need to
111 - relax consistency checks in mpartition (partitions created
112 by current fdisk would almost never pass these checks)
113 - Fix some compiler warnings
115 - Fix type error in calls to iconv functions
117 - Fix compilation on Macintosh
118 - Ignore image file locking errors if we are performing a
119 read-only access anyways
120 - Minor man-page fixes
122 - Preserve non-updated contents of info sector, just in case
123 it contains program code
124 - When parsing config file, always use "C" locale for
125 case-insensitive comparisons
127 - Spelling fixes in documentation
128 - Permit calling "make install" with >= -j2
129 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
131 - Address lots of compiler warnings (assignments between different types)
132 - Network speedup fixes for floppyd (TCP_CORK)
134 - Explicitly pass available target buffer size for character
137 - Fixed -f flag for mformat (size is KBytes, rather than sectors)
138 - Fixed toupper/tolower usage (unsigned char rather than plain signed)
140 - Fixed compilation for MingW
141 - After MingW compilation, make sure executable has .exe extension
142 - Addressed compiler warnings
143 - Fixed length handling in character set conversion (Unicode file names)
144 - Fixed matching of character range, when containing Unicode
145 characters (mdir "c:test[α-ω].exe")
146 - Fixed initialization of my_scsi_cmd constructor
148 - initialize directory entries to 0
149 - bad message "Too few sectors" replaced with "Too many sectors"
150 - apostrophe in mlabel no longer causes generation of long entry
151 - option to fake system date for file creation using the
152 SOURCE_DATE_EPOCH environment variables
154 - can now be compiled with "clang" compiler
155 - fallback function for strndup, for those platforms that don't have it
156 - fixed a number of -Wextra warnings
158 - new compressed archive formats for uz/lz
160 - allow to specify number of reserved sectors for FAT32.
161 - file/device locking with timeout (rather than immediate failure)
162 - fixed support for BPB-less legacy formats.
163 - removed check that disk must be an integer number of tracks.
165 - removed .eh/.oh macros from manual pages
167 - Fix for short file names starting with character 0xE5
168 (by remapping it to 0x5)
169 - mpartition: Partition types closer to what Microsoft uses
170 - mformat: figure out LBA geometry as last resort if geometry
171 is neither specified in config and/or commandline, nor can be
172 queried from the device
173 - mformat: use same default cluster size by size as Microsoft
175 - additional sanity checks
176 - document how cluster size is picked in mformat.c man page
177 - document how partition types are picked in mpartition.c man page
179 Fix for names of iconv encodings on AIX
180 Fix mt_size_t on NetBSD
181 Fixed compilation on Mingw
182 Fixed doc (especially mformat)
183 Fix mformat'ing of FAT12 filesystems with huge cluster sizes
184 Minfo prints image file name in mformat command line if an image
186 Always generate gzip-compressed RPMs, in order to remain
187 compatible with older distributions
188 Fixed buffer overflow with drive letter in mclasserase
190 mbadblocks now takes a list of bad blocks (either as sectors
192 mbadblocks now is able to do write scanning for bad blocks
193 mshowfat can show cluster of specific offset
194 Enable mtools to deal with very small sector sizes...
195 Fixed encoding of all-lowercase names (no need to mangle
197 Consider every directory entry after an ENDMARK (0x00) to be deleted
198 After writing a new entry at end of a directory, be sure to also add
201 Deal with possibility of a NULL pointer being returned by
202 localtime during timestamp conversion
205 fixed formatting of fat_size_calculation.tex document
206 compatibility with current autoconfig versions
207 Make it clear that label is limited to 11 characters
208 Fixed typo in initialization of FAT32 info sector
210 Added missing -i option to mshortname
211 Split .deb package into mtools and floppyd in order to
214 New mshortname command
215 Fix floppyd for disks bigger than 2 Gig
216 Remove obsolete -z flag
217 Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
218 Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
219 Mformat now correctly writes backup boot sector
220 Fixed signedness of serial number in mlabel
221 Fixed buffer size problem in mlabel
222 Make mlabel write backup boot sector if FAT32
223 Catch situation where both clear and new label are given to mlabel
224 Quote filename parameters to scripts
225 Mformat: Close file descriptor for boot sector
226 Added lzip support to scripts/uz
227 Added Tot_sectors option to mformat
228 Fixed hidden sector handling in mformat
229 Minfo generates mformat command lines containing new -T option
230 Mlabel prints error if label too long
232 Merged Debian patches
234 Mingw compatibility fixes
236 Fixed compiler warnings in mlabel.c and elsewhere
237 Fixed h flag in mattrib.c
238 Added missing error checking in floppyd and elsewhere
241 More copyright stuff...
242 Fixed issues with max filesize (was 2GB instead of 4GB, and
243 warned only after copying the beginning)
247 Corrected copyright attributions in the various files
249 Fixed conversion to native on OS/2
250 Fix parsing of --help flag
252 Fallback for missing wchar_t iconv codepage on OS/2
253 Fixes for LSEEK64 support
254 Support for --help that returns a 0 exit status
256 Make setpgrp() usage in floppyd conditional
257 Re-instate PACKED around structure (ARM)
261 BSD support: SCSI, use getuserid/getgroupid in floppyd
262 Another attempt at putwc fix for OS/2
264 Fallback for putwc if there is wchar (OS/2)
266 Fix multipart pathname parsing bug in vfat.c (forgot limited length)
267 Supplied fallback define for putwc
268 Copyright notices in all sources
270 Off-by-2 error in unix_name in file_name.c
272 Missing functions on Solaris
274 Offset for -i-specified image files
276 Use transliteration to represent characters which don't exist in
279 Mtools-4 with Unicode support
283 Fixed security issue with doctored file names
284 64 bit compilation fixes
286 Fixed misc blunders...
288 Fixed lots of minor items raised by gcc4
289 Merged some of the BSD patches
290 New version of amuFormat.sh written in sh rather than csh
291 Support for config parameters after -i file
294 Added sizecode printing on minfo
295 In mformat manpage, use same flag for sector number than printed in
297 Limit sizecode to 6, else it will overflow max sector size defined in
300 Applied mingw patch by Jamey Sharp and Josh Triplett
302 Fixed doc about /etc/default
304 Fixed mlabel on read-only disks
306 Merged Redhat/Fedora patches
308 #ifdef linux-dependent code in mformat.c
311 Fix reading of boot sector (block size)
313 Do no longer open floppy devices with O_EXCL, in order to enable
314 work-around against broken cache.
316 If no info dir exists at all, assume dir
324 Solaris 8 compatibility
328 Support for multiple drives in floppyd
332 Fixed some long name directory entry freeing bugs
334 Fixed duplicate FAT writing error. Fixed segfault on short images.
335 Mformat creates images of correct size.
336 CYGWIN compatibility (O_BINARY flag).
338 Cygwin patch for plain_io.c (no locking)
340 Fix a couple of memory leaks in config file parsing. Fix llong.h
341 (redefined same symbol twice)
342 Fix a variable initialization problem in plain_io.c
343 New mclasserase command to erase memory cards
346 Fix rootskip and rate of XDF disks
348 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
350 Moved putc after variable description (anybody knows about a -W
351 flag so that gcc warns about these?)
353 Fixed mattrib -p (missing slash)
355 Added -m option to mformat to specify a non-standard mediabyte
357 Added -d options to mformat to specify number of FAT copies. Can
358 also be set using the MTOOLS_NFATS environmental variable.
359 Also added similar env variable for root directory length
360 Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
361 CYGWIN fixes for mcat
364 Released 3.9.9 : Identical to pre-3.9.9 except for the version number
367 Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
368 Improved fat_len calculation
369 Fixed plain_io.c bug (Swap byte applied after partition stuff,
372 Fixed mcat end-of-file bugs (mcat went on writing, and writing,
373 and writing, even after end of file)
375 If "standard" CHS specified, but non-standard root dir size do not
376 use table-lookup based geometry ("old-dos media descriptor")
378 David's new uz script, that can use commands other than gzip for
381 Fixed vold support for mpartition
383 Added PACKED to unicode_char declaration (Arm)
384 Mpartition can now create the image if -I is specified.
386 Support for geometry-less Atari disks
387 Support for byte-swapping disks
389 Avoid .(l and .)l in generated man pages
393 Fix [] wildcard off-by-one error
394 Avoid overwriting (Unix) file by itself in mcopy
395 Avoid cloberring any file if implicit target is used (the
396 one-argument syntax of mcopy)
397 Added Zip 750 entry to mzip.c
401 Fixes in buffer.c for oddly sized image files
402 Mformat.c fixes to avoid making images which would not be
405 Warn for invalid partition numbers
407 Released pre6-3.9.8 : getting rid of linux-gnu references is
408 almost as difficult as exorcising the devil...
410 Released pre5-3.9.8 after fixing a couple of version numbers
412 Applied Adrian Bunk's patches, minus the Stallmanisms.
413 De-stallmanized config.gues and config.sub files
416 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
418 Fixed #ifdef DEBUG statements, pre2-3.9.8
422 Updated config.guess/config.sub to support Darwin
423 Patch for converting contents of files from/to Dos' version of
425 Fixed bug in to_unix function
427 Updated freebsd floppy device definitions
429 Fixes for floppyd to work with current protocol version of floppyd
431 Fixed parsing of Unix filenames ending with slash
433 Fixed file closing of floppyd
435 Fixed a cindex entry in documentation
437 Rewrote PDF rule to use pdflatex, rather than go through dvi
438 (pdflatex output looks nicer)
440 Fixed JAZ Zip file overwrite bug (actually, this bug could occur
441 on any disk reasonably full...)
443 Fix mzip manpage to include Linux in the list of supported OS'es
445 Protect against division by zero when reading BSD disks...
449 Hurd openflags fix in mainloop.c
450 Added description for t option to mcopy man page
451 Added -lbsd to list of libraries to be tested for LynxOS
452 Unset LANG in mkmanpages
453 Updated config.gues/config.sub
454 Removed stale documentation for xcopy
455 Fixed typo in mformat man page
457 Zip 250 support in mzip
461 Variable initialization in mdir.c
463 Do not use offset_t on AIX ==> broken
465 Large disk fixes, especially for Solaris
467 Released Mtools-3.9.7
469 Mtools-pre2-3.9.7 released: some potential buffer overflows
471 Mtools-pre-3.9.7 released
473 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
476 Fixed a couple of floppyd bugs
478 Added texclean to make distclean, added new "pdf" target.
480 Did away with ipaddr_t and replaced it with IPaddr_t which is
481 guaranteed not to crash anywhere...
483 Defined geometry for default a: devices on Linux and Solaris with vold
485 Carefully navigate Solaris' polluted namespace...
487 Suppressed bogus error message when mcopying to an existing file.
489 Fixed mformat problem with Fat32 (mformat didn't initialize the
490 label and fat type fields in the boot sector, and the other mtools
491 utils didn't check them)
493 Fixed two more scandisk problems:
494 - the infosector should end with 0x55aa
495 - When deleting a file, be sure to DELMARK the VSE's as
496 well as the main entry
498 Fixed an evasive Fat32 bug: a parent directory entry pointing to
499 the root should have an address of 0 instead of the more logical 2
501 Corrected mdir error handling
502 Fixed a bug in mren (problem when renaming short file names)
504 Corrected a typo in error handling
506 Fixed size problem with Ctrl-Z.
508 (No joke): avoid setting volume serial number on "Old Dos" disks
510 - Re-aligned command line options with Dos
511 - New -n/-N option for mlabel to change volume serial numbers
512 - Mattrib -p escapes file names in order to handle file name
514 - Changed mformat serial number format
517 - Mtools would never completely use all directory slots, because
518 it overestimated space consumption by 1
519 - Mtools did not initialize the stat struct for pipes, and thus
520 gave occasionnally bogus "Disk full" error messages
522 Rearranged tty open call so that it is only opened when actually
525 Added special case for 0xf7 media descriptor
527 Make O_NDELAY conditional everywhere
529 Return correct return value from mt_lseek, even if off_t is a 64
532 Treat OpenBSD the same as NetBsd
534 Released 3.9.6 with the following fixes:
536 - Make Xdf work in nodma mode
537 - Fix for mformatting MSS disks
539 1st attempt to release 3.9.6 with mostly minor fixes:
540 - platform compatibility
541 - automatic installation of info files
542 - mdir's -X flag no longer implies "recursive"
544 3.9.5 released with mostly minor fixes:
545 - Starting cluster numbers of "." directory entry
546 - Copying of empty Files from Dos to Unix
547 - Misc platform compatibility issues
549 Another embarrassing bug found, 3.9.4 released. When will this
552 Mtools 3.9.3 released
554 Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
555 Glibc problems are potentially dangerous, and can lead to data loss.
557 Mtools 3.9.2 released
559 Fixed typo in plain_io.c
561 More rigor about signed vs unsigned issue. FreeBSD Scsi support
563 Allow for 2GB Jaz drives
565 Rewrote floppyd in C instead of C++
575 Make sure that fat_type doesn't overwrite byte 62 with zero =>
578 Added support for "replay" listing of mattrib. Cleaned up version
579 number and date handling (date was not always accurate...)
581 Added geometry autodetection code for Linux harddisks to
582 mpartition and mformat. Removed misleading references to
583 "non-removable media"
585 Added boot sector template option for mpartition. Fixed mtools.1
586 man page. Mattrib -s e:/ fix
590 Fixed HP SCSI "big write" bug
592 Fixed debug mode in vfat.c
594 A few minor floppy related fixes (installation, and replacement
595 for setenv function, which is absent from some platforms)
597 Added floppyd (remote access to floppy disks)
599 Updated mkmanpages script to dynamically get date and mtools
600 version. Correct "removable media" error message to talk about
601 /etc/mtools.conf instead of /etc/mtools. Do init_geom to read
602 geometry if no geometry is set.
604 Mtools 3.9.1 released
606 Mformats makes disks which are readable both as partitioned and as
609 Corrected Tim Hoogasian's e-mail address
613 "Dirty end too big" mformat bug corrected
615 Corrected typoes for IRIX devices, use macros for attribute types,
616 fix 0 length file bug.
619 Bigger array for SCSI command
623 OS/2 portabilty, GLIBC portability
625 Fixes related to Solaris new vold support
627 Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
628 CFLAGS for those makes that don't support implicit rules well enough
632 Various Bugfixes (overwrite mode and directory cache)
634 Added mformat_only flag.
636 Fixed non-batchmode mcopy bug. Fixed shortname case bug
638 Minfo and mformat boot program bug fixes
640 Allow default block sizes per device which are not equal to 512
642 Allow and interpret back quotes in file names
646 Scandir optimizations. Fixed nasty Heisenbug in hash.c.
648 Fixed integer width problem in fat.c, and minor bugs in hashtable.
650 More performance optization. Buffer handl
654 Fixed mtype and mcheck. Started cleaning up out-of-memory handling
656 Jacked up performance, and corrected signal handling bugs. Also
657 corrected various "Disk full bugs"
659 Fixed "Bad address" errors which occurred when running mdu on empty
660 files. When copying recursively, do not barf if a directory
661 already exist at the target. Mcopy operates silently by default.
663 removed mwrite. Obsoleted long ago by mcopy
665 fixed mdir -X, added mattrib -X; document both. Fix doc for name
668 fixed polarity of sys_errlist. Renamed some include files which
669 bore the same name as system include files. Fixed another
670 memory leak in dir_grow. A/UX termio workaround.
672 fixed filedescriptor leak. Make mbadblocks stoppable. Doc
673 fixes. Fixed one memory leak, another one further down the road
674 remains... Fixed error handling in createDirectory.
676 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
678 Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
679 version. No actual code change apart from patchlevel.h
681 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to
682 mkmanifest. Fixed mpartition bug with partitions with more
685 Pre-3.9. Redid the mainloop logic, and got rid of lots of cruft
686 in subdir.c and parse.c. It is now possible to put wildcards in
687 the directory part of the filename. Design also became simpler,
688 making it easier to maintain this part in the future.
689 Added a -u flag to mzip to temporarily unprotect a disk
690 Added a test to mzip to prevent manipulation of mounted disks
691 Added support for partitioned devices in mmount
693 Added mdu and recursive mdir
695 Fixed bugs in recursive copy stuff, added recursive mattrib, and
696 fixed a few buffer overrun bugs
698 Added recursive copy and attribute conservation flags to mtools
702 Include Sys5 directories on SunOs in order to have a correct
708 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
710 Corrected gross bug in fat12_decode
712 Simplified fat bits handlings
716 Buffer.c and FAT bugfixes
718 More FAT32 fixes. New mshowfat command.
720 Fix FAT32 problem (FAT32 does not use the high nibble)
722 Detect presence of sys_errlist using autoconf instead of
723 making its usage dependent on BSD.
725 Guard against corrupted "next free block" pointer in a FAT32
728 Use root privileges during scsi_init
730 Fixed close-on-exec bug.
732 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
735 Fixed Makefile so that make -j works without errors. Fixed
736 upper/lower bug in mmount
740 Add option to mformat to keep boot sector, or to read it from
741 a file. Added various flags to customize directory listing
742 appearance and long name behavior
744 Fix bug in yesterdays fix. Also make sure to resize hash
745 table if too many deleted entries accumulate.
747 Fixed yet another hash table bug
749 Yet another HPUX fix.
751 Fixed a segfault in mpartition
753 Removed a few Stallmanisms in config.guess
757 Corrected a few errors in new vold code
759 Removed extra &'s from string addresses.
760 Added listing of current configuration to mtools -V
761 Updated version number and date in mkmanpages
763 New Bebox patch. Removes almost all BEBOX specifities because
764 they are no longer needed with the new DR9 release.
765 Small fix for size detection of SCSI disks.
767 Fixed small typo in new vold code
769 Added partition consistency checks for accessing device.
771 New version of Solaris vold code
773 Solaris floppy geometry. Support for older MO disks (size
774 returned in non-standard location)
775 Corrected ftp address for fdutils
779 Brought Makefile.Be and config.h.Be up to date with the recent
782 Add Ultrix to the list of OS'es which do not define their
786 Various "Next proofintg".
787 * add VENDOR_, CPU_ and OS_ before machine type tags
788 detected by autoconf. Next tends to be a frequently
790 * use utimes preferably before utime
791 * try to include _all_ termios functions.
792 * more precise detection of available termios functions
794 Added knowledge of Zip Tools Disk password to mzip.
796 Went back to using ALLCFLAGS in Makefile for those people who
797 want to override CFLAGS
799 Added note about Alpha site to doc.
801 Prefer termios.h on Ultrix
803 Renamed missing_functions to missFuncs in order to accommodate
804 operating systems with file name size limits.
806 Autoextend size for images that are too small. Moved BSD
807 dependent #ifdef's after the inclusion of sys/param.h, as it
808 is there where BSD is defined (sigh!)
810 Insist on the fact that mzip's -f flag only makes sense if
811 given in addition to -e
813 Corrected typo in doc.
815 Removed read and write prototypes, they conflict on an Alpha!
821 Do not stat any files in /dev/ on BEOS. Remove spurious system
822 include files from non-sysincludes.h file
826 Added Sunos4 and SCO support to scsi.c. Use tzset before
827 gettimeofday, except for BSD. Use Z: for a Zip drive, and J:
828 for a Jaz drive instead of D: for both. Added machine
829 specific libraries and CFLAGS for A/UX.
831 Various A/UX fixes. Changed scanning order for termio and
832 termios due to problems with the other order on A/UX.
834 Print error message for wrong password.
836 Include mzip man page
838 Document new config flags introduced in 970204.
839 On systems not supporting euid, do not bail out if both euid
842 Prevent mmove from moving directories into themselves in order
843 to keep a tree-like directory structure
845 Fixes for mtools_no_vfat
847 Additional config file pointed by MTOOLSRC; possibility to
848 switch off generation of VFAT long names.
850 HP/UX setresuid support. "Mcopy a: ." bugfix.
852 Renamed f_* functions into file_* in order to avoid a clash
853 with a preprocessor macro named f_data on AIX.
855 Released 3.5, Solaris compatibility fix w.r.t. memmove
859 Fixed location of configuration file in doc.
863 More BSD & 64 bit changes
865 Added at_exit implementation for those boxes who have neither
866 on_exit nor atexit. Added check to make sure the compiler
867 handels structures in a sane way.
869 Backed out again of the traditional-cpp change on
870 larry.jones@sdrc.com's advice
872 Added traditional-cpp in order to make mtools compilable on a Sun
876 BEOS fixes and support for SCSI devices with a sector size
879 Fixed some preprocessor macros. Added texclean macro to Makefile
881 Clarified the documentation about the Bebox.
885 Made Makefile "AIX-proof". Added precmd to config.c
889 Osf4 support. Released 3.2
891 Fixed Makefile typo, and fixed various bugs with renaming or
892 moving dot or dot dot
894 Fixed streamcache.c bug
896 Added add-disk script and format.dat file
898 Fixed mrd e:xxx/, tested Xdf support
900 Strange mformat fixes... Dos always seems to assume a cluster
901 size of at least 8 sectors and 512 root directory entries. Sigh!
903 FAT32 support, BeOS patches
905 Added more debugging code to mpartition and minfo. Added
906 "packed" attribute to the partition structure.
907 Cleaned up argument handling.
909 Fixed partition removal bug in mpartition.c
911 Fixed streamcache allocation bug. Clearer error message when
912 trying to access a non-existant partition.
914 Added "packed" attribute to some fields of the vfat_subentry
915 structure, in order to work around a bug in a gcc version for
917 Use getpass() for password prompting in mzip.c
919 Various small bug fixes
921 Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
922 Relaxed security in mpartition.c, so non-root users may print
923 a partition, or perform any local changes to it.
924 Mpartition now prints info to recreate partition.
926 Add mpartition command to partition Zip, Jaz and other Scsi
928 Chose between on_exit or atexit using autoconf.
930 Added minfo command to print disk geometry and other parameters.
932 Replaced atexit by onexit. Atexit barfed on SunOs.
933 Replaced O_RDWR flag in mzip with O_RDONLY.
934 Added precmd variable to execute commands before opening a
937 Shortened README, segregated config file pathnames into a
940 General cleanup, more enhancements to privilege handling.
942 Added debugging output to mzip.
943 Made expand.c safe and still compatible with suid operation.
945 Made device locking optional.
947 Added const qualifiers
951 Added kludgy xcopy support
953 Only skip sys_errlist declaration on NetBSD (some older
954 platforms might need this)
956 Upgraded to autoconf 2.12, fixed some Stallmanisms.
957 Added device entry for LynxOs.
959 Use gettimeofday before tzset (for BSD).
961 Use correct location of signal.h. Removed declaration
964 BEOS patches by Marco Nelissen
965 Removed some clashing prototypes
967 Prints privilege debugging message to stderr, and reopens SCSI
968 file with root privileges.
970 Fixed typoes in mzip. Added pointer to html doc.
972 Fixed Linux Scsi ioctl.
974 Added warnings against cookies, fixed doc to reflect new set-uid
977 Fixed typoes in privilege routines, and removed Heisenbergian
978 parts of the debugging code.
980 Deleted prototypes for random() and srandom(): they *did*
981 clash (on a DEC Alpha)
983 Solaris & SunOS privilege management. Fixed date entries in
988 Cosmetic mzip fixes. Add pointer to info doc to mtools.1
990 ISC addition. Doc fix for set_parameters ioctl.
994 Replaced zip_* by scsi_*, as these functions are not
995 specifically relevant to the ZIP (they apply to the JAZ as
997 Fixed documentation on -n flag for mcopy
999 Include termio before termios because of SCO
1001 Do not declare timezone external variable on Ultrix, where it
1002 has a different type.
1004 Changed floppy into rfloppy for HP/UX.
1006 Added -Q option to mcopy, which aborts copying multiple files
1007 as soon as an error for one file is encounteres
1008 Removed useless -i option for mcopy
1009 Small devices.c portability fixes (ultrix and hpux)
1011 Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
1012 Renamed mtest to mtoolstest to please pine.
1014 Added warning about running mtools with root privs.
1016 Fixed uninitialized variable in fat.c and added example for Sun
1019 Fixed comment in scripts/tgz
1021 Fixed partition handling code (yes, again!)
1022 Added code to handle ZIP disks on Solaris/SunOS (many thanks
1023 to James P. Dugal (jpd@usl.edu))
1025 Proper permissions for main directory.
1027 Renamed scripts/gz to scripts/tgz
1029 Added raw devices for Solaris, apparently more performant
1030 Test first for tzset in autoconfigure (Solaris)
1032 Segment fault due to change of buffer size fixed
1033 E-mail address fixed
1035 Lots of portability fixes.
1037 Yet another typo fix for the partition table code. Oh Gawd,
1038 will this never stop?
1039 Fix for proper .mcwd pathname concatenations
1041 Backed out partition table "fix": the original code was right
1044 Corrected a few uninitialised variables
1046 Corrected doc about devices file.
1048 Added pointer to the doc to the README file
1050 Partition table parsing fixed
1052 Fujitsu DS/90 (UXP) support
1055 dispatcher cleanup in mtools.h
1056 fat_bits 12/16 toggle fix.
1057 More space for error message variable in mformat
1060 Fix for CPU names with dots in autoconfigure
1061 Some new device descriptions
1064 Set XDF mode when formatting an XDF disk (makes sense, after all...)
1066 XDF seems to work. Yeah!
1068 More ED fixes. More parameter size fixed for 64bit.
1070 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1073 Make vold and "raw" floppy drive accessible simultaneously on
1074 Solaris by calling one A: and the other B:
1075 Add missing mbadblock LINK in Makefile.in
1077 Inserted missing newline character
1079 Treat number of heads or sectors as chars. The BIOS wouldn't
1080 allow bigger numbers anyways, thus big numbers are probably
1084 Geometry setting for HP/UX
1086 Changed auto array in codepage to malloc'ed one in order to
1087 work around buggy compilers
1089 Pointers to other doc in the INSTALL file
1091 Do no longer be confused by deleted VSE's
1092 Define MAXPATHLEN for SCO
1093 Missing lockf prototype for SCO
1095 Handle DEBUG flag by autoconf
1096 Added Host vendor to compile flags in order to handle Sinix
1097 Better Sinix handling in devices.c
1098 Only print duplicate VSE messages when running with DEBUG
1099 Fix mlabel exit code
1102 Xcopy fixes for Sysv
1106 pre4-3.0. Lots of bug fixes. Texinfo file
1110 use autoconf to get rid once and for all of those pesky OS
1113 use sys/termio instead of sys/termios to please AIX
1115 more spelling fixes.
1119 Mmount arg parsing bug fix
1121 New partition configuration variable.
1123 Spelling fixes, removed warning in README, IRIX floppy devices
1125 More Alpha streamlining
1127 Alpha patches (64 bit clean-ness)
1128 AIX patches (built in drive names)
1129 Raw tty patches (no need to type return when confirming an action
1132 Replaced include strings.h by string.h everywhere where applicable
1133 Changed thousands separator in mdir from a dot to a space to
1134 please both Americans and Europeans.
1135 Fixed memory allocation bug if no "constant device" is present.
1136 #defined strtoul to atol for SunOS
1138 Minor cleanup, released 2.5.4
1140 Added "magic" header to manpages to have man run them through tbl
1142 MTOOLS_LOWER_CASE is back, various small bug fixes over
1145 Bus strike in Grenoble! Well, let's do something useful and
1146 re-arrange the configuration file syntax :-)
1147 The syntax has become much more flexible now, and also
1148 includes items which used to be only accessible via
1149 environmental variables.
1150 Moreover, it is now possible to include character translation
1153 Fixed another Atari disk bug: Atari disks sport a bogus
1154 "number of hidden sectors"
1156 Fixed missing zero-terminator in autorenamed long names
1157 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1159 Fixed small quoted-printable-induced typo in the Makefile.
1161 Folks, please don't use quoted-printable. It sometimes changes
1162 the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1163 Case in point: £400 gets transformed into =A3400, which looks
1164 like 3400 pounds to a person unaware of this MIME "feature".
1167 Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1170 Added ability to do mcopy e: to copy all files from the root
1172 New Xdf-less Linux target in the Makefile
1173 Relaxed sanity check to let pass wonky Atari disks whose FAT
1174 begins with 3 zero bytes.
1175 Make the check of the initial fat bytes conditional on
1177 Corrected "testna=" bug
1178 Upped minimal sector size to be 256 (instead of 128). This
1184 Ability to mformat 2m disks
1186 Xdf bug fix (dev parameters always set to Xdf, even if it
1187 wasn't really an Xdf disk)
1188 Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1190 Centralizing most env-var handling.
1191 Update of the mtools manpage.
1192 Xdf is now optional, and only active if MTOOLS_USE_XDF is
1193 set. Saves a few milliseconds of startup time on non Xdf
1195 Some lawyer-proofing, just in case :)
1197 Fast xdf code (finally!)
1198 Minor performance enhancements here and there.
1199 Names which are all lower case now generate a long name entry
1200 (according to Steve Searle, that's how Win'95 behaves).
1202 Character translation table fixes. Other name fixes.
1204 Put restrictions on long names to better match Win'95.
1205 (suggested by Steve Searle)
1206 Reworked autorename code. Catch SIGHUP signal
1207 Added missing file close to main loop
1208 Changed name of the "ask for action" command line flag to 'm',
1209 and used 'a' for 'Autorename'.
1211 Removed infinite loop bug in hash.c, which occurred when the
1212 hash table was filled with deleted entries.
1214 added Atari ST-style serial numbers (they live in the banner)
1215 fixed a troff bug in mtools.1
1216 Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1218 v2.5.3 released (after lots of fixes)
1222 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1223 mattrib.c: initialized "code" to avoid complaint by GCC
1225 Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1226 init.c: fs_init(): initialized disk_size to 0. The section
1227 which previously initialized this is ifdef'd out. Why?
1228 Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1229 Gee, the Makefile is pretty ugly! It might be good to start
1230 thinking about autoconfigure, or at least some cleanup.
1231 Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1232 msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1233 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1234 devices.c: use %i instead of %d to allow different bases
1235 parse.c: Changed comment for get_name()/get_path(); need to
1236 revisit this after deciding on default case behavior
1237 devices.c: load_devices(): fixed bad fprintf, line 748
1238 parse.c, mformat.c, misc.c: replaced expressions like
1239 "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1245 Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1246 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1252 v19950822 v2.5 released
1255 Change null-fill for unused remainder of VSE to 0xff fill for
1256 both upper and lower character (just one null for termination)
1257 This seems to better match Win95's behavior; Win95 had been
1258 complaining about bogus characters
1259 file_name.c: unicode_write()
1262 Commented out enforcement of VSEs being in order. Win95 likes
1263 to put them exactly backwards, so we'd better tolerate getting
1264 them any way they might come! Not sure what is lost by losing
1265 these checks, but it seems to be OK.
1267 directory.c: dir_read()
1269 Copying and distribution of this file, with or without modification,
1270 are permitted in any medium without royalty provided the copyright
1271 notice and this notice are preserved.