2 - Move Linux-specific block device sizing code into
3 linux-specific section of devices.c
4 - Error messages for all failure cases on fs_init failure
5 - Fix compilation without XDF support (OpenImage signature)
6 - Fix polarity of format_xdf command-line parameter of mformat
7 - In XDF_IO retry enough times to actually succeed, even if
8 FDC was in a bad state before
9 - Remove useless buffer flushing triggered when giving up a
10 reference to a stream node that is still referenced
12 - Clearer error message if neither size nor geometry of drive
13 to be mformatted is known
14 - In mformat, make Fs dynamically allocated rather than
15 on-stack, so as to be able to use utilities supplied by
17 - Remove duplicate writing of backup boot sector
18 - Allow to infer geometry if only size is specified
19 - Protect against attempt to create zero-sized buffer
20 - Code simplification in mattrib
21 - Remove dead code in mpartition
24 - Fixed XDF floppy disk access
25 - Fixed faulty behavior at end of image in mcat
26 - Device/Image size handling refactoring
27 - allow remap to write to zero-backed sectors (may happen if
28 buffer is flushed, and is not an error in that case)
29 - Raise an error when trying to mcopy multiple source files
30 over a single destination file (rather than directory)
31 - fix handling of "hidden" sectors (is a 2 byte quantity on
32 small disks, not 4 byte as previously assumed)
33 - Modernize partition support. Tuned consistency check to
34 actually check about important issues (such as overlapping
35 partitions) rather than stuff nobody else cares about
36 (alignment on entire cylinder boundaries)
37 - Move various "filter" options (partition, offset, swap,
38 scsi) into separate classes, rather than leaving almost
39 everything in plain_io
40 - Simplify and centralize geometry handling and LBA code
41 - Fix some more more compiler warnings
43 - Fix bug in cluster preallocation, which was accidentally introduced
44 by compiler warning "fixes" from v4_0_28
46 - Support remapping of data (for not-quite linear floppy image files)
47 - Re-open floppy devices read-write if geometry parameters need to
49 - relax consistency checks in mpartition (partitions created
50 by current fdisk would almost never pass these checks)
51 - Fix some compiler warnings
53 - Fix type error in calls to iconv functions
55 - Fix compilation on Macintosh
56 - Ignore image file locking errors if we are performing a
57 read-only access anyways
58 - Minor man-page fixes
60 - Preserve non-updated contents of info sector, just in case
61 it contains program code
62 - When parsing config file, always use "C" locale for
63 case-insensitive comparisons
65 - Spelling fixes in documentation
66 - Permit calling "make install" with >= -j2
67 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
69 - Address lots of compiler warnings (assignments between different types)
70 - Network speedup fixes for floppyd (TCP_CORK)
72 - Explicitly pass available target buffer size for character
75 - Fixed -f flag for mformat (size is KBytes, rather than sectors)
76 - Fixed toupper/tolower usage (unsigned char rather than plain signed)
78 - Fixed compilation for MingW
79 - After MingW compilation, make sure executable has .exe extension
80 - Addressed compiler warnings
81 - Fixed length handling in character set conversion (Unicode file names)
82 - Fixed matching of character range, when containing Unicode
83 characters (mdir "c:test[α-ω].exe")
84 - Fixed initialization of my_scsi_cmd constructor
86 - initialize directory entries to 0
87 - bad message "Too few sectors" replaced with "Too many sectors"
88 - apostrophe in mlabel no longer causes generation of long entry
89 - option to fake system date for file creation using the
90 SOURCE_DATE_EPOCH environment variables
92 - can now be compiled with "clang" compiler
93 - fallback function for strndup, for those platforms that don't have it
94 - fixed a number of -Wextra warnings
96 - new compressed archive formats for uz/lz
98 - allow to specify number of reserved sectors for FAT32.
99 - file/device locking with timeout (rather than immediate failure)
100 - fixed support for BPB-less legacy formats.
101 - removed check that disk must be an integer number of tracks.
103 - removed .eh/.oh macros from manual pages
105 - Fix for short file names starting with character 0xE5
106 (by remapping it to 0x5)
107 - mpartition: Partition types closer to what Microsoft uses
108 - mformat: figure out LBA geometry as last resort if geometry
109 is neither specified in config and/or commandline, nor can be
110 queried from the device
111 - mformat: use same default cluster size by size as Microsoft
113 - additional sanity checks
114 - document how cluster size is picked in mformat.c man page
115 - document how partition types are picked in mpartition.c man page
117 Fix for names of iconv encodings on AIX
118 Fix mt_size_t on NetBSD
119 Fixed compilation on Mingw
120 Fixed doc (especially mformat)
121 Fix mformat'ing of FAT12 filesystems with huge cluster sizes
122 Minfo prints image file name in mformat command line if an image
124 Always generate gzip-compressed RPMs, in order to remain
125 compatible with older distributions
126 Fixed buffer overflow with drive letter in mclasserase
128 mbadblocks now takes a list of bad blocks (either as sectors
130 mbadblocks now is able to do write scanning for bad blocks
131 mshowfat can show cluster of specific offset
132 Enable mtools to deal with very small sector sizes...
133 Fixed encoding of all-lowercase names (no need to mangle
135 Consider every directory entry after an ENDMARK (0x00) to be deleted
136 After writing a new entry at end of a directory, be sure to also add
139 Deal with possibility of a NULL pointer being returned by
140 localtime during timestamp conversion
143 fixed formatting of fat_size_calculation.tex document
144 compatibility with current autoconfig versions
145 Make it clear that label is limited to 11 characters
146 Fixed typo in initialization of FAT32 info sector
148 Added missing -i option to mshortname
149 Split .deb package into mtools and floppyd in order to
152 New mshortname command
153 Fix floppyd for disks bigger than 2 Gig
154 Remove obsolete -z flag
155 Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
156 Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
157 Mformat now correctly writes backup boot sector
158 Fixed signedness of serial number in mlabel
159 Fixed buffer size problem in mlabel
160 Make mlabel write backup boot sector if FAT32
161 Catch situation where both clear and new label are given to mlabel
162 Quote filename parameters to scripts
163 Mformat: Close file descriptor for boot sector
164 Added lzip support to scripts/uz
165 Added Tot_sectors option to mformat
166 Fixed hidden sector handling in mformat
167 Minfo generates mformat command lines containing new -T option
168 Mlabel prints error if label too long
170 Merged Debian patches
172 Mingw compatibility fixes
174 Fixed compiler warnings in mlabel.c and elsewhere
175 Fixed h flag in mattrib.c
176 Added missing error checking in floppyd and elsewhere
179 More copyright stuff...
180 Fixed issues with max filesize (was 2GB instead of 4GB, and
181 warned only after copying the beginning)
185 Corrected copyright attributions in the various files
187 Fixed conversion to native on OS/2
188 Fix parsing of --help flag
190 Fallback for missing wchar_t iconv codepage on OS/2
191 Fixes for LSEEK64 support
192 Support for --help that returns a 0 exit status
194 Make setpgrp() usage in floppyd conditional
195 Re-instate PACKED around structure (ARM)
199 BSD support: SCSI, use getuserid/getgroupid in floppyd
200 Another attempt at putwc fix for OS/2
202 Fallback for putwc if there is wchar (OS/2)
204 Fix multipart pathname parsing bug in vfat.c (forgot limited length)
205 Supplied fallback define for putwc
206 Copyright notices in all sources
208 Off-by-2 error in unix_name in file_name.c
210 Missing functions on Solaris
212 Offset for -i-specified image files
214 Use transliteration to represent characters which don't exist in
217 Mtools-4 with Unicode support
221 Fixed security issue with doctored file names
222 64 bit compilation fixes
224 Fixed misc blunders...
226 Fixed lots of minor items raised by gcc4
227 Merged some of the BSD patches
228 New version of amuFormat.sh written in sh rather than csh
229 Support for config parameters after -i file
232 Added sizecode printing on minfo
233 In mformat manpage, use same flag for sector number than printed in
235 Limit sizecode to 6, else it will overflow max sector size defined in
238 Applied mingw patch by Jamey Sharp and Josh Triplett
240 Fixed doc about /etc/default
242 Fixed mlabel on read-only disks
244 Merged Redhat/Fedora patches
246 #ifdef linux-dependent code in mformat.c
249 Fix reading of boot sector (block size)
251 Do no longer open floppy devices with O_EXCL, in order to enable
252 work-around against broken cache.
254 If no info dir exists at all, assume dir
262 Solaris 8 compatibility
266 Support for multiple drives in floppyd
270 Fixed some long name directory entry freeing bugs
272 Fixed duplicate FAT writing error. Fixed segfault on short images.
273 Mformat creates images of correct size.
274 CYGWIN compatibility (O_BINARY flag).
276 Cygwin patch for plain_io.c (no locking)
278 Fix a couple of memory leaks in config file parsing. Fix llong.h
279 (redefined same symbol twice)
280 Fix a variable initialization problem in plain_io.c
281 New mclasserase command to erase memory cards
284 Fix rootskip and rate of XDF disks
286 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
288 Moved putc after variable description (anybody knows about a -W
289 flag so that gcc warns about these?)
291 Fixed mattrib -p (missing slash)
293 Added -m option to mformat to specify a non-standard mediabyte
295 Added -d options to mformat to specify number of FAT copies. Can
296 also be set using the MTOOLS_NFATS environmental variable.
297 Also added similar env variable for root directory length
298 Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
299 CYGWIN fixes for mcat
302 Released 3.9.9 : Identical to pre-3.9.9 except for the version number
305 Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
306 Improved fat_len calculation
307 Fixed plain_io.c bug (Swap byte applied after partition stuff,
310 Fixed mcat end-of-file bugs (mcat went on writing, and writing,
311 and writing, even after end of file)
313 If "standard" CHS specified, but non-standard root dir size do not
314 use table-lookup based geometry ("old-dos media descriptor")
316 David's new uz script, that can use commands other than gzip for
319 Fixed vold support for mpartition
321 Added PACKED to unicode_char declaration (Arm)
322 Mpartition can now create the image if -I is specified.
324 Support for geometry-less Atari disks
325 Support for byte-swapping disks
327 Avoid .(l and .)l in generated man pages
331 Fix [] wildcard off-by-one error
332 Avoid overwriting (Unix) file by itself in mcopy
333 Avoid cloberring any file if implicit target is used (the
334 one-argument syntax of mcopy)
335 Added Zip 750 entry to mzip.c
339 Fixes in buffer.c for oddly sized image files
340 Mformat.c fixes to avoid making images which would not be
343 Warn for invalid partition numbers
345 Released pre6-3.9.8 : getting rid of linux-gnu references is
346 almost as difficult as exorcising the devil...
348 Released pre5-3.9.8 after fixing a couple of version numbers
350 Applied Adrian Bunk's patches, minus the Stallmanisms.
351 De-stallmanized config.gues and config.sub files
354 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
356 Fixed #ifdef DEBUG statements, pre2-3.9.8
360 Updated config.guess/config.sub to support Darwin
361 Patch for converting contents of files from/to Dos' version of
363 Fixed bug in to_unix function
365 Updated freebsd floppy device definitions
367 Fixes for floppyd to work with current protocol version of floppyd
369 Fixed parsing of Unix filenames ending with slash
371 Fixed file closing of floppyd
373 Fixed a cindex entry in documentation
375 Rewrote PDF rule to use pdflatex, rather than go through dvi
376 (pdflatex output looks nicer)
378 Fixed JAZ Zip file overwrite bug (actually, this bug could occur
379 on any disk reasonably full...)
381 Fix mzip manpage to include Linux in the list of supported OS'es
383 Protect against division by zero when reading BSD disks...
387 Hurd openflags fix in mainloop.c
388 Added description for t option to mcopy man page
389 Added -lbsd to list of libraries to be tested for LynxOS
390 Unset LANG in mkmanpages
391 Updated config.gues/config.sub
392 Removed stale documentation for xcopy
393 Fixed typo in mformat man page
395 Zip 250 support in mzip
399 Variable initialization in mdir.c
401 Do not use offset_t on AIX ==> broken
403 Large disk fixes, especially for Solaris
405 Released Mtools-3.9.7
407 Mtools-pre2-3.9.7 released: some potential buffer overflows
409 Mtools-pre-3.9.7 released
411 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
414 Fixed a couple of floppyd bugs
416 Added texclean to make distclean, added new "pdf" target.
418 Did away with ipaddr_t and replaced it with IPaddr_t which is
419 guaranteed not to crash anywhere...
421 Defined geometry for default a: devices on Linux and Solaris with vold
423 Carefully navigate Solaris' polluted namespace...
425 Suppressed bogus error message when mcopying to an existing file.
427 Fixed mformat problem with Fat32 (mformat didn't initialize the
428 label and fat type fields in the boot sector, and the other mtools
429 utils didn't check them)
431 Fixed two more scandisk problems:
432 - the infosector should end with 0x55aa
433 - When deleting a file, be sure to DELMARK the VSE's as
434 well as the main entry
436 Fixed an evasive Fat32 bug: a parent directory entry pointing to
437 the root should have an address of 0 instead of the more logical 2
439 Corrected mdir error handling
440 Fixed a bug in mren (problem when renaming short file names)
442 Corrected a typo in error handling
444 Fixed size problem with Ctrl-Z.
446 (No joke): avoid setting volume serial number on "Old Dos" disks
448 - Re-aligned command line options with Dos
449 - New -n/-N option for mlabel to change volume serial numbers
450 - Mattrib -p escapes file names in order to handle file name
452 - Changed mformat serial number format
455 - Mtools would never completely use all directory slots, because
456 it overestimated space consumption by 1
457 - Mtools did not initialize the stat struct for pipes, and thus
458 gave occasionnally bogus "Disk full" error messages
460 Rearranged tty open call so that it is only opened when actually
463 Added special case for 0xf7 media descriptor
465 Make O_NDELAY conditional everywhere
467 Return correct return value from mt_lseek, even if off_t is a 64
470 Treat OpenBSD the same as NetBsd
472 Released 3.9.6 with the following fixes:
474 - Make Xdf work in nodma mode
475 - Fix for mformatting MSS disks
477 1st attempt to release 3.9.6 with mostly minor fixes:
478 - platform compatibility
479 - automatic installation of info files
480 - mdir's -X flag no longer implies "recursive"
482 3.9.5 released with mostly minor fixes:
483 - Starting cluster numbers of "." directory entry
484 - Copying of empty Files from Dos to Unix
485 - Misc platform compatibility issues
487 Another embarrassing bug found, 3.9.4 released. When will this
490 Mtools 3.9.3 released
492 Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
493 Glibc problems are potentially dangerous, and can lead to data loss.
495 Mtools 3.9.2 released
497 Fixed typo in plain_io.c
499 More rigor about signed vs unsigned issue. FreeBSD Scsi support
501 Allow for 2GB Jaz drives
503 Rewrote floppyd in C instead of C++
513 Make sure that fat_type doesn't overwrite byte 62 with zero =>
516 Added support for "replay" listing of mattrib. Cleaned up version
517 number and date handling (date was not always accurate...)
519 Added geometry autodetection code for Linux harddisks to
520 mpartition and mformat. Removed misleading references to
521 "non-removable media"
523 Added boot sector template option for mpartition. Fixed mtools.1
524 man page. Mattrib -s e:/ fix
528 Fixed HP SCSI "big write" bug
530 Fixed debug mode in vfat.c
532 A few minor floppy related fixes (installation, and replacement
533 for setenv function, which is absent from some platforms)
535 Added floppyd (remote access to floppy disks)
537 Updated mkmanpages script to dynamically get date and mtools
538 version. Correct "removable media" error message to talk about
539 /etc/mtools.conf instead of /etc/mtools. Do init_geom to read
540 geometry if no geometry is set.
542 Mtools 3.9.1 released
544 Mformats makes disks which are readable both as partitioned and as
547 Corrected Tim Hoogasian's e-mail address
551 "Dirty end too big" mformat bug corrected
553 Corrected typoes for IRIX devices, use macros for attribute types,
554 fix 0 length file bug.
557 Bigger array for SCSI command
561 OS/2 portabilty, GLIBC portability
563 Fixes related to Solaris new vold support
565 Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
566 CFLAGS for those makes that don't support implicit rules well enough
570 Various Bugfixes (overwrite mode and directory cache)
572 Added mformat_only flag.
574 Fixed non-batchmode mcopy bug. Fixed shortname case bug
576 Minfo and mformat boot program bug fixes
578 Allow default block sizes per device which are not equal to 512
580 Allow and interpret back quotes in file names
584 Scandir optimizations. Fixed nasty Heisenbug in hash.c.
586 Fixed integer width problem in fat.c, and minor bugs in hashtable.
588 More performance optization. Buffer handl
592 Fixed mtype and mcheck. Started cleaning up out-of-memory handling
594 Jacked up performance, and corrected signal handling bugs. Also
595 corrected various "Disk full bugs"
597 Fixed "Bad address" errors which occurred when running mdu on empty
598 files. When copying recursively, do not barf if a directory
599 already exist at the target. Mcopy operates silently by default.
601 removed mwrite. Obsoleted long ago by mcopy
603 fixed mdir -X, added mattrib -X; document both. Fix doc for name
606 fixed polarity of sys_errlist. Renamed some include files which
607 bore the same name as system include files. Fixed another
608 memory leak in dir_grow. A/UX termio workaround.
610 fixed filedescriptor leak. Make mbadblocks stoppable. Doc
611 fixes. Fixed one memory leak, another one further down the road
612 remains... Fixed error handling in createDirectory.
614 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
616 Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
617 version. No actual code change apart from patchlevel.h
619 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to
620 mkmanifest. Fixed mpartition bug with partitions with more
623 Pre-3.9. Redid the mainloop logic, and got rid of lots of cruft
624 in subdir.c and parse.c. It is now possible to put wildcards in
625 the directory part of the filename. Design also became simpler,
626 making it easier to maintain this part in the future.
627 Added a -u flag to mzip to temporarily unprotect a disk
628 Added a test to mzip to prevent manipulation of mounted disks
629 Added support for partitioned devices in mmount
631 Added mdu and recursive mdir
633 Fixed bugs in recursive copy stuff, added recursive mattrib, and
634 fixed a few buffer overrun bugs
636 Added recursive copy and attribute conservation flags to mtools
640 Include Sys5 directories on SunOs in order to have a correct
646 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
648 Corrected gross bug in fat12_decode
650 Simplified fat bits handlings
654 Buffer.c and FAT bugfixes
656 More FAT32 fixes. New mshowfat command.
658 Fix FAT32 problem (FAT32 does not use the high nibble)
660 Detect presence of sys_errlist using autoconf instead of
661 making its usage dependent on BSD.
663 Guard against corrupted "next free block" pointer in a FAT32
666 Use root privileges during scsi_init
668 Fixed close-on-exec bug.
670 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
673 Fixed Makefile so that make -j works without errors. Fixed
674 upper/lower bug in mmount
678 Add option to mformat to keep boot sector, or to read it from
679 a file. Added various flags to customize directory listing
680 appearance and long name behavior
682 Fix bug in yesterdays fix. Also make sure to resize hash
683 table if too many deleted entries accumulate.
685 Fixed yet another hash table bug
687 Yet another HPUX fix.
689 Fixed a segfault in mpartition
691 Removed a few Stallmanisms in config.guess
695 Corrected a few errors in new vold code
697 Removed extra &'s from string addresses.
698 Added listing of current configuration to mtools -V
699 Updated version number and date in mkmanpages
701 New Bebox patch. Removes almost all BEBOX specifities because
702 they are no longer needed with the new DR9 release.
703 Small fix for size detection of SCSI disks.
705 Fixed small typo in new vold code
707 Added partition consistency checks for accessing device.
709 New version of Solaris vold code
711 Solaris floppy geometry. Support for older MO disks (size
712 returned in non-standard location)
713 Corrected ftp address for fdutils
717 Brought Makefile.Be and config.h.Be up to date with the recent
720 Add Ultrix to the list of OS'es which do not define their
724 Various "Next proofintg".
725 * add VENDOR_, CPU_ and OS_ before machine type tags
726 detected by autoconf. Next tends to be a frequently
728 * use utimes preferably before utime
729 * try to include _all_ termios functions.
730 * more precise detection of available termios functions
732 Added knowledge of Zip Tools Disk password to mzip.
734 Went back to using ALLCFLAGS in Makefile for those people who
735 want to override CFLAGS
737 Added note about Alpha site to doc.
739 Prefer termios.h on Ultrix
741 Renamed missing_functions to missFuncs in order to accommodate
742 operating systems with file name size limits.
744 Autoextend size for images that are too small. Moved BSD
745 dependent #ifdef's after the inclusion of sys/param.h, as it
746 is there where BSD is defined (sigh!)
748 Insist on the fact that mzip's -f flag only makes sense if
749 given in addition to -e
751 Corrected typo in doc.
753 Removed read and write prototypes, they conflict on an Alpha!
759 Do not stat any files in /dev/ on BEOS. Remove spurious system
760 include files from non-sysincludes.h file
764 Added Sunos4 and SCO support to scsi.c. Use tzset before
765 gettimeofday, except for BSD. Use Z: for a Zip drive, and J:
766 for a Jaz drive instead of D: for both. Added machine
767 specific libraries and CFLAGS for A/UX.
769 Various A/UX fixes. Changed scanning order for termio and
770 termios due to problems with the other order on A/UX.
772 Print error message for wrong password.
774 Include mzip man page
776 Document new config flags introduced in 970204.
777 On systems not supporting euid, do not bail out if both euid
780 Prevent mmove from moving directories into themselves in order
781 to keep a tree-like directory structure
783 Fixes for mtools_no_vfat
785 Additional config file pointed by MTOOLSRC; possibility to
786 switch off generation of VFAT long names.
788 HP/UX setresuid support. "Mcopy a: ." bugfix.
790 Renamed f_* functions into file_* in order to avoid a clash
791 with a preprocessor macro named f_data on AIX.
793 Released 3.5, Solaris compatibility fix w.r.t. memmove
797 Fixed location of configuration file in doc.
801 More BSD & 64 bit changes
803 Added at_exit implementation for those boxes who have neither
804 on_exit nor atexit. Added check to make sure the compiler
805 handels structures in a sane way.
807 Backed out again of the traditional-cpp change on
808 larry.jones@sdrc.com's advice
810 Added traditional-cpp in order to make mtools compilable on a Sun
814 BEOS fixes and support for SCSI devices with a sector size
817 Fixed some preprocessor macros. Added texclean macro to Makefile
819 Clarified the documentation about the Bebox.
823 Made Makefile "AIX-proof". Added precmd to config.c
827 Osf4 support. Released 3.2
829 Fixed Makefile typo, and fixed various bugs with renaming or
830 moving dot or dot dot
832 Fixed streamcache.c bug
834 Added add-disk script and format.dat file
836 Fixed mrd e:xxx/, tested Xdf support
838 Strange mformat fixes... Dos always seems to assume a cluster
839 size of at least 8 sectors and 512 root directory entries. Sigh!
841 FAT32 support, BeOS patches
843 Added more debugging code to mpartition and minfo. Added
844 "packed" attribute to the partition structure.
845 Cleaned up argument handling.
847 Fixed partition removal bug in mpartition.c
849 Fixed streamcache allocation bug. Clearer error message when
850 trying to access a non-existant partition.
852 Added "packed" attribute to some fields of the vfat_subentry
853 structure, in order to work around a bug in a gcc version for
855 Use getpass() for password prompting in mzip.c
857 Various small bug fixes
859 Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
860 Relaxed security in mpartition.c, so non-root users may print
861 a partition, or perform any local changes to it.
862 Mpartition now prints info to recreate partition.
864 Add mpartition command to partition Zip, Jaz and other Scsi
866 Chose between on_exit or atexit using autoconf.
868 Added minfo command to print disk geometry and other parameters.
870 Replaced atexit by onexit. Atexit barfed on SunOs.
871 Replaced O_RDWR flag in mzip with O_RDONLY.
872 Added precmd variable to execute commands before opening a
875 Shortened README, segregated config file pathnames into a
878 General cleanup, more enhancements to privilege handling.
880 Added debugging output to mzip.
881 Made expand.c safe and still compatible with suid operation.
883 Made device locking optional.
885 Added const qualifiers
889 Added kludgy xcopy support
891 Only skip sys_errlist declaration on NetBSD (some older
892 platforms might need this)
894 Upgraded to autoconf 2.12, fixed some Stallmanisms.
895 Added device entry for LynxOs.
897 Use gettimeofday before tzset (for BSD).
899 Use correct location of signal.h. Removed declaration
902 BEOS patches by Marco Nelissen
903 Removed some clashing prototypes
905 Prints privilege debugging message to stderr, and reopens SCSI
906 file with root privileges.
908 Fixed typoes in mzip. Added pointer to html doc.
910 Fixed Linux Scsi ioctl.
912 Added warnings against cookies, fixed doc to reflect new set-uid
915 Fixed typoes in privilege routines, and removed Heisenbergian
916 parts of the debugging code.
918 Deleted prototypes for random() and srandom(): they *did*
919 clash (on a DEC Alpha)
921 Solaris & SunOS privilege management. Fixed date entries in
926 Cosmetic mzip fixes. Add pointer to info doc to mtools.1
928 ISC addition. Doc fix for set_parameters ioctl.
932 Replaced zip_* by scsi_*, as these functions are not
933 specifically relevant to the ZIP (they apply to the JAZ as
935 Fixed documentation on -n flag for mcopy
937 Include termio before termios because of SCO
939 Do not declare timezone external variable on Ultrix, where it
940 has a different type.
942 Changed floppy into rfloppy for HP/UX.
944 Added -Q option to mcopy, which aborts copying multiple files
945 as soon as an error for one file is encounteres
946 Removed useless -i option for mcopy
947 Small devices.c portability fixes (ultrix and hpux)
949 Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
950 Renamed mtest to mtoolstest to please pine.
952 Added warning about running mtools with root privs.
954 Fixed uninitialized variable in fat.c and added example for Sun
957 Fixed comment in scripts/tgz
959 Fixed partition handling code (yes, again!)
960 Added code to handle ZIP disks on Solaris/SunOS (many thanks
961 to James P. Dugal (jpd@usl.edu))
963 Proper permissions for main directory.
965 Renamed scripts/gz to scripts/tgz
967 Added raw devices for Solaris, apparently more performant
968 Test first for tzset in autoconfigure (Solaris)
970 Segment fault due to change of buffer size fixed
973 Lots of portability fixes.
975 Yet another typo fix for the partition table code. Oh Gawd,
976 will this never stop?
977 Fix for proper .mcwd pathname concatenations
979 Backed out partition table "fix": the original code was right
982 Corrected a few uninitialised variables
984 Corrected doc about devices file.
986 Added pointer to the doc to the README file
988 Partition table parsing fixed
990 Fujitsu DS/90 (UXP) support
993 dispatcher cleanup in mtools.h
994 fat_bits 12/16 toggle fix.
995 More space for error message variable in mformat
998 Fix for CPU names with dots in autoconfigure
999 Some new device descriptions
1002 Set XDF mode when formatting an XDF disk (makes sense, after all...)
1004 XDF seems to work. Yeah!
1006 More ED fixes. More parameter size fixed for 64bit.
1008 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1011 Make vold and "raw" floppy drive accessible simultaneously on
1012 Solaris by calling one A: and the other B:
1013 Add missing mbadblock LINK in Makefile.in
1015 Inserted missing newline character
1017 Treat number of heads or sectors as chars. The BIOS wouldn't
1018 allow bigger numbers anyways, thus big numbers are probably
1022 Geometry setting for HP/UX
1024 Changed auto array in codepage to malloc'ed one in order to
1025 work around buggy compilers
1027 Pointers to other doc in the INSTALL file
1029 Do no longer be confused by deleted VSE's
1030 Define MAXPATHLEN for SCO
1031 Missing lockf prototype for SCO
1033 Handle DEBUG flag by autoconf
1034 Added Host vendor to compile flags in order to handle Sinix
1035 Better Sinix handling in devices.c
1036 Only print duplicate VSE messages when running with DEBUG
1037 Fix mlabel exit code
1040 Xcopy fixes for Sysv
1044 pre4-3.0. Lots of bug fixes. Texinfo file
1048 use autoconf to get rid once and for all of those pesky OS
1051 use sys/termio instead of sys/termios to please AIX
1053 more spelling fixes.
1057 Mmount arg parsing bug fix
1059 New partition configuration variable.
1061 Spelling fixes, removed warning in README, IRIX floppy devices
1063 More Alpha streamlining
1065 Alpha patches (64 bit clean-ness)
1066 AIX patches (built in drive names)
1067 Raw tty patches (no need to type return when confirming an action
1070 Replaced include strings.h by string.h everywhere where applicable
1071 Changed thousands separator in mdir from a dot to a space to
1072 please both Americans and Europeans.
1073 Fixed memory allocation bug if no "constant device" is present.
1074 #defined strtoul to atol for SunOS
1076 Minor cleanup, released 2.5.4
1078 Added "magic" header to manpages to have man run them through tbl
1080 MTOOLS_LOWER_CASE is back, various small bug fixes over
1083 Bus strike in Grenoble! Well, let's do something useful and
1084 re-arrange the configuration file syntax :-)
1085 The syntax has become much more flexible now, and also
1086 includes items which used to be only accessible via
1087 environmental variables.
1088 Moreover, it is now possible to include character translation
1091 Fixed another Atari disk bug: Atari disks sport a bogus
1092 "number of hidden sectors"
1094 Fixed missing zero-terminator in autorenamed long names
1095 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1097 Fixed small quoted-printable-induced typo in the Makefile.
1099 Folks, please don't use quoted-printable. It sometimes changes
1100 the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1101 Case in point: £400 gets transformed into =A3400, which looks
1102 like 3400 pounds to a person unaware of this MIME "feature".
1105 Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1108 Added ability to do mcopy e: to copy all files from the root
1110 New Xdf-less Linux target in the Makefile
1111 Relaxed sanity check to let pass wonky Atari disks whose FAT
1112 begins with 3 zero bytes.
1113 Make the check of the initial fat bytes conditional on
1115 Corrected "testna=" bug
1116 Upped minimal sector size to be 256 (instead of 128). This
1122 Ability to mformat 2m disks
1124 Xdf bug fix (dev parameters always set to Xdf, even if it
1125 wasn't really an Xdf disk)
1126 Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1128 Centralizing most env-var handling.
1129 Update of the mtools manpage.
1130 Xdf is now optional, and only active if MTOOLS_USE_XDF is
1131 set. Saves a few milliseconds of startup time on non Xdf
1133 Some lawyer-proofing, just in case :)
1135 Fast xdf code (finally!)
1136 Minor performance enhancements here and there.
1137 Names which are all lower case now generate a long name entry
1138 (according to Steve Searle, that's how Win'95 behaves).
1140 Character translation table fixes. Other name fixes.
1142 Put restrictions on long names to better match Win'95.
1143 (suggested by Steve Searle)
1144 Reworked autorename code. Catch SIGHUP signal
1145 Added missing file close to main loop
1146 Changed name of the "ask for action" command line flag to 'm',
1147 and used 'a' for 'Autorename'.
1149 Removed infinite loop bug in hash.c, which occurred when the
1150 hash table was filled with deleted entries.
1152 added Atari ST-style serial numbers (they live in the banner)
1153 fixed a troff bug in mtools.1
1154 Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1156 v2.5.3 released (after lots of fixes)
1160 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1161 mattrib.c: initialized "code" to avoid complaint by GCC
1163 Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1164 init.c: fs_init(): initialized disk_size to 0. The section
1165 which previously initialized this is ifdef'd out. Why?
1166 Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1167 Gee, the Makefile is pretty ugly! It might be good to start
1168 thinking about autoconfigure, or at least some cleanup.
1169 Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1170 msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1171 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1172 devices.c: use %i instead of %d to allow different bases
1173 parse.c: Changed comment for get_name()/get_path(); need to
1174 revisit this after deciding on default case behavior
1175 devices.c: load_devices(): fixed bad fprintf, line 748
1176 parse.c, mformat.c, misc.c: replaced expressions like
1177 "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1183 Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1184 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1190 v19950822 v2.5 released
1193 Change null-fill for unused remainder of VSE to 0xff fill for
1194 both upper and lower character (just one null for termination)
1195 This seems to better match Win95's behavior; Win95 had been
1196 complaining about bogus characters
1197 file_name.c: unicode_write()
1200 Commented out enforcement of VSEs being in order. Win95 likes
1201 to put them exactly backwards, so we'd better tolerate getting
1202 them any way they might come! Not sure what is lost by losing
1203 these checks, but it seems to be OK.
1205 directory.c: dir_read()
1207 Copying and distribution of this file, with or without modification,
1208 are permitted in any medium without royalty provided the copyright
1209 notice and this notice are preserved.