2 - Simplify algorithm that choses filesystem parameters for
3 format, and align it more closely with what Win7 does
4 - Fix mformatting XDF when XDF not explicitly specified on
6 - easier way to enter sizes on mformat command line (mformat -C -T
8 - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
10 - Handle attempts to mformat too small filesystems more gracefully
11 - Enable minfo to print out additional mformat command line
12 parameters, if the present filesystem uses non-default
14 - minfo no longer prints bigsect if smallsect is set
15 - for remap filter, error when trying to write non-zero data
17 - Fix misc compilation warnings occuring when disabling
18 certain features (largefiles, raw-term)
21 - Move Linux-specific block device sizing code into
22 linux-specific section of devices.c
23 - Error messages for all failure cases on fs_init failure
24 - Fix compilation without XDF support (OpenImage signature)
25 - Fix polarity of format_xdf command-line parameter of mformat
26 - In XDF_IO retry enough times to actually succeed, even if
27 FDC was in a bad state before
28 - Remove useless buffer flushing triggered when giving up a
29 reference to a stream node that is still referenced
31 - Clearer error message if neither size nor geometry of drive
32 to be mformatted is known
33 - In mformat, make Fs dynamically allocated rather than
34 on-stack, so as to be able to use utilities supplied by
36 - Remove duplicate writing of backup boot sector
37 - Allow to infer geometry if only size is specified
38 - Protect against attempt to create zero-sized buffer
39 - Code simplification in mattrib
40 - Remove dead code in mpartition
43 - Fixed XDF floppy disk access
44 - Fixed faulty behavior at end of image in mcat
45 - Device/Image size handling refactoring
46 - allow remap to write to zero-backed sectors (may happen if
47 buffer is flushed, and is not an error in that case)
48 - Raise an error when trying to mcopy multiple source files
49 over a single destination file (rather than directory)
50 - fix handling of "hidden" sectors (is a 2 byte quantity on
51 small disks, not 4 byte as previously assumed)
52 - Modernize partition support. Tuned consistency check to
53 actually check about important issues (such as overlapping
54 partitions) rather than stuff nobody else cares about
55 (alignment on entire cylinder boundaries)
56 - Move various "filter" options (partition, offset, swap,
57 scsi) into separate classes, rather than leaving almost
58 everything in plain_io
59 - Simplify and centralize geometry handling and LBA code
60 - Fix some more more compiler warnings
62 - Fix bug in cluster preallocation, which was accidentally introduced
63 by compiler warning "fixes" from v4_0_28
65 - Support remapping of data (for not-quite linear floppy image files)
66 - Re-open floppy devices read-write if geometry parameters need to
68 - relax consistency checks in mpartition (partitions created
69 by current fdisk would almost never pass these checks)
70 - Fix some compiler warnings
72 - Fix type error in calls to iconv functions
74 - Fix compilation on Macintosh
75 - Ignore image file locking errors if we are performing a
76 read-only access anyways
77 - Minor man-page fixes
79 - Preserve non-updated contents of info sector, just in case
80 it contains program code
81 - When parsing config file, always use "C" locale for
82 case-insensitive comparisons
84 - Spelling fixes in documentation
85 - Permit calling "make install" with >= -j2
86 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
88 - Address lots of compiler warnings (assignments between different types)
89 - Network speedup fixes for floppyd (TCP_CORK)
91 - Explicitly pass available target buffer size for character
94 - Fixed -f flag for mformat (size is KBytes, rather than sectors)
95 - Fixed toupper/tolower usage (unsigned char rather than plain signed)
97 - Fixed compilation for MingW
98 - After MingW compilation, make sure executable has .exe extension
99 - Addressed compiler warnings
100 - Fixed length handling in character set conversion (Unicode file names)
101 - Fixed matching of character range, when containing Unicode
102 characters (mdir "c:test[α-ω].exe")
103 - Fixed initialization of my_scsi_cmd constructor
105 - initialize directory entries to 0
106 - bad message "Too few sectors" replaced with "Too many sectors"
107 - apostrophe in mlabel no longer causes generation of long entry
108 - option to fake system date for file creation using the
109 SOURCE_DATE_EPOCH environment variables
111 - can now be compiled with "clang" compiler
112 - fallback function for strndup, for those platforms that don't have it
113 - fixed a number of -Wextra warnings
115 - new compressed archive formats for uz/lz
117 - allow to specify number of reserved sectors for FAT32.
118 - file/device locking with timeout (rather than immediate failure)
119 - fixed support for BPB-less legacy formats.
120 - removed check that disk must be an integer number of tracks.
122 - removed .eh/.oh macros from manual pages
124 - Fix for short file names starting with character 0xE5
125 (by remapping it to 0x5)
126 - mpartition: Partition types closer to what Microsoft uses
127 - mformat: figure out LBA geometry as last resort if geometry
128 is neither specified in config and/or commandline, nor can be
129 queried from the device
130 - mformat: use same default cluster size by size as Microsoft
132 - additional sanity checks
133 - document how cluster size is picked in mformat.c man page
134 - document how partition types are picked in mpartition.c man page
136 Fix for names of iconv encodings on AIX
137 Fix mt_size_t on NetBSD
138 Fixed compilation on Mingw
139 Fixed doc (especially mformat)
140 Fix mformat'ing of FAT12 filesystems with huge cluster sizes
141 Minfo prints image file name in mformat command line if an image
143 Always generate gzip-compressed RPMs, in order to remain
144 compatible with older distributions
145 Fixed buffer overflow with drive letter in mclasserase
147 mbadblocks now takes a list of bad blocks (either as sectors
149 mbadblocks now is able to do write scanning for bad blocks
150 mshowfat can show cluster of specific offset
151 Enable mtools to deal with very small sector sizes...
152 Fixed encoding of all-lowercase names (no need to mangle
154 Consider every directory entry after an ENDMARK (0x00) to be deleted
155 After writing a new entry at end of a directory, be sure to also add
158 Deal with possibility of a NULL pointer being returned by
159 localtime during timestamp conversion
162 fixed formatting of fat_size_calculation.tex document
163 compatibility with current autoconfig versions
164 Make it clear that label is limited to 11 characters
165 Fixed typo in initialization of FAT32 info sector
167 Added missing -i option to mshortname
168 Split .deb package into mtools and floppyd in order to
171 New mshortname command
172 Fix floppyd for disks bigger than 2 Gig
173 Remove obsolete -z flag
174 Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
175 Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
176 Mformat now correctly writes backup boot sector
177 Fixed signedness of serial number in mlabel
178 Fixed buffer size problem in mlabel
179 Make mlabel write backup boot sector if FAT32
180 Catch situation where both clear and new label are given to mlabel
181 Quote filename parameters to scripts
182 Mformat: Close file descriptor for boot sector
183 Added lzip support to scripts/uz
184 Added Tot_sectors option to mformat
185 Fixed hidden sector handling in mformat
186 Minfo generates mformat command lines containing new -T option
187 Mlabel prints error if label too long
189 Merged Debian patches
191 Mingw compatibility fixes
193 Fixed compiler warnings in mlabel.c and elsewhere
194 Fixed h flag in mattrib.c
195 Added missing error checking in floppyd and elsewhere
198 More copyright stuff...
199 Fixed issues with max filesize (was 2GB instead of 4GB, and
200 warned only after copying the beginning)
204 Corrected copyright attributions in the various files
206 Fixed conversion to native on OS/2
207 Fix parsing of --help flag
209 Fallback for missing wchar_t iconv codepage on OS/2
210 Fixes for LSEEK64 support
211 Support for --help that returns a 0 exit status
213 Make setpgrp() usage in floppyd conditional
214 Re-instate PACKED around structure (ARM)
218 BSD support: SCSI, use getuserid/getgroupid in floppyd
219 Another attempt at putwc fix for OS/2
221 Fallback for putwc if there is wchar (OS/2)
223 Fix multipart pathname parsing bug in vfat.c (forgot limited length)
224 Supplied fallback define for putwc
225 Copyright notices in all sources
227 Off-by-2 error in unix_name in file_name.c
229 Missing functions on Solaris
231 Offset for -i-specified image files
233 Use transliteration to represent characters which don't exist in
236 Mtools-4 with Unicode support
240 Fixed security issue with doctored file names
241 64 bit compilation fixes
243 Fixed misc blunders...
245 Fixed lots of minor items raised by gcc4
246 Merged some of the BSD patches
247 New version of amuFormat.sh written in sh rather than csh
248 Support for config parameters after -i file
251 Added sizecode printing on minfo
252 In mformat manpage, use same flag for sector number than printed in
254 Limit sizecode to 6, else it will overflow max sector size defined in
257 Applied mingw patch by Jamey Sharp and Josh Triplett
259 Fixed doc about /etc/default
261 Fixed mlabel on read-only disks
263 Merged Redhat/Fedora patches
265 #ifdef linux-dependent code in mformat.c
268 Fix reading of boot sector (block size)
270 Do no longer open floppy devices with O_EXCL, in order to enable
271 work-around against broken cache.
273 If no info dir exists at all, assume dir
281 Solaris 8 compatibility
285 Support for multiple drives in floppyd
289 Fixed some long name directory entry freeing bugs
291 Fixed duplicate FAT writing error. Fixed segfault on short images.
292 Mformat creates images of correct size.
293 CYGWIN compatibility (O_BINARY flag).
295 Cygwin patch for plain_io.c (no locking)
297 Fix a couple of memory leaks in config file parsing. Fix llong.h
298 (redefined same symbol twice)
299 Fix a variable initialization problem in plain_io.c
300 New mclasserase command to erase memory cards
303 Fix rootskip and rate of XDF disks
305 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
307 Moved putc after variable description (anybody knows about a -W
308 flag so that gcc warns about these?)
310 Fixed mattrib -p (missing slash)
312 Added -m option to mformat to specify a non-standard mediabyte
314 Added -d options to mformat to specify number of FAT copies. Can
315 also be set using the MTOOLS_NFATS environmental variable.
316 Also added similar env variable for root directory length
317 Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
318 CYGWIN fixes for mcat
321 Released 3.9.9 : Identical to pre-3.9.9 except for the version number
324 Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
325 Improved fat_len calculation
326 Fixed plain_io.c bug (Swap byte applied after partition stuff,
329 Fixed mcat end-of-file bugs (mcat went on writing, and writing,
330 and writing, even after end of file)
332 If "standard" CHS specified, but non-standard root dir size do not
333 use table-lookup based geometry ("old-dos media descriptor")
335 David's new uz script, that can use commands other than gzip for
338 Fixed vold support for mpartition
340 Added PACKED to unicode_char declaration (Arm)
341 Mpartition can now create the image if -I is specified.
343 Support for geometry-less Atari disks
344 Support for byte-swapping disks
346 Avoid .(l and .)l in generated man pages
350 Fix [] wildcard off-by-one error
351 Avoid overwriting (Unix) file by itself in mcopy
352 Avoid cloberring any file if implicit target is used (the
353 one-argument syntax of mcopy)
354 Added Zip 750 entry to mzip.c
358 Fixes in buffer.c for oddly sized image files
359 Mformat.c fixes to avoid making images which would not be
362 Warn for invalid partition numbers
364 Released pre6-3.9.8 : getting rid of linux-gnu references is
365 almost as difficult as exorcising the devil...
367 Released pre5-3.9.8 after fixing a couple of version numbers
369 Applied Adrian Bunk's patches, minus the Stallmanisms.
370 De-stallmanized config.gues and config.sub files
373 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
375 Fixed #ifdef DEBUG statements, pre2-3.9.8
379 Updated config.guess/config.sub to support Darwin
380 Patch for converting contents of files from/to Dos' version of
382 Fixed bug in to_unix function
384 Updated freebsd floppy device definitions
386 Fixes for floppyd to work with current protocol version of floppyd
388 Fixed parsing of Unix filenames ending with slash
390 Fixed file closing of floppyd
392 Fixed a cindex entry in documentation
394 Rewrote PDF rule to use pdflatex, rather than go through dvi
395 (pdflatex output looks nicer)
397 Fixed JAZ Zip file overwrite bug (actually, this bug could occur
398 on any disk reasonably full...)
400 Fix mzip manpage to include Linux in the list of supported OS'es
402 Protect against division by zero when reading BSD disks...
406 Hurd openflags fix in mainloop.c
407 Added description for t option to mcopy man page
408 Added -lbsd to list of libraries to be tested for LynxOS
409 Unset LANG in mkmanpages
410 Updated config.gues/config.sub
411 Removed stale documentation for xcopy
412 Fixed typo in mformat man page
414 Zip 250 support in mzip
418 Variable initialization in mdir.c
420 Do not use offset_t on AIX ==> broken
422 Large disk fixes, especially for Solaris
424 Released Mtools-3.9.7
426 Mtools-pre2-3.9.7 released: some potential buffer overflows
428 Mtools-pre-3.9.7 released
430 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
433 Fixed a couple of floppyd bugs
435 Added texclean to make distclean, added new "pdf" target.
437 Did away with ipaddr_t and replaced it with IPaddr_t which is
438 guaranteed not to crash anywhere...
440 Defined geometry for default a: devices on Linux and Solaris with vold
442 Carefully navigate Solaris' polluted namespace...
444 Suppressed bogus error message when mcopying to an existing file.
446 Fixed mformat problem with Fat32 (mformat didn't initialize the
447 label and fat type fields in the boot sector, and the other mtools
448 utils didn't check them)
450 Fixed two more scandisk problems:
451 - the infosector should end with 0x55aa
452 - When deleting a file, be sure to DELMARK the VSE's as
453 well as the main entry
455 Fixed an evasive Fat32 bug: a parent directory entry pointing to
456 the root should have an address of 0 instead of the more logical 2
458 Corrected mdir error handling
459 Fixed a bug in mren (problem when renaming short file names)
461 Corrected a typo in error handling
463 Fixed size problem with Ctrl-Z.
465 (No joke): avoid setting volume serial number on "Old Dos" disks
467 - Re-aligned command line options with Dos
468 - New -n/-N option for mlabel to change volume serial numbers
469 - Mattrib -p escapes file names in order to handle file name
471 - Changed mformat serial number format
474 - Mtools would never completely use all directory slots, because
475 it overestimated space consumption by 1
476 - Mtools did not initialize the stat struct for pipes, and thus
477 gave occasionnally bogus "Disk full" error messages
479 Rearranged tty open call so that it is only opened when actually
482 Added special case for 0xf7 media descriptor
484 Make O_NDELAY conditional everywhere
486 Return correct return value from mt_lseek, even if off_t is a 64
489 Treat OpenBSD the same as NetBsd
491 Released 3.9.6 with the following fixes:
493 - Make Xdf work in nodma mode
494 - Fix for mformatting MSS disks
496 1st attempt to release 3.9.6 with mostly minor fixes:
497 - platform compatibility
498 - automatic installation of info files
499 - mdir's -X flag no longer implies "recursive"
501 3.9.5 released with mostly minor fixes:
502 - Starting cluster numbers of "." directory entry
503 - Copying of empty Files from Dos to Unix
504 - Misc platform compatibility issues
506 Another embarrassing bug found, 3.9.4 released. When will this
509 Mtools 3.9.3 released
511 Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
512 Glibc problems are potentially dangerous, and can lead to data loss.
514 Mtools 3.9.2 released
516 Fixed typo in plain_io.c
518 More rigor about signed vs unsigned issue. FreeBSD Scsi support
520 Allow for 2GB Jaz drives
522 Rewrote floppyd in C instead of C++
532 Make sure that fat_type doesn't overwrite byte 62 with zero =>
535 Added support for "replay" listing of mattrib. Cleaned up version
536 number and date handling (date was not always accurate...)
538 Added geometry autodetection code for Linux harddisks to
539 mpartition and mformat. Removed misleading references to
540 "non-removable media"
542 Added boot sector template option for mpartition. Fixed mtools.1
543 man page. Mattrib -s e:/ fix
547 Fixed HP SCSI "big write" bug
549 Fixed debug mode in vfat.c
551 A few minor floppy related fixes (installation, and replacement
552 for setenv function, which is absent from some platforms)
554 Added floppyd (remote access to floppy disks)
556 Updated mkmanpages script to dynamically get date and mtools
557 version. Correct "removable media" error message to talk about
558 /etc/mtools.conf instead of /etc/mtools. Do init_geom to read
559 geometry if no geometry is set.
561 Mtools 3.9.1 released
563 Mformats makes disks which are readable both as partitioned and as
566 Corrected Tim Hoogasian's e-mail address
570 "Dirty end too big" mformat bug corrected
572 Corrected typoes for IRIX devices, use macros for attribute types,
573 fix 0 length file bug.
576 Bigger array for SCSI command
580 OS/2 portabilty, GLIBC portability
582 Fixes related to Solaris new vold support
584 Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
585 CFLAGS for those makes that don't support implicit rules well enough
589 Various Bugfixes (overwrite mode and directory cache)
591 Added mformat_only flag.
593 Fixed non-batchmode mcopy bug. Fixed shortname case bug
595 Minfo and mformat boot program bug fixes
597 Allow default block sizes per device which are not equal to 512
599 Allow and interpret back quotes in file names
603 Scandir optimizations. Fixed nasty Heisenbug in hash.c.
605 Fixed integer width problem in fat.c, and minor bugs in hashtable.
607 More performance optization. Buffer handl
611 Fixed mtype and mcheck. Started cleaning up out-of-memory handling
613 Jacked up performance, and corrected signal handling bugs. Also
614 corrected various "Disk full bugs"
616 Fixed "Bad address" errors which occurred when running mdu on empty
617 files. When copying recursively, do not barf if a directory
618 already exist at the target. Mcopy operates silently by default.
620 removed mwrite. Obsoleted long ago by mcopy
622 fixed mdir -X, added mattrib -X; document both. Fix doc for name
625 fixed polarity of sys_errlist. Renamed some include files which
626 bore the same name as system include files. Fixed another
627 memory leak in dir_grow. A/UX termio workaround.
629 fixed filedescriptor leak. Make mbadblocks stoppable. Doc
630 fixes. Fixed one memory leak, another one further down the road
631 remains... Fixed error handling in createDirectory.
633 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
635 Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
636 version. No actual code change apart from patchlevel.h
638 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to
639 mkmanifest. Fixed mpartition bug with partitions with more
642 Pre-3.9. Redid the mainloop logic, and got rid of lots of cruft
643 in subdir.c and parse.c. It is now possible to put wildcards in
644 the directory part of the filename. Design also became simpler,
645 making it easier to maintain this part in the future.
646 Added a -u flag to mzip to temporarily unprotect a disk
647 Added a test to mzip to prevent manipulation of mounted disks
648 Added support for partitioned devices in mmount
650 Added mdu and recursive mdir
652 Fixed bugs in recursive copy stuff, added recursive mattrib, and
653 fixed a few buffer overrun bugs
655 Added recursive copy and attribute conservation flags to mtools
659 Include Sys5 directories on SunOs in order to have a correct
665 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
667 Corrected gross bug in fat12_decode
669 Simplified fat bits handlings
673 Buffer.c and FAT bugfixes
675 More FAT32 fixes. New mshowfat command.
677 Fix FAT32 problem (FAT32 does not use the high nibble)
679 Detect presence of sys_errlist using autoconf instead of
680 making its usage dependent on BSD.
682 Guard against corrupted "next free block" pointer in a FAT32
685 Use root privileges during scsi_init
687 Fixed close-on-exec bug.
689 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
692 Fixed Makefile so that make -j works without errors. Fixed
693 upper/lower bug in mmount
697 Add option to mformat to keep boot sector, or to read it from
698 a file. Added various flags to customize directory listing
699 appearance and long name behavior
701 Fix bug in yesterdays fix. Also make sure to resize hash
702 table if too many deleted entries accumulate.
704 Fixed yet another hash table bug
706 Yet another HPUX fix.
708 Fixed a segfault in mpartition
710 Removed a few Stallmanisms in config.guess
714 Corrected a few errors in new vold code
716 Removed extra &'s from string addresses.
717 Added listing of current configuration to mtools -V
718 Updated version number and date in mkmanpages
720 New Bebox patch. Removes almost all BEBOX specifities because
721 they are no longer needed with the new DR9 release.
722 Small fix for size detection of SCSI disks.
724 Fixed small typo in new vold code
726 Added partition consistency checks for accessing device.
728 New version of Solaris vold code
730 Solaris floppy geometry. Support for older MO disks (size
731 returned in non-standard location)
732 Corrected ftp address for fdutils
736 Brought Makefile.Be and config.h.Be up to date with the recent
739 Add Ultrix to the list of OS'es which do not define their
743 Various "Next proofintg".
744 * add VENDOR_, CPU_ and OS_ before machine type tags
745 detected by autoconf. Next tends to be a frequently
747 * use utimes preferably before utime
748 * try to include _all_ termios functions.
749 * more precise detection of available termios functions
751 Added knowledge of Zip Tools Disk password to mzip.
753 Went back to using ALLCFLAGS in Makefile for those people who
754 want to override CFLAGS
756 Added note about Alpha site to doc.
758 Prefer termios.h on Ultrix
760 Renamed missing_functions to missFuncs in order to accommodate
761 operating systems with file name size limits.
763 Autoextend size for images that are too small. Moved BSD
764 dependent #ifdef's after the inclusion of sys/param.h, as it
765 is there where BSD is defined (sigh!)
767 Insist on the fact that mzip's -f flag only makes sense if
768 given in addition to -e
770 Corrected typo in doc.
772 Removed read and write prototypes, they conflict on an Alpha!
778 Do not stat any files in /dev/ on BEOS. Remove spurious system
779 include files from non-sysincludes.h file
783 Added Sunos4 and SCO support to scsi.c. Use tzset before
784 gettimeofday, except for BSD. Use Z: for a Zip drive, and J:
785 for a Jaz drive instead of D: for both. Added machine
786 specific libraries and CFLAGS for A/UX.
788 Various A/UX fixes. Changed scanning order for termio and
789 termios due to problems with the other order on A/UX.
791 Print error message for wrong password.
793 Include mzip man page
795 Document new config flags introduced in 970204.
796 On systems not supporting euid, do not bail out if both euid
799 Prevent mmove from moving directories into themselves in order
800 to keep a tree-like directory structure
802 Fixes for mtools_no_vfat
804 Additional config file pointed by MTOOLSRC; possibility to
805 switch off generation of VFAT long names.
807 HP/UX setresuid support. "Mcopy a: ." bugfix.
809 Renamed f_* functions into file_* in order to avoid a clash
810 with a preprocessor macro named f_data on AIX.
812 Released 3.5, Solaris compatibility fix w.r.t. memmove
816 Fixed location of configuration file in doc.
820 More BSD & 64 bit changes
822 Added at_exit implementation for those boxes who have neither
823 on_exit nor atexit. Added check to make sure the compiler
824 handels structures in a sane way.
826 Backed out again of the traditional-cpp change on
827 larry.jones@sdrc.com's advice
829 Added traditional-cpp in order to make mtools compilable on a Sun
833 BEOS fixes and support for SCSI devices with a sector size
836 Fixed some preprocessor macros. Added texclean macro to Makefile
838 Clarified the documentation about the Bebox.
842 Made Makefile "AIX-proof". Added precmd to config.c
846 Osf4 support. Released 3.2
848 Fixed Makefile typo, and fixed various bugs with renaming or
849 moving dot or dot dot
851 Fixed streamcache.c bug
853 Added add-disk script and format.dat file
855 Fixed mrd e:xxx/, tested Xdf support
857 Strange mformat fixes... Dos always seems to assume a cluster
858 size of at least 8 sectors and 512 root directory entries. Sigh!
860 FAT32 support, BeOS patches
862 Added more debugging code to mpartition and minfo. Added
863 "packed" attribute to the partition structure.
864 Cleaned up argument handling.
866 Fixed partition removal bug in mpartition.c
868 Fixed streamcache allocation bug. Clearer error message when
869 trying to access a non-existant partition.
871 Added "packed" attribute to some fields of the vfat_subentry
872 structure, in order to work around a bug in a gcc version for
874 Use getpass() for password prompting in mzip.c
876 Various small bug fixes
878 Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
879 Relaxed security in mpartition.c, so non-root users may print
880 a partition, or perform any local changes to it.
881 Mpartition now prints info to recreate partition.
883 Add mpartition command to partition Zip, Jaz and other Scsi
885 Chose between on_exit or atexit using autoconf.
887 Added minfo command to print disk geometry and other parameters.
889 Replaced atexit by onexit. Atexit barfed on SunOs.
890 Replaced O_RDWR flag in mzip with O_RDONLY.
891 Added precmd variable to execute commands before opening a
894 Shortened README, segregated config file pathnames into a
897 General cleanup, more enhancements to privilege handling.
899 Added debugging output to mzip.
900 Made expand.c safe and still compatible with suid operation.
902 Made device locking optional.
904 Added const qualifiers
908 Added kludgy xcopy support
910 Only skip sys_errlist declaration on NetBSD (some older
911 platforms might need this)
913 Upgraded to autoconf 2.12, fixed some Stallmanisms.
914 Added device entry for LynxOs.
916 Use gettimeofday before tzset (for BSD).
918 Use correct location of signal.h. Removed declaration
921 BEOS patches by Marco Nelissen
922 Removed some clashing prototypes
924 Prints privilege debugging message to stderr, and reopens SCSI
925 file with root privileges.
927 Fixed typoes in mzip. Added pointer to html doc.
929 Fixed Linux Scsi ioctl.
931 Added warnings against cookies, fixed doc to reflect new set-uid
934 Fixed typoes in privilege routines, and removed Heisenbergian
935 parts of the debugging code.
937 Deleted prototypes for random() and srandom(): they *did*
938 clash (on a DEC Alpha)
940 Solaris & SunOS privilege management. Fixed date entries in
945 Cosmetic mzip fixes. Add pointer to info doc to mtools.1
947 ISC addition. Doc fix for set_parameters ioctl.
951 Replaced zip_* by scsi_*, as these functions are not
952 specifically relevant to the ZIP (they apply to the JAZ as
954 Fixed documentation on -n flag for mcopy
956 Include termio before termios because of SCO
958 Do not declare timezone external variable on Ultrix, where it
959 has a different type.
961 Changed floppy into rfloppy for HP/UX.
963 Added -Q option to mcopy, which aborts copying multiple files
964 as soon as an error for one file is encounteres
965 Removed useless -i option for mcopy
966 Small devices.c portability fixes (ultrix and hpux)
968 Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
969 Renamed mtest to mtoolstest to please pine.
971 Added warning about running mtools with root privs.
973 Fixed uninitialized variable in fat.c and added example for Sun
976 Fixed comment in scripts/tgz
978 Fixed partition handling code (yes, again!)
979 Added code to handle ZIP disks on Solaris/SunOS (many thanks
980 to James P. Dugal (jpd@usl.edu))
982 Proper permissions for main directory.
984 Renamed scripts/gz to scripts/tgz
986 Added raw devices for Solaris, apparently more performant
987 Test first for tzset in autoconfigure (Solaris)
989 Segment fault due to change of buffer size fixed
992 Lots of portability fixes.
994 Yet another typo fix for the partition table code. Oh Gawd,
995 will this never stop?
996 Fix for proper .mcwd pathname concatenations
998 Backed out partition table "fix": the original code was right
1001 Corrected a few uninitialised variables
1003 Corrected doc about devices file.
1005 Added pointer to the doc to the README file
1007 Partition table parsing fixed
1009 Fujitsu DS/90 (UXP) support
1012 dispatcher cleanup in mtools.h
1013 fat_bits 12/16 toggle fix.
1014 More space for error message variable in mformat
1017 Fix for CPU names with dots in autoconfigure
1018 Some new device descriptions
1021 Set XDF mode when formatting an XDF disk (makes sense, after all...)
1023 XDF seems to work. Yeah!
1025 More ED fixes. More parameter size fixed for 64bit.
1027 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1030 Make vold and "raw" floppy drive accessible simultaneously on
1031 Solaris by calling one A: and the other B:
1032 Add missing mbadblock LINK in Makefile.in
1034 Inserted missing newline character
1036 Treat number of heads or sectors as chars. The BIOS wouldn't
1037 allow bigger numbers anyways, thus big numbers are probably
1041 Geometry setting for HP/UX
1043 Changed auto array in codepage to malloc'ed one in order to
1044 work around buggy compilers
1046 Pointers to other doc in the INSTALL file
1048 Do no longer be confused by deleted VSE's
1049 Define MAXPATHLEN for SCO
1050 Missing lockf prototype for SCO
1052 Handle DEBUG flag by autoconf
1053 Added Host vendor to compile flags in order to handle Sinix
1054 Better Sinix handling in devices.c
1055 Only print duplicate VSE messages when running with DEBUG
1056 Fix mlabel exit code
1059 Xcopy fixes for Sysv
1063 pre4-3.0. Lots of bug fixes. Texinfo file
1067 use autoconf to get rid once and for all of those pesky OS
1070 use sys/termio instead of sys/termios to please AIX
1072 more spelling fixes.
1076 Mmount arg parsing bug fix
1078 New partition configuration variable.
1080 Spelling fixes, removed warning in README, IRIX floppy devices
1082 More Alpha streamlining
1084 Alpha patches (64 bit clean-ness)
1085 AIX patches (built in drive names)
1086 Raw tty patches (no need to type return when confirming an action
1089 Replaced include strings.h by string.h everywhere where applicable
1090 Changed thousands separator in mdir from a dot to a space to
1091 please both Americans and Europeans.
1092 Fixed memory allocation bug if no "constant device" is present.
1093 #defined strtoul to atol for SunOS
1095 Minor cleanup, released 2.5.4
1097 Added "magic" header to manpages to have man run them through tbl
1099 MTOOLS_LOWER_CASE is back, various small bug fixes over
1102 Bus strike in Grenoble! Well, let's do something useful and
1103 re-arrange the configuration file syntax :-)
1104 The syntax has become much more flexible now, and also
1105 includes items which used to be only accessible via
1106 environmental variables.
1107 Moreover, it is now possible to include character translation
1110 Fixed another Atari disk bug: Atari disks sport a bogus
1111 "number of hidden sectors"
1113 Fixed missing zero-terminator in autorenamed long names
1114 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1116 Fixed small quoted-printable-induced typo in the Makefile.
1118 Folks, please don't use quoted-printable. It sometimes changes
1119 the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1120 Case in point: £400 gets transformed into =A3400, which looks
1121 like 3400 pounds to a person unaware of this MIME "feature".
1124 Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1127 Added ability to do mcopy e: to copy all files from the root
1129 New Xdf-less Linux target in the Makefile
1130 Relaxed sanity check to let pass wonky Atari disks whose FAT
1131 begins with 3 zero bytes.
1132 Make the check of the initial fat bytes conditional on
1134 Corrected "testna=" bug
1135 Upped minimal sector size to be 256 (instead of 128). This
1141 Ability to mformat 2m disks
1143 Xdf bug fix (dev parameters always set to Xdf, even if it
1144 wasn't really an Xdf disk)
1145 Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1147 Centralizing most env-var handling.
1148 Update of the mtools manpage.
1149 Xdf is now optional, and only active if MTOOLS_USE_XDF is
1150 set. Saves a few milliseconds of startup time on non Xdf
1152 Some lawyer-proofing, just in case :)
1154 Fast xdf code (finally!)
1155 Minor performance enhancements here and there.
1156 Names which are all lower case now generate a long name entry
1157 (according to Steve Searle, that's how Win'95 behaves).
1159 Character translation table fixes. Other name fixes.
1161 Put restrictions on long names to better match Win'95.
1162 (suggested by Steve Searle)
1163 Reworked autorename code. Catch SIGHUP signal
1164 Added missing file close to main loop
1165 Changed name of the "ask for action" command line flag to 'm',
1166 and used 'a' for 'Autorename'.
1168 Removed infinite loop bug in hash.c, which occurred when the
1169 hash table was filled with deleted entries.
1171 added Atari ST-style serial numbers (they live in the banner)
1172 fixed a troff bug in mtools.1
1173 Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1175 v2.5.3 released (after lots of fixes)
1179 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1180 mattrib.c: initialized "code" to avoid complaint by GCC
1182 Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1183 init.c: fs_init(): initialized disk_size to 0. The section
1184 which previously initialized this is ifdef'd out. Why?
1185 Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1186 Gee, the Makefile is pretty ugly! It might be good to start
1187 thinking about autoconfigure, or at least some cleanup.
1188 Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1189 msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1190 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1191 devices.c: use %i instead of %d to allow different bases
1192 parse.c: Changed comment for get_name()/get_path(); need to
1193 revisit this after deciding on default case behavior
1194 devices.c: load_devices(): fixed bad fprintf, line 748
1195 parse.c, mformat.c, misc.c: replaced expressions like
1196 "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1202 Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1203 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1209 v19950822 v2.5 released
1212 Change null-fill for unused remainder of VSE to 0xff fill for
1213 both upper and lower character (just one null for termination)
1214 This seems to better match Win95's behavior; Win95 had been
1215 complaining about bogus characters
1216 file_name.c: unicode_write()
1219 Commented out enforcement of VSEs being in order. Win95 likes
1220 to put them exactly backwards, so we'd better tolerate getting
1221 them any way they might come! Not sure what is lost by losing
1222 these checks, but it seems to be OK.
1224 directory.c: dir_read()
1226 Copying and distribution of this file, with or without modification,
1227 are permitted in any medium without royalty provided the copyright
1228 notice and this notice are preserved.