2 - Removed mclasserase commands, which doesn't fit the coding
3 structure of the rest of mtools
4 - Add support to -i option to mcd
5 - Document -i in mtools.1
6 - Fix a missing commad error in floppyd_io.c
9 - Fix error status of recursive listing of empty root directory
10 - If recursive listing, also show matched files at level one
11 - Use "seekless" reads & write internally, where possible
12 - Text mode conversion refactoring
16 - Fix cluster padding at end of file in batch mode, and add
17 comments about what happens here
23 - Fix support for partitions (broken in 4.0.30)
24 - Portability fixes for Solaris 10 and 11
25 - General simplification of configure script, and largefile handling
26 - Tested and fixed for platforms *without* largefile support
27 - In cases where lseek works with 32-bit offsets, prefer
29 - Fixed floppy sector size handling on platforms that are not
31 - Added support for image files on command line to mcat
34 - Simplify algorithm that choses filesystem parameters for
35 format, and align it more closely with what Win7 does
36 - Fix mformatting XDF when XDF not explicitly specified on
38 - easier way to enter sizes on mformat command line (mformat -C -T
40 - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
42 - Handle attempts to mformat too small filesystems more gracefully
43 - Enable minfo to print out additional mformat command line
44 parameters, if the present filesystem uses non-default
46 - minfo no longer prints bigsect if smallsect is set
47 - for remap filter, error when trying to write non-zero data
49 - Fix misc compilation warnings occuring when disabling
50 certain features (largefiles, raw-term)
53 - Move Linux-specific block device sizing code into
54 linux-specific section of devices.c
55 - Error messages for all failure cases on fs_init failure
56 - Fix compilation without XDF support (OpenImage signature)
57 - Fix polarity of format_xdf command-line parameter of mformat
58 - In XDF_IO retry enough times to actually succeed, even if
59 FDC was in a bad state before
60 - Remove useless buffer flushing triggered when giving up a
61 reference to a stream node that is still referenced
63 - Clearer error message if neither size nor geometry of drive
64 to be mformatted is known
65 - In mformat, make Fs dynamically allocated rather than
66 on-stack, so as to be able to use utilities supplied by
68 - Remove duplicate writing of backup boot sector
69 - Allow to infer geometry if only size is specified
70 - Protect against attempt to create zero-sized buffer
71 - Code simplification in mattrib
72 - Remove dead code in mpartition
75 - Fixed XDF floppy disk access
76 - Fixed faulty behavior at end of image in mcat
77 - Device/Image size handling refactoring
78 - allow remap to write to zero-backed sectors (may happen if
79 buffer is flushed, and is not an error in that case)
80 - Raise an error when trying to mcopy multiple source files
81 over a single destination file (rather than directory)
82 - fix handling of "hidden" sectors (is a 2 byte quantity on
83 small disks, not 4 byte as previously assumed)
84 - Modernize partition support. Tuned consistency check to
85 actually check about important issues (such as overlapping
86 partitions) rather than stuff nobody else cares about
87 (alignment on entire cylinder boundaries)
88 - Move various "filter" options (partition, offset, swap,
89 scsi) into separate classes, rather than leaving almost
90 everything in plain_io
91 - Simplify and centralize geometry handling and LBA code
92 - Fix some more more compiler warnings
94 - Fix bug in cluster preallocation, which was accidentally introduced
95 by compiler warning "fixes" from v4_0_28
97 - Support remapping of data (for not-quite linear floppy image files)
98 - Re-open floppy devices read-write if geometry parameters need to
100 - relax consistency checks in mpartition (partitions created
101 by current fdisk would almost never pass these checks)
102 - Fix some compiler warnings
104 - Fix type error in calls to iconv functions
106 - Fix compilation on Macintosh
107 - Ignore image file locking errors if we are performing a
108 read-only access anyways
109 - Minor man-page fixes
111 - Preserve non-updated contents of info sector, just in case
112 it contains program code
113 - When parsing config file, always use "C" locale for
114 case-insensitive comparisons
116 - Spelling fixes in documentation
117 - Permit calling "make install" with >= -j2
118 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
120 - Address lots of compiler warnings (assignments between different types)
121 - Network speedup fixes for floppyd (TCP_CORK)
123 - Explicitly pass available target buffer size for character
126 - Fixed -f flag for mformat (size is KBytes, rather than sectors)
127 - Fixed toupper/tolower usage (unsigned char rather than plain signed)
129 - Fixed compilation for MingW
130 - After MingW compilation, make sure executable has .exe extension
131 - Addressed compiler warnings
132 - Fixed length handling in character set conversion (Unicode file names)
133 - Fixed matching of character range, when containing Unicode
134 characters (mdir "c:test[α-ω].exe")
135 - Fixed initialization of my_scsi_cmd constructor
137 - initialize directory entries to 0
138 - bad message "Too few sectors" replaced with "Too many sectors"
139 - apostrophe in mlabel no longer causes generation of long entry
140 - option to fake system date for file creation using the
141 SOURCE_DATE_EPOCH environment variables
143 - can now be compiled with "clang" compiler
144 - fallback function for strndup, for those platforms that don't have it
145 - fixed a number of -Wextra warnings
147 - new compressed archive formats for uz/lz
149 - allow to specify number of reserved sectors for FAT32.
150 - file/device locking with timeout (rather than immediate failure)
151 - fixed support for BPB-less legacy formats.
152 - removed check that disk must be an integer number of tracks.
154 - removed .eh/.oh macros from manual pages
156 - Fix for short file names starting with character 0xE5
157 (by remapping it to 0x5)
158 - mpartition: Partition types closer to what Microsoft uses
159 - mformat: figure out LBA geometry as last resort if geometry
160 is neither specified in config and/or commandline, nor can be
161 queried from the device
162 - mformat: use same default cluster size by size as Microsoft
164 - additional sanity checks
165 - document how cluster size is picked in mformat.c man page
166 - document how partition types are picked in mpartition.c man page
168 Fix for names of iconv encodings on AIX
169 Fix mt_size_t on NetBSD
170 Fixed compilation on Mingw
171 Fixed doc (especially mformat)
172 Fix mformat'ing of FAT12 filesystems with huge cluster sizes
173 Minfo prints image file name in mformat command line if an image
175 Always generate gzip-compressed RPMs, in order to remain
176 compatible with older distributions
177 Fixed buffer overflow with drive letter in mclasserase
179 mbadblocks now takes a list of bad blocks (either as sectors
181 mbadblocks now is able to do write scanning for bad blocks
182 mshowfat can show cluster of specific offset
183 Enable mtools to deal with very small sector sizes...
184 Fixed encoding of all-lowercase names (no need to mangle
186 Consider every directory entry after an ENDMARK (0x00) to be deleted
187 After writing a new entry at end of a directory, be sure to also add
190 Deal with possibility of a NULL pointer being returned by
191 localtime during timestamp conversion
194 fixed formatting of fat_size_calculation.tex document
195 compatibility with current autoconfig versions
196 Make it clear that label is limited to 11 characters
197 Fixed typo in initialization of FAT32 info sector
199 Added missing -i option to mshortname
200 Split .deb package into mtools and floppyd in order to
203 New mshortname command
204 Fix floppyd for disks bigger than 2 Gig
205 Remove obsolete -z flag
206 Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
207 Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
208 Mformat now correctly writes backup boot sector
209 Fixed signedness of serial number in mlabel
210 Fixed buffer size problem in mlabel
211 Make mlabel write backup boot sector if FAT32
212 Catch situation where both clear and new label are given to mlabel
213 Quote filename parameters to scripts
214 Mformat: Close file descriptor for boot sector
215 Added lzip support to scripts/uz
216 Added Tot_sectors option to mformat
217 Fixed hidden sector handling in mformat
218 Minfo generates mformat command lines containing new -T option
219 Mlabel prints error if label too long
221 Merged Debian patches
223 Mingw compatibility fixes
225 Fixed compiler warnings in mlabel.c and elsewhere
226 Fixed h flag in mattrib.c
227 Added missing error checking in floppyd and elsewhere
230 More copyright stuff...
231 Fixed issues with max filesize (was 2GB instead of 4GB, and
232 warned only after copying the beginning)
236 Corrected copyright attributions in the various files
238 Fixed conversion to native on OS/2
239 Fix parsing of --help flag
241 Fallback for missing wchar_t iconv codepage on OS/2
242 Fixes for LSEEK64 support
243 Support for --help that returns a 0 exit status
245 Make setpgrp() usage in floppyd conditional
246 Re-instate PACKED around structure (ARM)
250 BSD support: SCSI, use getuserid/getgroupid in floppyd
251 Another attempt at putwc fix for OS/2
253 Fallback for putwc if there is wchar (OS/2)
255 Fix multipart pathname parsing bug in vfat.c (forgot limited length)
256 Supplied fallback define for putwc
257 Copyright notices in all sources
259 Off-by-2 error in unix_name in file_name.c
261 Missing functions on Solaris
263 Offset for -i-specified image files
265 Use transliteration to represent characters which don't exist in
268 Mtools-4 with Unicode support
272 Fixed security issue with doctored file names
273 64 bit compilation fixes
275 Fixed misc blunders...
277 Fixed lots of minor items raised by gcc4
278 Merged some of the BSD patches
279 New version of amuFormat.sh written in sh rather than csh
280 Support for config parameters after -i file
283 Added sizecode printing on minfo
284 In mformat manpage, use same flag for sector number than printed in
286 Limit sizecode to 6, else it will overflow max sector size defined in
289 Applied mingw patch by Jamey Sharp and Josh Triplett
291 Fixed doc about /etc/default
293 Fixed mlabel on read-only disks
295 Merged Redhat/Fedora patches
297 #ifdef linux-dependent code in mformat.c
300 Fix reading of boot sector (block size)
302 Do no longer open floppy devices with O_EXCL, in order to enable
303 work-around against broken cache.
305 If no info dir exists at all, assume dir
313 Solaris 8 compatibility
317 Support for multiple drives in floppyd
321 Fixed some long name directory entry freeing bugs
323 Fixed duplicate FAT writing error. Fixed segfault on short images.
324 Mformat creates images of correct size.
325 CYGWIN compatibility (O_BINARY flag).
327 Cygwin patch for plain_io.c (no locking)
329 Fix a couple of memory leaks in config file parsing. Fix llong.h
330 (redefined same symbol twice)
331 Fix a variable initialization problem in plain_io.c
332 New mclasserase command to erase memory cards
335 Fix rootskip and rate of XDF disks
337 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
339 Moved putc after variable description (anybody knows about a -W
340 flag so that gcc warns about these?)
342 Fixed mattrib -p (missing slash)
344 Added -m option to mformat to specify a non-standard mediabyte
346 Added -d options to mformat to specify number of FAT copies. Can
347 also be set using the MTOOLS_NFATS environmental variable.
348 Also added similar env variable for root directory length
349 Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
350 CYGWIN fixes for mcat
353 Released 3.9.9 : Identical to pre-3.9.9 except for the version number
356 Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
357 Improved fat_len calculation
358 Fixed plain_io.c bug (Swap byte applied after partition stuff,
361 Fixed mcat end-of-file bugs (mcat went on writing, and writing,
362 and writing, even after end of file)
364 If "standard" CHS specified, but non-standard root dir size do not
365 use table-lookup based geometry ("old-dos media descriptor")
367 David's new uz script, that can use commands other than gzip for
370 Fixed vold support for mpartition
372 Added PACKED to unicode_char declaration (Arm)
373 Mpartition can now create the image if -I is specified.
375 Support for geometry-less Atari disks
376 Support for byte-swapping disks
378 Avoid .(l and .)l in generated man pages
382 Fix [] wildcard off-by-one error
383 Avoid overwriting (Unix) file by itself in mcopy
384 Avoid cloberring any file if implicit target is used (the
385 one-argument syntax of mcopy)
386 Added Zip 750 entry to mzip.c
390 Fixes in buffer.c for oddly sized image files
391 Mformat.c fixes to avoid making images which would not be
394 Warn for invalid partition numbers
396 Released pre6-3.9.8 : getting rid of linux-gnu references is
397 almost as difficult as exorcising the devil...
399 Released pre5-3.9.8 after fixing a couple of version numbers
401 Applied Adrian Bunk's patches, minus the Stallmanisms.
402 De-stallmanized config.gues and config.sub files
405 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
407 Fixed #ifdef DEBUG statements, pre2-3.9.8
411 Updated config.guess/config.sub to support Darwin
412 Patch for converting contents of files from/to Dos' version of
414 Fixed bug in to_unix function
416 Updated freebsd floppy device definitions
418 Fixes for floppyd to work with current protocol version of floppyd
420 Fixed parsing of Unix filenames ending with slash
422 Fixed file closing of floppyd
424 Fixed a cindex entry in documentation
426 Rewrote PDF rule to use pdflatex, rather than go through dvi
427 (pdflatex output looks nicer)
429 Fixed JAZ Zip file overwrite bug (actually, this bug could occur
430 on any disk reasonably full...)
432 Fix mzip manpage to include Linux in the list of supported OS'es
434 Protect against division by zero when reading BSD disks...
438 Hurd openflags fix in mainloop.c
439 Added description for t option to mcopy man page
440 Added -lbsd to list of libraries to be tested for LynxOS
441 Unset LANG in mkmanpages
442 Updated config.gues/config.sub
443 Removed stale documentation for xcopy
444 Fixed typo in mformat man page
446 Zip 250 support in mzip
450 Variable initialization in mdir.c
452 Do not use offset_t on AIX ==> broken
454 Large disk fixes, especially for Solaris
456 Released Mtools-3.9.7
458 Mtools-pre2-3.9.7 released: some potential buffer overflows
460 Mtools-pre-3.9.7 released
462 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
465 Fixed a couple of floppyd bugs
467 Added texclean to make distclean, added new "pdf" target.
469 Did away with ipaddr_t and replaced it with IPaddr_t which is
470 guaranteed not to crash anywhere...
472 Defined geometry for default a: devices on Linux and Solaris with vold
474 Carefully navigate Solaris' polluted namespace...
476 Suppressed bogus error message when mcopying to an existing file.
478 Fixed mformat problem with Fat32 (mformat didn't initialize the
479 label and fat type fields in the boot sector, and the other mtools
480 utils didn't check them)
482 Fixed two more scandisk problems:
483 - the infosector should end with 0x55aa
484 - When deleting a file, be sure to DELMARK the VSE's as
485 well as the main entry
487 Fixed an evasive Fat32 bug: a parent directory entry pointing to
488 the root should have an address of 0 instead of the more logical 2
490 Corrected mdir error handling
491 Fixed a bug in mren (problem when renaming short file names)
493 Corrected a typo in error handling
495 Fixed size problem with Ctrl-Z.
497 (No joke): avoid setting volume serial number on "Old Dos" disks
499 - Re-aligned command line options with Dos
500 - New -n/-N option for mlabel to change volume serial numbers
501 - Mattrib -p escapes file names in order to handle file name
503 - Changed mformat serial number format
506 - Mtools would never completely use all directory slots, because
507 it overestimated space consumption by 1
508 - Mtools did not initialize the stat struct for pipes, and thus
509 gave occasionnally bogus "Disk full" error messages
511 Rearranged tty open call so that it is only opened when actually
514 Added special case for 0xf7 media descriptor
516 Make O_NDELAY conditional everywhere
518 Return correct return value from mt_lseek, even if off_t is a 64
521 Treat OpenBSD the same as NetBsd
523 Released 3.9.6 with the following fixes:
525 - Make Xdf work in nodma mode
526 - Fix for mformatting MSS disks
528 1st attempt to release 3.9.6 with mostly minor fixes:
529 - platform compatibility
530 - automatic installation of info files
531 - mdir's -X flag no longer implies "recursive"
533 3.9.5 released with mostly minor fixes:
534 - Starting cluster numbers of "." directory entry
535 - Copying of empty Files from Dos to Unix
536 - Misc platform compatibility issues
538 Another embarrassing bug found, 3.9.4 released. When will this
541 Mtools 3.9.3 released
543 Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
544 Glibc problems are potentially dangerous, and can lead to data loss.
546 Mtools 3.9.2 released
548 Fixed typo in plain_io.c
550 More rigor about signed vs unsigned issue. FreeBSD Scsi support
552 Allow for 2GB Jaz drives
554 Rewrote floppyd in C instead of C++
564 Make sure that fat_type doesn't overwrite byte 62 with zero =>
567 Added support for "replay" listing of mattrib. Cleaned up version
568 number and date handling (date was not always accurate...)
570 Added geometry autodetection code for Linux harddisks to
571 mpartition and mformat. Removed misleading references to
572 "non-removable media"
574 Added boot sector template option for mpartition. Fixed mtools.1
575 man page. Mattrib -s e:/ fix
579 Fixed HP SCSI "big write" bug
581 Fixed debug mode in vfat.c
583 A few minor floppy related fixes (installation, and replacement
584 for setenv function, which is absent from some platforms)
586 Added floppyd (remote access to floppy disks)
588 Updated mkmanpages script to dynamically get date and mtools
589 version. Correct "removable media" error message to talk about
590 /etc/mtools.conf instead of /etc/mtools. Do init_geom to read
591 geometry if no geometry is set.
593 Mtools 3.9.1 released
595 Mformats makes disks which are readable both as partitioned and as
598 Corrected Tim Hoogasian's e-mail address
602 "Dirty end too big" mformat bug corrected
604 Corrected typoes for IRIX devices, use macros for attribute types,
605 fix 0 length file bug.
608 Bigger array for SCSI command
612 OS/2 portabilty, GLIBC portability
614 Fixes related to Solaris new vold support
616 Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
617 CFLAGS for those makes that don't support implicit rules well enough
621 Various Bugfixes (overwrite mode and directory cache)
623 Added mformat_only flag.
625 Fixed non-batchmode mcopy bug. Fixed shortname case bug
627 Minfo and mformat boot program bug fixes
629 Allow default block sizes per device which are not equal to 512
631 Allow and interpret back quotes in file names
635 Scandir optimizations. Fixed nasty Heisenbug in hash.c.
637 Fixed integer width problem in fat.c, and minor bugs in hashtable.
639 More performance optization. Buffer handl
643 Fixed mtype and mcheck. Started cleaning up out-of-memory handling
645 Jacked up performance, and corrected signal handling bugs. Also
646 corrected various "Disk full bugs"
648 Fixed "Bad address" errors which occurred when running mdu on empty
649 files. When copying recursively, do not barf if a directory
650 already exist at the target. Mcopy operates silently by default.
652 removed mwrite. Obsoleted long ago by mcopy
654 fixed mdir -X, added mattrib -X; document both. Fix doc for name
657 fixed polarity of sys_errlist. Renamed some include files which
658 bore the same name as system include files. Fixed another
659 memory leak in dir_grow. A/UX termio workaround.
661 fixed filedescriptor leak. Make mbadblocks stoppable. Doc
662 fixes. Fixed one memory leak, another one further down the road
663 remains... Fixed error handling in createDirectory.
665 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
667 Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
668 version. No actual code change apart from patchlevel.h
670 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to
671 mkmanifest. Fixed mpartition bug with partitions with more
674 Pre-3.9. Redid the mainloop logic, and got rid of lots of cruft
675 in subdir.c and parse.c. It is now possible to put wildcards in
676 the directory part of the filename. Design also became simpler,
677 making it easier to maintain this part in the future.
678 Added a -u flag to mzip to temporarily unprotect a disk
679 Added a test to mzip to prevent manipulation of mounted disks
680 Added support for partitioned devices in mmount
682 Added mdu and recursive mdir
684 Fixed bugs in recursive copy stuff, added recursive mattrib, and
685 fixed a few buffer overrun bugs
687 Added recursive copy and attribute conservation flags to mtools
691 Include Sys5 directories on SunOs in order to have a correct
697 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
699 Corrected gross bug in fat12_decode
701 Simplified fat bits handlings
705 Buffer.c and FAT bugfixes
707 More FAT32 fixes. New mshowfat command.
709 Fix FAT32 problem (FAT32 does not use the high nibble)
711 Detect presence of sys_errlist using autoconf instead of
712 making its usage dependent on BSD.
714 Guard against corrupted "next free block" pointer in a FAT32
717 Use root privileges during scsi_init
719 Fixed close-on-exec bug.
721 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
724 Fixed Makefile so that make -j works without errors. Fixed
725 upper/lower bug in mmount
729 Add option to mformat to keep boot sector, or to read it from
730 a file. Added various flags to customize directory listing
731 appearance and long name behavior
733 Fix bug in yesterdays fix. Also make sure to resize hash
734 table if too many deleted entries accumulate.
736 Fixed yet another hash table bug
738 Yet another HPUX fix.
740 Fixed a segfault in mpartition
742 Removed a few Stallmanisms in config.guess
746 Corrected a few errors in new vold code
748 Removed extra &'s from string addresses.
749 Added listing of current configuration to mtools -V
750 Updated version number and date in mkmanpages
752 New Bebox patch. Removes almost all BEBOX specifities because
753 they are no longer needed with the new DR9 release.
754 Small fix for size detection of SCSI disks.
756 Fixed small typo in new vold code
758 Added partition consistency checks for accessing device.
760 New version of Solaris vold code
762 Solaris floppy geometry. Support for older MO disks (size
763 returned in non-standard location)
764 Corrected ftp address for fdutils
768 Brought Makefile.Be and config.h.Be up to date with the recent
771 Add Ultrix to the list of OS'es which do not define their
775 Various "Next proofintg".
776 * add VENDOR_, CPU_ and OS_ before machine type tags
777 detected by autoconf. Next tends to be a frequently
779 * use utimes preferably before utime
780 * try to include _all_ termios functions.
781 * more precise detection of available termios functions
783 Added knowledge of Zip Tools Disk password to mzip.
785 Went back to using ALLCFLAGS in Makefile for those people who
786 want to override CFLAGS
788 Added note about Alpha site to doc.
790 Prefer termios.h on Ultrix
792 Renamed missing_functions to missFuncs in order to accommodate
793 operating systems with file name size limits.
795 Autoextend size for images that are too small. Moved BSD
796 dependent #ifdef's after the inclusion of sys/param.h, as it
797 is there where BSD is defined (sigh!)
799 Insist on the fact that mzip's -f flag only makes sense if
800 given in addition to -e
802 Corrected typo in doc.
804 Removed read and write prototypes, they conflict on an Alpha!
810 Do not stat any files in /dev/ on BEOS. Remove spurious system
811 include files from non-sysincludes.h file
815 Added Sunos4 and SCO support to scsi.c. Use tzset before
816 gettimeofday, except for BSD. Use Z: for a Zip drive, and J:
817 for a Jaz drive instead of D: for both. Added machine
818 specific libraries and CFLAGS for A/UX.
820 Various A/UX fixes. Changed scanning order for termio and
821 termios due to problems with the other order on A/UX.
823 Print error message for wrong password.
825 Include mzip man page
827 Document new config flags introduced in 970204.
828 On systems not supporting euid, do not bail out if both euid
831 Prevent mmove from moving directories into themselves in order
832 to keep a tree-like directory structure
834 Fixes for mtools_no_vfat
836 Additional config file pointed by MTOOLSRC; possibility to
837 switch off generation of VFAT long names.
839 HP/UX setresuid support. "Mcopy a: ." bugfix.
841 Renamed f_* functions into file_* in order to avoid a clash
842 with a preprocessor macro named f_data on AIX.
844 Released 3.5, Solaris compatibility fix w.r.t. memmove
848 Fixed location of configuration file in doc.
852 More BSD & 64 bit changes
854 Added at_exit implementation for those boxes who have neither
855 on_exit nor atexit. Added check to make sure the compiler
856 handels structures in a sane way.
858 Backed out again of the traditional-cpp change on
859 larry.jones@sdrc.com's advice
861 Added traditional-cpp in order to make mtools compilable on a Sun
865 BEOS fixes and support for SCSI devices with a sector size
868 Fixed some preprocessor macros. Added texclean macro to Makefile
870 Clarified the documentation about the Bebox.
874 Made Makefile "AIX-proof". Added precmd to config.c
878 Osf4 support. Released 3.2
880 Fixed Makefile typo, and fixed various bugs with renaming or
881 moving dot or dot dot
883 Fixed streamcache.c bug
885 Added add-disk script and format.dat file
887 Fixed mrd e:xxx/, tested Xdf support
889 Strange mformat fixes... Dos always seems to assume a cluster
890 size of at least 8 sectors and 512 root directory entries. Sigh!
892 FAT32 support, BeOS patches
894 Added more debugging code to mpartition and minfo. Added
895 "packed" attribute to the partition structure.
896 Cleaned up argument handling.
898 Fixed partition removal bug in mpartition.c
900 Fixed streamcache allocation bug. Clearer error message when
901 trying to access a non-existant partition.
903 Added "packed" attribute to some fields of the vfat_subentry
904 structure, in order to work around a bug in a gcc version for
906 Use getpass() for password prompting in mzip.c
908 Various small bug fixes
910 Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
911 Relaxed security in mpartition.c, so non-root users may print
912 a partition, or perform any local changes to it.
913 Mpartition now prints info to recreate partition.
915 Add mpartition command to partition Zip, Jaz and other Scsi
917 Chose between on_exit or atexit using autoconf.
919 Added minfo command to print disk geometry and other parameters.
921 Replaced atexit by onexit. Atexit barfed on SunOs.
922 Replaced O_RDWR flag in mzip with O_RDONLY.
923 Added precmd variable to execute commands before opening a
926 Shortened README, segregated config file pathnames into a
929 General cleanup, more enhancements to privilege handling.
931 Added debugging output to mzip.
932 Made expand.c safe and still compatible with suid operation.
934 Made device locking optional.
936 Added const qualifiers
940 Added kludgy xcopy support
942 Only skip sys_errlist declaration on NetBSD (some older
943 platforms might need this)
945 Upgraded to autoconf 2.12, fixed some Stallmanisms.
946 Added device entry for LynxOs.
948 Use gettimeofday before tzset (for BSD).
950 Use correct location of signal.h. Removed declaration
953 BEOS patches by Marco Nelissen
954 Removed some clashing prototypes
956 Prints privilege debugging message to stderr, and reopens SCSI
957 file with root privileges.
959 Fixed typoes in mzip. Added pointer to html doc.
961 Fixed Linux Scsi ioctl.
963 Added warnings against cookies, fixed doc to reflect new set-uid
966 Fixed typoes in privilege routines, and removed Heisenbergian
967 parts of the debugging code.
969 Deleted prototypes for random() and srandom(): they *did*
970 clash (on a DEC Alpha)
972 Solaris & SunOS privilege management. Fixed date entries in
977 Cosmetic mzip fixes. Add pointer to info doc to mtools.1
979 ISC addition. Doc fix for set_parameters ioctl.
983 Replaced zip_* by scsi_*, as these functions are not
984 specifically relevant to the ZIP (they apply to the JAZ as
986 Fixed documentation on -n flag for mcopy
988 Include termio before termios because of SCO
990 Do not declare timezone external variable on Ultrix, where it
991 has a different type.
993 Changed floppy into rfloppy for HP/UX.
995 Added -Q option to mcopy, which aborts copying multiple files
996 as soon as an error for one file is encounteres
997 Removed useless -i option for mcopy
998 Small devices.c portability fixes (ultrix and hpux)
1000 Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
1001 Renamed mtest to mtoolstest to please pine.
1003 Added warning about running mtools with root privs.
1005 Fixed uninitialized variable in fat.c and added example for Sun
1008 Fixed comment in scripts/tgz
1010 Fixed partition handling code (yes, again!)
1011 Added code to handle ZIP disks on Solaris/SunOS (many thanks
1012 to James P. Dugal (jpd@usl.edu))
1014 Proper permissions for main directory.
1016 Renamed scripts/gz to scripts/tgz
1018 Added raw devices for Solaris, apparently more performant
1019 Test first for tzset in autoconfigure (Solaris)
1021 Segment fault due to change of buffer size fixed
1022 E-mail address fixed
1024 Lots of portability fixes.
1026 Yet another typo fix for the partition table code. Oh Gawd,
1027 will this never stop?
1028 Fix for proper .mcwd pathname concatenations
1030 Backed out partition table "fix": the original code was right
1033 Corrected a few uninitialised variables
1035 Corrected doc about devices file.
1037 Added pointer to the doc to the README file
1039 Partition table parsing fixed
1041 Fujitsu DS/90 (UXP) support
1044 dispatcher cleanup in mtools.h
1045 fat_bits 12/16 toggle fix.
1046 More space for error message variable in mformat
1049 Fix for CPU names with dots in autoconfigure
1050 Some new device descriptions
1053 Set XDF mode when formatting an XDF disk (makes sense, after all...)
1055 XDF seems to work. Yeah!
1057 More ED fixes. More parameter size fixed for 64bit.
1059 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1062 Make vold and "raw" floppy drive accessible simultaneously on
1063 Solaris by calling one A: and the other B:
1064 Add missing mbadblock LINK in Makefile.in
1066 Inserted missing newline character
1068 Treat number of heads or sectors as chars. The BIOS wouldn't
1069 allow bigger numbers anyways, thus big numbers are probably
1073 Geometry setting for HP/UX
1075 Changed auto array in codepage to malloc'ed one in order to
1076 work around buggy compilers
1078 Pointers to other doc in the INSTALL file
1080 Do no longer be confused by deleted VSE's
1081 Define MAXPATHLEN for SCO
1082 Missing lockf prototype for SCO
1084 Handle DEBUG flag by autoconf
1085 Added Host vendor to compile flags in order to handle Sinix
1086 Better Sinix handling in devices.c
1087 Only print duplicate VSE messages when running with DEBUG
1088 Fix mlabel exit code
1091 Xcopy fixes for Sysv
1095 pre4-3.0. Lots of bug fixes. Texinfo file
1099 use autoconf to get rid once and for all of those pesky OS
1102 use sys/termio instead of sys/termios to please AIX
1104 more spelling fixes.
1108 Mmount arg parsing bug fix
1110 New partition configuration variable.
1112 Spelling fixes, removed warning in README, IRIX floppy devices
1114 More Alpha streamlining
1116 Alpha patches (64 bit clean-ness)
1117 AIX patches (built in drive names)
1118 Raw tty patches (no need to type return when confirming an action
1121 Replaced include strings.h by string.h everywhere where applicable
1122 Changed thousands separator in mdir from a dot to a space to
1123 please both Americans and Europeans.
1124 Fixed memory allocation bug if no "constant device" is present.
1125 #defined strtoul to atol for SunOS
1127 Minor cleanup, released 2.5.4
1129 Added "magic" header to manpages to have man run them through tbl
1131 MTOOLS_LOWER_CASE is back, various small bug fixes over
1134 Bus strike in Grenoble! Well, let's do something useful and
1135 re-arrange the configuration file syntax :-)
1136 The syntax has become much more flexible now, and also
1137 includes items which used to be only accessible via
1138 environmental variables.
1139 Moreover, it is now possible to include character translation
1142 Fixed another Atari disk bug: Atari disks sport a bogus
1143 "number of hidden sectors"
1145 Fixed missing zero-terminator in autorenamed long names
1146 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1148 Fixed small quoted-printable-induced typo in the Makefile.
1150 Folks, please don't use quoted-printable. It sometimes changes
1151 the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1152 Case in point: £400 gets transformed into =A3400, which looks
1153 like 3400 pounds to a person unaware of this MIME "feature".
1156 Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1159 Added ability to do mcopy e: to copy all files from the root
1161 New Xdf-less Linux target in the Makefile
1162 Relaxed sanity check to let pass wonky Atari disks whose FAT
1163 begins with 3 zero bytes.
1164 Make the check of the initial fat bytes conditional on
1166 Corrected "testna=" bug
1167 Upped minimal sector size to be 256 (instead of 128). This
1173 Ability to mformat 2m disks
1175 Xdf bug fix (dev parameters always set to Xdf, even if it
1176 wasn't really an Xdf disk)
1177 Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1179 Centralizing most env-var handling.
1180 Update of the mtools manpage.
1181 Xdf is now optional, and only active if MTOOLS_USE_XDF is
1182 set. Saves a few milliseconds of startup time on non Xdf
1184 Some lawyer-proofing, just in case :)
1186 Fast xdf code (finally!)
1187 Minor performance enhancements here and there.
1188 Names which are all lower case now generate a long name entry
1189 (according to Steve Searle, that's how Win'95 behaves).
1191 Character translation table fixes. Other name fixes.
1193 Put restrictions on long names to better match Win'95.
1194 (suggested by Steve Searle)
1195 Reworked autorename code. Catch SIGHUP signal
1196 Added missing file close to main loop
1197 Changed name of the "ask for action" command line flag to 'm',
1198 and used 'a' for 'Autorename'.
1200 Removed infinite loop bug in hash.c, which occurred when the
1201 hash table was filled with deleted entries.
1203 added Atari ST-style serial numbers (they live in the banner)
1204 fixed a troff bug in mtools.1
1205 Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1207 v2.5.3 released (after lots of fixes)
1211 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1212 mattrib.c: initialized "code" to avoid complaint by GCC
1214 Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1215 init.c: fs_init(): initialized disk_size to 0. The section
1216 which previously initialized this is ifdef'd out. Why?
1217 Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1218 Gee, the Makefile is pretty ugly! It might be good to start
1219 thinking about autoconfigure, or at least some cleanup.
1220 Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1221 msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1222 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1223 devices.c: use %i instead of %d to allow different bases
1224 parse.c: Changed comment for get_name()/get_path(); need to
1225 revisit this after deciding on default case behavior
1226 devices.c: load_devices(): fixed bad fprintf, line 748
1227 parse.c, mformat.c, misc.c: replaced expressions like
1228 "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1234 Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1235 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1241 v19950822 v2.5 released
1244 Change null-fill for unused remainder of VSE to 0xff fill for
1245 both upper and lower character (just one null for termination)
1246 This seems to better match Win95's behavior; Win95 had been
1247 complaining about bogus characters
1248 file_name.c: unicode_write()
1251 Commented out enforcement of VSEs being in order. Win95 likes
1252 to put them exactly backwards, so we'd better tolerate getting
1253 them any way they might come! Not sure what is lost by losing
1254 these checks, but it seems to be OK.
1256 directory.c: dir_read()
1258 Copying and distribution of this file, with or without modification,
1259 are permitted in any medium without royalty provided the copyright
1260 notice and this notice are preserved.