1v4_0_37 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 7 8v4_0_36 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 13 - Misc refactoring 14 15v4_0_35 16 - Fix cluster padding at end of file in batch mode, and add 17 comments about what happens here 18 19v4_0_34 20 - Fix mcopy -s issue 21 22v4_0_33 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 28 lseek64 over llseek 29 - Fixed floppy sector size handling on platforms that are not 30 Linux 31 - Added support for image files on command line to mcat 32 33v4_0_32 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 37 mformat command line 38 - easier way to enter sizes on mformat command line (mformat -C -T 39 1440K) 40 - For small sizes, mformat assumes floppy geometries (heads 1 or 2, 41 tracks 40 or 80) 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 45 values for these 46 - minfo no longer prints bigsect if smallsect is set 47 - for remap filter, error when trying to write non-zero data 48 to unmapped sectors 49 - Fix misc compilation warnings occuring when disabling 50 certain features (largefiles, raw-term) 51 52v4_0_31 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 62 elsewhere. 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 67 stream.c 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 73 74v4_0_30 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 93v4_0_29 94 - Fix bug in cluster preallocation, which was accidentally introduced 95 by compiler warning "fixes" from v4_0_28 96v4_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 99 be changed 100 - relax consistency checks in mpartition (partitions created 101 by current fdisk would almost never pass these checks) 102 - Fix some compiler warnings 103v4_0_27 104 - Fix type error in calls to iconv functions 105v4_0_26 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 110v4_0_25 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 115v4_0_24 116 - Spelling fixes in documentation 117 - Permit calling "make install" with >= -j2 118 - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs 119v4_0_23 120 - Address lots of compiler warnings (assignments between different types) 121 - Network speedup fixes for floppyd (TCP_CORK) 122 - Typo fixes 123 - Explicitly pass available target buffer size for character 124 set conversions 125v4_0_22 126 - Fixed -f flag for mformat (size is KBytes, rather than sectors) 127 - Fixed toupper/tolower usage (unsigned char rather than plain signed) 128v4_0_21 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 136v4_0_20 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 142 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 146 147 - new compressed archive formats for uz/lz 148 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. 153 154 - removed .eh/.oh macros from manual pages 155v4_0_19 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 163 for FAT32 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 167v4_0_18 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 174 file name was given 175 Always generate gzip-compressed RPMs, in order to remain 176 compatible with older distributions 177 Fixed buffer overflow with drive letter in mclasserase 178v4_0_17 179 mbadblocks now takes a list of bad blocks (either as sectors 180 or as clusters) 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 185 these) 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 188 an ENDMARK (0x00) 189 190 Deal with possibility of a NULL pointer being returned by 191 localtime during timestamp conversion 192v4_0_16 193 configure.in fixes 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 198v4_0_15 199 Added missing -i option to mshortname 200 Split .deb package into mtools and floppyd in order to 201 match Ubuntu 202v4_0_14 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 220v4_0_13 221 Merged Debian patches 222v4_0_12 223 Mingw compatibility fixes 224v4_0_11 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 228 229v4_0_10 230 More copyright stuff... 231 Fixed issues with max filesize (was 2GB instead of 4GB, and 232 warned only after copying the beginning) 233v4_0_9 234 More copyright stuff 235v4_0_8 236 Corrected copyright attributions in the various files 237v4_0_7 238 Fixed conversion to native on OS/2 239 Fix parsing of --help flag 240v4_0_6 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 244v4_0_5 245 Make setpgrp() usage in floppyd conditional 246 Re-instate PACKED around structure (ARM) 247 LSEEK64 248 249v4_0_4 250 BSD support: SCSI, use getuserid/getgroupid in floppyd 251 Another attempt at putwc fix for OS/2 252 Further GNU fixes 253 Fallback for putwc if there is wchar (OS/2) 254v4_0_3 255 Fix multipart pathname parsing bug in vfat.c (forgot limited length) 256 Supplied fallback define for putwc 257 Copyright notices in all sources 258v4_0_2 259 Off-by-2 error in unix_name in file_name.c 260v4_0_1 261 Missing functions on Solaris 262v4_0_0 263 Offset for -i-specified image files 264v4_0_0_pre2 265 Use transliteration to represent characters which don't exist in 266 target set 267v4_0_0_pre1 268 Mtools-4 with Unicode support 269 Released 4.0.0_pre1 270v20071226 271 Debian build files 272 Fixed security issue with doctored file names 273 64 bit compilation fixes 274v20070601 275 Fixed misc blunders... 276v20070531 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 281 Released 3.9.11 282v20070411 283 Added sizecode printing on minfo 284 In mformat manpage, use same flag for sector number than printed in 285 minfo 286 Limit sizecode to 6, else it will overflow max sector size defined in 287 msdos.h 288v20070308 289 Applied mingw patch by Jamey Sharp and Josh Triplett 290v20070306 291 Fixed doc about /etc/default 292v20070305 293 Fixed mlabel on read-only disks 294v20060626 295 Merged Redhat/Fedora patches 296v20060531 297 #ifdef linux-dependent code in mformat.c 298v20060525 299 Fix gcc4 warnings 300 Fix reading of boot sector (block size) 301v20060228b 302 Do no longer open floppy devices with O_EXCL, in order to enable 303 work-around against broken cache. 304v20060228 305 If no info dir exists at all, assume dir 306v20060227 307 Support for DESTDIR 308v20051011 309 Fix Unix loop 310v20050410 311 Cygwin compatibility 312v20050317 313 Solaris 8 compatibility 314v20050302 315 Released 3.9.10 316v20050228 317 Support for multiple drives in floppyd 318v20050213b 319 Updated .spec file 320v20050213 321 Fixed some long name directory entry freeing bugs 322v20040505 323 Fixed duplicate FAT writing error. Fixed segfault on short images. 324 Mformat creates images of correct size. 325 CYGWIN compatibility (O_BINARY flag). 326v20040420 327 Cygwin patch for plain_io.c (no locking) 328v20040228 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 333 C99 "compatibility" 334v20030718 335 Fix rootskip and rate of XDF disks 336v20030705 337 Fix inverted IS_MFORMAT_ONLY condition in plain_io.c 338v20030609 339 Moved putc after variable description (anybody knows about a -W 340 flag so that gcc warns about these?) 341v20030606 342 Fixed mattrib -p (missing slash) 343v20030605 344 Added -m option to mformat to specify a non-standard mediabyte 345v20030524 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 351 floppyd bugfixes 352v20030213 353 Released 3.9.9 : Identical to pre-3.9.9 except for the version number 354v20030213 355 Released 3.9.9 Pre-1 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, 359 instead of before) 360v20030118 361 Fixed mcat end-of-file bugs (mcat went on writing, and writing, 362 and writing, even after end of file) 363v20030105 364 If "standard" CHS specified, but non-standard root dir size do not 365 use table-lookup based geometry ("old-dos media descriptor") 366v20021118 367 David's new uz script, that can use commands other than gzip for 368 compression 369v20021116 370 Fixed vold support for mpartition 371v20021105 372 Added PACKED to unicode_char declaration (Arm) 373 Mpartition can now create the image if -I is specified. 374v20021104 375 Support for geometry-less Atari disks 376 Support for byte-swapping disks 377v20021102b 378 Avoid .(l and .)l in generated man pages 379v20021102 380 -i flag 381 Fix mformat for 2m 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 387 SCO Scsi fix 388v20020125 389 Fixes for cygwin 390 Fixes in buffer.c for oddly sized image files 391 Mformat.c fixes to avoid making images which would not be 392 readable in windows. 393v20010908 394 Warn for invalid partition numbers 395v20010526 396 Released pre6-3.9.8 : getting rid of linux-gnu references is 397 almost as difficult as exorcising the devil... 398v20010526 399 Released pre5-3.9.8 after fixing a couple of version numbers 400v20010526 401 Applied Adrian Bunk's patches, minus the Stallmanisms. 402 De-stallmanized config.gues and config.sub files 403 pre4-3.9.8 404v20010521 405 Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8 406v20010521 407 Fixed #ifdef DEBUG statements, pre2-3.9.8 408v20010520 409 Released pre-3.9.8 410v20010507 411 Updated config.guess/config.sub to support Darwin 412 Patch for converting contents of files from/to Dos' version of 413 8bit Ascii 414 Fixed bug in to_unix function 415v20010330 416 Updated freebsd floppy device definitions 417v20010325 418 Fixes for floppyd to work with current protocol version of floppyd 419v20010325 420 Fixed parsing of Unix filenames ending with slash 421v20010325 422 Fixed file closing of floppyd 423v20001213 424 Fixed a cindex entry in documentation 425v20001113 426 Rewrote PDF rule to use pdflatex, rather than go through dvi 427 (pdflatex output looks nicer) 428v20001113 429 Fixed JAZ Zip file overwrite bug (actually, this bug could occur 430 on any disk reasonably full...) 431v20001018 432 Fix mzip manpage to include Linux in the list of supported OS'es 433v20001009 434 Protect against division by zero when reading BSD disks... 435v20000829 436 Documentation fixes 437v20000820 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 445v20000810 446 Zip 250 support in mzip 447v20000708 448 Floppyd robustness 449v20000703 450 Variable initialization in mdir.c 451v20000623 452 Do not use offset_t on AIX ==> broken 453v20000610 454 Large disk fixes, especially for Solaris 455v20000601 456 Released Mtools-3.9.7 457v20000528 458 Mtools-pre2-3.9.7 released: some potential buffer overflows 459v20000521 460 Mtools-pre-3.9.7 released 461v20000520 462 Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong 463 for OpenBSD) 464v20000517 465 Fixed a couple of floppyd bugs 466v20000514 467 Added texclean to make distclean, added new "pdf" target. 468v20000510 469 Did away with ipaddr_t and replaced it with IPaddr_t which is 470 guaranteed not to crash anywhere... 471v20000509 472 Defined geometry for default a: devices on Linux and Solaris with vold 473v20000502 474 Carefully navigate Solaris' polluted namespace... 475v20000501 476 Suppressed bogus error message when mcopying to an existing file. 477v20000429 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) 481v20000428 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 486v20000428 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 489v20000416 490 Corrected mdir error handling 491 Fixed a bug in mren (problem when renaming short file names) 492v20000412 493 Corrected a typo in error handling 494v20000410 495 Fixed size problem with Ctrl-Z. 496v20000401 497 (No joke): avoid setting volume serial number on "Old Dos" disks 498v20000320 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 502 containing spaces 503 - Changed mformat serial number format 504v19991121 505 Fixed 2 bugs: 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 510v19991011 511 Rearranged tty open call so that it is only opened when actually 512 needed 513v19990807 514 Added special case for 0xf7 media descriptor 515v19990729 516 Make O_NDELAY conditional everywhere 517v19990715 518 Return correct return value from mt_lseek, even if off_t is a 64 519 bit quantity 520v19990712 521 Treat OpenBSD the same as NetBsd 522v19990630 523 Released 3.9.6 with the following fixes: 524 - Typoes in xdf_io.c 525 - Make Xdf work in nodma mode 526 - Fix for mformatting MSS disks 527v19990628 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" 532v19990419 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 537v19990315 538 Another embarrassing bug found, 3.9.4 released. When will this 539 nightmare stop? 540v19990314 541 Mtools 3.9.3 released 542v19990314 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. 545v19990314 546 Mtools 3.9.2 released 547v19990310 548 Fixed typo in plain_io.c 549v19990307 550 More rigor about signed vs unsigned issue. FreeBSD Scsi support 551v19990223 552 Allow for 2GB Jaz drives 553v19990218 554 Rewrote floppyd in C instead of C++ 555v19990208 556 More buffer fix 557v19990112 558 Buffer fix 559v19990111 560 "Big disk" fixes 561v19990104 562 OS/2 patch 563v19981211 564 Make sure that fat_type doesn't overwrite byte 62 with zero => 565 disk unbootable 566v19981204 567 Added support for "replay" listing of mattrib. Cleaned up version 568 number and date handling (date was not always accurate...) 569v19981204 570 Added geometry autodetection code for Linux harddisks to 571 mpartition and mformat. Removed misleading references to 572 "non-removable media" 573v19981203 574 Added boot sector template option for mpartition. Fixed mtools.1 575 man page. Mattrib -s e:/ fix 576v19981031 577 Man pages bug fixes 578v19981029 579 Fixed HP SCSI "big write" bug 580v19980701 581 Fixed debug mode in vfat.c 582v19980629 583 A few minor floppy related fixes (installation, and replacement 584 for setenv function, which is absent from some platforms) 585v19980523 586 Added floppyd (remote access to floppy disks) 587v19980522 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. 592v19980514 593 Mtools 3.9.1 released 594v19980503 595 Mformats makes disks which are readable both as partitioned and as 596 plain 597v19980405 598 Corrected Tim Hoogasian's e-mail address 599v19980404 600 OS/2 additions 601v19980331 602 "Dirty end too big" mformat bug corrected 603v19980330 604 Corrected typoes for IRIX devices, use macros for attribute types, 605 fix 0 length file bug. 606v19980327 607 Loop detection code 608 Bigger array for SCSI command 609v19980323 610 GLIBC portability 611v19980322 612 OS/2 portabilty, GLIBC portability 613v19980320 614 Fixes related to Solaris new vold support 615v19980317 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 618v19980310 619 Mtools 3.9 released 620v19980308 621 Various Bugfixes (overwrite mode and directory cache) 622v19980301 623 Added mformat_only flag. 624v19980130 625 Fixed non-batchmode mcopy bug. Fixed shortname case bug 626v19980130 627 Minfo and mformat boot program bug fixes 628v19980120 629 Allow default block sizes per device which are not equal to 512 630v19980108 631 Allow and interpret back quotes in file names 632v19980101 633 Misc bugfixes 634v19971231 635 Scandir optimizations. Fixed nasty Heisenbug in hash.c. 636v19971229 637 Fixed integer width problem in fat.c, and minor bugs in hashtable. 638v19971222 639 More performance optization. Buffer handl 640 ing redone. New 641 "asynchronous mode". 642v19971216 643 Fixed mtype and mcheck. Started cleaning up out-of-memory handling 644v19971215 645 Jacked up performance, and corrected signal handling bugs. Also 646 corrected various "Disk full bugs" 647v19971212 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. 651v19971212 652 removed mwrite. Obsoleted long ago by mcopy 653v19971211 654 fixed mdir -X, added mattrib -X; document both. Fix doc for name 655 clash handling 656v19971210 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. 660v19971209 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. 664v19971208 665 bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy... 666v19971205 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 669v19971204 670 Pre2-3.9. Added mpartion manpage. Added misc.o dependency to 671 mkmanifest. Fixed mpartition bug with partitions with more 672 than 1023 cylinders 673v19971129 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 681v19971116 682 Added mdu and recursive mdir 683v19971112 684 Fixed bugs in recursive copy stuff, added recursive mattrib, and 685 fixed a few buffer overrun bugs 686v19971110 687 Added recursive copy and attribute conservation flags to mtools 688v19971029 689 Fix parse.c typo 690v19971013 691 Include Sys5 directories on SunOs in order to have a correct 692 timestamp 693 Detect Lilo disks 694v19971006 695 Correct vold typo 696v19971002 697 Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user 698v19970823 699 Corrected gross bug in fat12_decode 700v19970823 701 Simplified fat bits handlings 702v19970820 703 Raw Scsi_io for SGI 704v19970813 705 Buffer.c and FAT bugfixes 706v19970813 707 More FAT32 fixes. New mshowfat command. 708v19970813 709 Fix FAT32 problem (FAT32 does not use the high nibble) 710v19970812 711 Detect presence of sys_errlist using autoconf instead of 712 making its usage dependent on BSD. 713 Fixed make texclean. 714 Guard against corrupted "next free block" pointer in a FAT32 715 InfoBlock 716v19970715 717 Use root privileges during scsi_init 718v19970714 719 Fixed close-on-exec bug. 720v19970714 721 Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors 722 of HP_UX 723v19970713 724 Fixed Makefile so that make -j works without errors. Fixed 725 upper/lower bug in mmount 726v19970708 727 Released 3.8 728v19970629 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 732v19970629 733 Fix bug in yesterdays fix. Also make sure to resize hash 734 table if too many deleted entries accumulate. 735v19970628 736 Fixed yet another hash table bug 737v19970619 738 Yet another HPUX fix. 739v19970619 740 Fixed a segfault in mpartition 741v19970617 742 Removed a few Stallmanisms in config.guess 743v19970612 744 3.7 released 745v19970611 746 Corrected a few errors in new vold code 747v19970610 748 Removed extra &'s from string addresses. 749 Added listing of current configuration to mtools -V 750 Updated version number and date in mkmanpages 751v19970604 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. 755v19970524 756 Fixed small typo in new vold code 757v19970524 758 Added partition consistency checks for accessing device. 759v19970523 760 New version of Solaris vold code 761v19970516 762 Solaris floppy geometry. Support for older MO disks (size 763 returned in non-standard location) 764 Corrected ftp address for fdutils 765v19970504 766 Updated README.BEBOX 767v19970504 768 Brought Makefile.Be and config.h.Be up to date with the recent 769 changes 770v19970504 771 Add Ultrix to the list of OS'es which do not define their 772 prototypes 773 Small Makefile fix 774v19970503 775 Various "Next proofintg". 776 * add VENDOR_, CPU_ and OS_ before machine type tags 777 detected by autoconf. Next tends to be a frequently 778 used variable 779 * use utimes preferably before utime 780 * try to include _all_ termios functions. 781 * more precise detection of available termios functions 782v19970501 783 Added knowledge of Zip Tools Disk password to mzip. 784v19970429 785 Went back to using ALLCFLAGS in Makefile for those people who 786 want to override CFLAGS 787v19970426 788 Added note about Alpha site to doc. 789v19970423 790 Prefer termios.h on Ultrix 791v19970422 792 Renamed missing_functions to missFuncs in order to accommodate 793 operating systems with file name size limits. 794v19970420 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!) 798v19970419 799 Insist on the fact that mzip's -f flag only makes sense if 800 given in addition to -e 801v19970419 802 Corrected typo in doc. 803v19970417 804 Removed read and write prototypes, they conflict on an Alpha! 805v19970414 806 More HP/UX fixes. 807v19970414 808 3.6 released 809v19970414 810 Do not stat any files in /dev/ on BEOS. Remove spurious system 811 include files from non-sysincludes.h file 812v19970413 813 Fixed Zip disk eject 814v19970412 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. 819v19970410 820 Various A/UX fixes. Changed scanning order for termio and 821 termios due to problems with the other order on A/UX. 822v19970405 823 Print error message for wrong password. 824v19970405 825 Include mzip man page 826v19970404 827 Document new config flags introduced in 970204. 828 On systems not supporting euid, do not bail out if both euid 829 and ruid are 0. 830v19970404 831 Prevent mmove from moving directories into themselves in order 832 to keep a tree-like directory structure 833v19970403 834 Fixes for mtools_no_vfat 835v19970402 836 Additional config file pointed by MTOOLSRC; possibility to 837 switch off generation of VFAT long names. 838v19970401 839 HP/UX setresuid support. "Mcopy a: ." bugfix. 840v19970331 841 Renamed f_* functions into file_* in order to avoid a clash 842 with a preprocessor macro named f_data on AIX. 843v19970323 844 Released 3.5, Solaris compatibility fix w.r.t. memmove 845v19970323 846 Released 3.4 847v19970319 848 Fixed location of configuration file in doc. 849v19970318 850 Fixed mlabel bug 851v19970316 852 More BSD & 64 bit changes 853v19970308 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. 857v19970307 858 Backed out again of the traditional-cpp change on 859 [email protected]'s advice 860v19970306 861 Added traditional-cpp in order to make mtools compilable on a Sun 862v19970304 863 Fixed nolock flag 864v19970227 865 BEOS fixes and support for SCSI devices with a sector size 866 different from 512. 867v19970225 868 Fixed some preprocessor macros. Added texclean macro to Makefile 869v19970224 870 Clarified the documentation about the Bebox. 871v19970224 872 Released 3.3 873v19970220 874 Made Makefile "AIX-proof". Added precmd to config.c 875v19970219 876 Fixed typo in mdel. 877v19970217 878 Osf4 support. Released 3.2 879v19970216 880 Fixed Makefile typo, and fixed various bugs with renaming or 881 moving dot or dot dot 882v19970215 883 Fixed streamcache.c bug 884v19970214 885 Added add-disk script and format.dat file 886v19970214 887 Fixed mrd e:xxx/, tested Xdf support 888v19970210 889 Strange mformat fixes... Dos always seems to assume a cluster 890 size of at least 8 sectors and 512 root directory entries. Sigh! 891v19970209 892 FAT32 support, BeOS patches 893v19970208 894 Added more debugging code to mpartition and minfo. Added 895 "packed" attribute to the partition structure. 896 Cleaned up argument handling. 897v19970207 898 Fixed partition removal bug in mpartition.c 899v19970206 900 Fixed streamcache allocation bug. Clearer error message when 901 trying to access a non-existant partition. 902v19970205 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 905 SunOS. 906 Use getpass() for password prompting in mzip.c 907v19970203 908 Various small bug fixes 909v19970202 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. 914v19970201 915 Add mpartition command to partition Zip, Jaz and other Scsi 916 devices. 917 Chose between on_exit or atexit using autoconf. 918v19970130 919 Added minfo command to print disk geometry and other parameters. 920v19970129 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 924 given drive. 925v19970127 926 Shortened README, segregated config file pathnames into a 927 separate file. 928v19970125 929 General cleanup, more enhancements to privilege handling. 930v19970123 931 Added debugging output to mzip. 932 Made expand.c safe and still compatible with suid operation. 933 Fixed mzip typo. 934 Made device locking optional. 935v19970122 936 Added const qualifiers 937v19970120 938 3.1 Released 939v19970116 940 Added kludgy xcopy support 941v19970111 942 Only skip sys_errlist declaration on NetBSD (some older 943 platforms might need this) 944v19970110 945 Upgraded to autoconf 2.12, fixed some Stallmanisms. 946 Added device entry for LynxOs. 947v19970107 948 Use gettimeofday before tzset (for BSD). 949v19970107 950 Use correct location of signal.h. Removed declaration 951 for sys_errlist. 952v19970107 953 BEOS patches by Marco Nelissen 954 Removed some clashing prototypes 955v19970103 956 Prints privilege debugging message to stderr, and reopens SCSI 957 file with root privileges. 958v19961227 959 Fixed typoes in mzip. Added pointer to html doc. 960v19961226 961 Fixed Linux Scsi ioctl. 962v19961225 963 Added warnings against cookies, fixed doc to reflect new set-uid 964 policy. 965v19961224 966 Fixed typoes in privilege routines, and removed Heisenbergian 967 parts of the debugging code. 968v19961223 969 Deleted prototypes for random() and srandom(): they *did* 970 clash (on a DEC Alpha) 971v19961222 972 Solaris & SunOS privilege management. Fixed date entries in 973 ChangeLog file. 974v19961221 975 Solaris ZIP fix. 976v19961219 977 Cosmetic mzip fixes. Add pointer to info doc to mtools.1 978v19961219 979 ISC addition. Doc fix for set_parameters ioctl. 980v19961217 981 Mformat doc fix. 982v19961216 983 Replaced zip_* by scsi_*, as these functions are not 984 specifically relevant to the ZIP (they apply to the JAZ as 985 well) 986 Fixed documentation on -n flag for mcopy 987v19961217 988 Include termio before termios because of SCO 989 Applied Jaz patch 990 Do not declare timezone external variable on Ultrix, where it 991 has a different type. 992v19961215 993 Changed floppy into rfloppy for HP/UX. 994v19961214 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) 999v19961211 1000 Added mzip (eject ZIP disks) (Markus Gyger <[email protected]>) 1001 Renamed mtest to mtoolstest to please pine. 1002v19961210 1003 Added warning about running mtools with root privs. 1004v19961209 1005 Fixed uninitialized variable in fat.c and added example for Sun 1006 mtools.conf 1007v19961209 1008 Fixed comment in scripts/tgz 1009v19961207 1010 Fixed partition handling code (yes, again!) 1011 Added code to handle ZIP disks on Solaris/SunOS (many thanks 1012 to James P. Dugal ([email protected])) 1013v19961203 1014 Proper permissions for main directory. 1015v19961202 1016 Renamed scripts/gz to scripts/tgz 1017v19961202 1018 Added raw devices for Solaris, apparently more performant 1019 Test first for tzset in autoconfigure (Solaris) 1020v19961202 1021 Segment fault due to change of buffer size fixed 1022 E-mail address fixed 1023v19961117 1024 Lots of portability fixes. 1025v19961012 1026 Yet another typo fix for the partition table code. Oh Gawd, 1027 will this never stop? 1028 Fix for proper .mcwd pathname concatenations 1029v19961009 1030 Backed out partition table "fix": the original code was right 1031 after all 1032v19960920 1033 Corrected a few uninitialised variables 1034v19960918 1035 Corrected doc about devices file. 1036v19960917 1037 Added pointer to the doc to the README file 1038v19960913 1039 Partition table parsing fixed 1040v19960807 1041 Fujitsu DS/90 (UXP) support 1042v19960727 1043 ISC device 1044 dispatcher cleanup in mtools.h 1045 fat_bits 12/16 toggle fix. 1046 More space for error message variable in mformat 1047 Typo fix in mren.1 1048v19960710 1049 Fix for CPU names with dots in autoconfigure 1050 Some new device descriptions 1051 FreeBSD fixes 1052v19960624 1053 Set XDF mode when formatting an XDF disk (makes sense, after all...) 1054v19960623 1055 XDF seems to work. Yeah! 1056v19960620 1057 More ED fixes. More parameter size fixed for 64bit. 1058v19960609 1059 Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for 1060 ED) 1061v19960528 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 1065v19960527 1066 Inserted missing newline character 1067v19960525 1068 Treat number of heads or sectors as chars. The BIOS wouldn't 1069 allow bigger numbers anyways, thus big numbers are probably 1070 due to errors. 1071v19960524 1072 Pattern match fix. 1073 Geometry setting for HP/UX 1074v19960522 1075 Changed auto array in codepage to malloc'ed one in order to 1076 work around buggy compilers 1077 OSF ALPHA devices 1078 Pointers to other doc in the INSTALL file 1079v19960516 1080 Do no longer be confused by deleted VSE's 1081 Define MAXPATHLEN for SCO 1082 Missing lockf prototype for SCO 1083v19960514 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 1089 Read-only locking 1090 Doc fixes 1091 Xcopy fixes for Sysv 1092v19960512 1093 3.0 released. 1094v19960508 1095 pre4-3.0. Lots of bug fixes. Texinfo file 1096v19960502 1097 pre-3.0 1098v19960501 1099 use autoconf to get rid once and for all of those pesky OS 1100 dependencies. 1101v19960429 1102 use sys/termio instead of sys/termios to please AIX 1103v19960427 1104 more spelling fixes. 1105v19960426 1106 Spelling fixes 1107v19960424 1108 Mmount arg parsing bug fix 1109v19960422 1110 New partition configuration variable. 1111v19960419 1112 Spelling fixes, removed warning in README, IRIX floppy devices 1113v19960214 1114 More Alpha streamlining 1115v19960213 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 1119v19960131 1120 Solaris patches 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 1126v19960121 1127 Minor cleanup, released 2.5.4 1128v19951205 1129 Added "magic" header to manpages to have man run them through tbl 1130v19951209 1131 MTOOLS_LOWER_CASE is back, various small bug fixes over 1132 Tuesday's changes 1133v19951205 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 1140 tables in line. 1141v19951126 1142 Fixed another Atari disk bug: Atari disks sport a bogus 1143 "number of hidden sectors" 1144v19951125 1145 Fixed missing zero-terminator in autorenamed long names 1146 MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY. 1147v19951124 1148 Fixed small quoted-printable-induced typo in the Makefile. 1149 <rant> 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". 1154 </rant> 1155v19951123 1156 Mformat now puts a 12 bit FAT on ED to better match Messy DOS' 1157 behavior. 1158v19951115 1159 Added ability to do mcopy e: to copy all files from the root 1160 directory of e: 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 1165 mtools_skip_check 1166 Corrected "testna=" bug 1167 Upped minimal sector size to be 256 (instead of 128). This 1168 helps 2m30 1169v19951112 1170 2m30 compatibility 1171 Manpage update 1172 2m checksum bug fix 1173 Ability to mformat 2m disks 1174v19951107 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 1178 the last. 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 1183 disks. 1184 Some lawyer-proofing, just in case :) 1185v19951106 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). 1190v19951029 1191 Character translation table fixes. Other name fixes. 1192v19951026 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'. 1199v19951024 1200 Removed infinite loop bug in hash.c, which occurred when the 1201 hash table was filled with deleted entries. 1202v19951023 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 ([email protected]) 1206v19950916 1207 v2.5.3 released (after lots of fixes) 1208v19950904 1209 v2.5.2 released 1210v19950904 1211 mdir.c: initialized "files" and "blocks" to avoid complaint by GCC 1212 mattrib.c: initialized "code" to avoid complaint by GCC 1213v19950904 1214 Based on comments by Paul Slootman <[email protected]>: 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)" 1229 1230v19950829 1231 v2.5.1 released 1232 1233v19950829 1234 Based on comments by Martin Kraemer <[email protected]>: 1235 Bug fixes for compile errors and core dumps under SINIX-D 5.41 1236 (Siemens SVR4): 1237 plain_io.c 1238 mk_direntry.c 1239 vfat.h 1240 1241v19950822 v2.5 released 1242 1243v19950820 DCN 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() 1249 1250v19950820 DCN 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. 1255 1256 directory.c: dir_read() 1257 1258Copying and distribution of this file, with or without modification, 1259are permitted in any medium without royalty provided the copyright 1260notice and this notice are preserved. 1261