Imported Upstream version 4.0.35
[platform/upstream/mtools.git] / NEWS
1 v4_0_35
2         - Fix cluster padding at end of file in batch mode, and add
3           comments about what happens here
4
5 v4_0_34
6         - Fix mcopy -s issue
7
8 v4_0_33
9         - Fix support for partitions (broken in 4.0.30)
10         - Portability fixes for Solaris 10 and 11
11         - General simplification of configure script, and largefile handling
12         - Tested and fixed for platforms *without* largefile support
13         - In cases where lseek works with 32-bit offsets, prefer
14           lseek64 over llseek
15         - Fixed floppy sector size handling on platforms that are not
16           Linux
17         - Added support for image files on command line to mcat
18
19 v4_0_32
20         - Simplify algorithm that choses filesystem parameters for
21           format, and align it more closely with what Win7 does
22         - Fix mformatting XDF when XDF not explicitly specified on
23           mformat command line
24         - easier way to enter sizes on mformat command line (mformat -C -T
25           1440K)
26         - For small sizes, mformat assumes floppy geometries (heads 1 or 2,
27           tracks 40 or 80)
28         - Handle attempts to mformat too small filesystems more gracefully
29         - Enable minfo to print out additional mformat command line
30           parameters, if the present filesystem uses non-default
31           values for these
32         - minfo no longer prints bigsect if smallsect is set
33         - for remap filter, error when trying to write non-zero data
34           to unmapped sectors
35         - Fix misc compilation warnings occuring when disabling
36           certain features (largefiles, raw-term)
37
38 v4_0_31
39         - Move Linux-specific block device sizing code into
40           linux-specific section of devices.c
41         - Error messages for all failure cases on fs_init failure
42         - Fix compilation without XDF support (OpenImage signature)
43         - Fix polarity of format_xdf command-line parameter of mformat
44         - In XDF_IO retry enough times to actually succeed, even if
45           FDC was in a bad state before
46         - Remove useless buffer flushing triggered when giving up a
47           reference to a stream node that is still referenced
48           elsewhere.
49         - Clearer error message if neither size nor geometry of drive
50           to be mformatted is known
51         - In mformat, make Fs dynamically allocated rather than
52           on-stack, so as to be able to use utilities supplied by
53           stream.c
54         - Remove duplicate writing of backup boot sector
55         - Allow to infer geometry if only size is specified
56         - Protect against attempt to create zero-sized buffer
57         - Code simplification in mattrib
58         - Remove dead code in mpartition
59
60 v4_0_30
61         - Fixed XDF floppy disk access
62         - Fixed faulty behavior at end of image in mcat
63         - Device/Image size handling refactoring
64         - allow remap to write to zero-backed sectors (may happen if
65           buffer is flushed, and is not an error in that case)
66         - Raise an error when trying to mcopy multiple source files
67           over a single destination file (rather than directory)
68         - fix handling of "hidden" sectors (is a 2 byte quantity on
69           small disks, not 4 byte as previously assumed)
70         - Modernize partition support. Tuned consistency check to
71           actually check about important issues (such as overlapping
72           partitions) rather than stuff nobody else cares about
73           (alignment on entire cylinder boundaries)
74         - Move various "filter" options (partition, offset, swap,
75           scsi) into separate classes, rather than leaving almost
76           everything in plain_io
77         - Simplify and centralize geometry handling and LBA code
78         - Fix some more more compiler warnings
79 v4_0_29
80         - Fix bug in cluster preallocation, which was accidentally introduced
81         by compiler warning "fixes" from v4_0_28
82 v4_0_28
83         - Support remapping of data (for not-quite linear floppy image files)
84         - Re-open floppy devices read-write if geometry parameters need to
85         be changed
86         - relax consistency checks in mpartition (partitions created
87           by current fdisk would almost never pass these checks)
88         - Fix some compiler warnings
89 v4_0_27
90         - Fix type error in calls to iconv functions
91 v4_0_26
92         - Fix compilation on Macintosh
93         - Ignore image file locking errors if we are performing a
94           read-only access anyways
95         - Minor man-page fixes
96 v4_0_25
97         - Preserve non-updated contents of info sector, just in case
98           it contains program code
99         - When parsing config file, always use "C" locale for
100           case-insensitive comparisons
101 v4_0_24
102         - Spelling fixes in documentation
103         - Permit calling "make install" with >= -j2
104         - Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
105 v4_0_23
106         - Address lots of compiler warnings (assignments between different types)
107         - Network speedup fixes for floppyd (TCP_CORK)
108         - Typo fixes
109         - Explicitly pass available target buffer size for character
110         set conversions
111 v4_0_22
112         - Fixed -f flag for mformat (size is KBytes, rather than sectors)
113         - Fixed toupper/tolower usage (unsigned char rather than plain signed)
114 v4_0_21
115         - Fixed compilation for MingW
116         - After MingW compilation, make sure executable has .exe extension
117         - Addressed compiler warnings
118         - Fixed length handling in character set conversion (Unicode file names)
119         - Fixed matching of character range, when containing Unicode
120         characters (mdir "c:test[α-ω].exe")
121         - Fixed initialization of my_scsi_cmd constructor
122 v4_0_20
123         - initialize directory entries to 0
124         - bad message "Too few sectors" replaced with "Too many sectors"
125         - apostrophe in mlabel no longer causes generation of long entry
126         - option to fake system date for file creation using the
127         SOURCE_DATE_EPOCH environment variables
128
129         - can now be compiled with "clang" compiler
130         - fallback function for strndup, for those platforms that don't have it
131         - fixed a number of -Wextra warnings
132
133         - new compressed archive formats for uz/lz
134
135         - allow to specify number of reserved sectors for FAT32.
136         - file/device locking with timeout (rather than immediate failure)
137         - fixed support for BPB-less legacy formats.
138         - removed check that disk must be an integer number of tracks.
139
140         - removed .eh/.oh macros from manual pages
141 v4_0_19
142         - Fix for short file names starting with character 0xE5
143         (by remapping it to 0x5)
144         - mpartition: Partition types closer to what Microsoft uses
145         - mformat: figure out LBA geometry as last resort if geometry
146         is neither specified in config and/or commandline, nor can be
147         queried from the device
148         - mformat: use same default cluster size by size as Microsoft
149         for FAT32
150         - additional sanity checks
151         - document how cluster size is picked in mformat.c man page
152         - document how partition types are picked in mpartition.c man page
153 v4_0_18 
154         Fix for names of iconv encodings on AIX
155         Fix mt_size_t on NetBSD
156         Fixed compilation on Mingw
157         Fixed doc (especially mformat)
158         Fix mformat'ing of FAT12 filesystems with huge cluster sizes
159         Minfo prints image file name in mformat command line if an image
160         file name was given
161         Always generate gzip-compressed RPMs, in order to remain
162         compatible with older distributions
163         Fixed buffer overflow with drive letter in mclasserase
164 v4_0_17
165         mbadblocks now takes a list of bad blocks (either as sectors
166         or as clusters)
167         mbadblocks now is able to do write scanning for bad blocks
168         mshowfat can show cluster of specific offset
169         Enable mtools to deal with very small sector sizes...
170         Fixed encoding of all-lowercase names (no need to mangle
171         these)
172         Consider every directory entry after an ENDMARK (0x00) to be deleted
173         After writing a new entry at end of a directory, be sure to also add
174         an ENDMARK (0x00)
175
176         Deal with possibility of a NULL pointer being returned by
177         localtime during timestamp conversion
178 v4_0_16
179         configure.in fixes
180         fixed formatting of fat_size_calculation.tex document
181         compatibility with current autoconfig versions
182         Make it clear that label is limited to 11 characters
183         Fixed typo in initialization of FAT32 info sector
184 v4_0_15
185         Added missing -i option to mshortname
186         Split .deb package into mtools and floppyd in order to
187         match Ubuntu
188 v4_0_14
189         New mshortname command
190         Fix floppyd for disks bigger than 2 Gig
191         Remove obsolete -z flag
192         Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
193         Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
194         Mformat now correctly writes backup boot sector
195         Fixed signedness of serial number in mlabel
196         Fixed buffer size problem in mlabel
197         Make mlabel write backup boot sector if FAT32
198         Catch situation where both clear and new label are given to mlabel
199         Quote filename parameters to scripts
200         Mformat: Close file descriptor for boot sector
201         Added lzip support to scripts/uz
202         Added Tot_sectors option to mformat
203         Fixed hidden sector handling in mformat
204         Minfo generates mformat command lines containing new -T option
205         Mlabel prints error if label too long
206 v4_0_13
207         Merged Debian patches
208 v4_0_12
209         Mingw compatibility fixes
210 v4_0_11
211         Fixed compiler warnings in mlabel.c and elsewhere
212         Fixed h flag in mattrib.c
213         Added missing error checking in floppyd and elsewhere
214         
215 v4_0_10
216         More copyright stuff...
217         Fixed issues with max filesize (was 2GB instead of 4GB, and
218         warned only after copying the beginning)
219 v4_0_9
220         More copyright stuff
221 v4_0_8
222         Corrected copyright attributions in the various files
223 v4_0_7
224         Fixed conversion to native on OS/2
225         Fix parsing of --help flag
226 v4_0_6
227         Fallback for missing wchar_t iconv codepage on OS/2
228         Fixes for LSEEK64 support
229         Support for --help that returns a 0 exit status
230 v4_0_5
231         Make setpgrp() usage in floppyd conditional
232         Re-instate PACKED around structure (ARM)
233         LSEEK64
234         
235 v4_0_4
236         BSD support: SCSI, use getuserid/getgroupid in floppyd
237         Another attempt at putwc fix for OS/2
238         Further GNU fixes
239         Fallback for putwc if there is wchar (OS/2)
240 v4_0_3
241         Fix multipart pathname parsing bug in vfat.c (forgot limited length)
242         Supplied fallback define for putwc
243         Copyright notices in all sources
244 v4_0_2
245         Off-by-2 error in unix_name in file_name.c
246 v4_0_1
247         Missing functions on Solaris
248 v4_0_0
249         Offset for -i-specified image files
250 v4_0_0_pre2
251         Use transliteration to represent characters which don't exist in
252         target set
253 v4_0_0_pre1
254         Mtools-4 with Unicode support
255         Released 4.0.0_pre1
256 v20071226
257         Debian build files
258         Fixed security issue with doctored file names
259         64 bit compilation fixes
260 v20070601
261         Fixed misc blunders...
262 v20070531
263         Fixed lots of minor items raised by gcc4
264         Merged some of the BSD patches
265         New version of amuFormat.sh written in sh rather than csh
266         Support for config parameters after -i file
267         Released 3.9.11
268 v20070411
269         Added sizecode printing on minfo
270         In mformat manpage, use same flag for sector number than printed in
271         minfo
272         Limit sizecode to 6, else it will overflow max sector size defined in
273         msdos.h
274 v20070308
275         Applied mingw patch by Jamey Sharp and Josh Triplett
276 v20070306
277         Fixed doc about /etc/default
278 v20070305
279         Fixed mlabel on read-only disks
280 v20060626
281         Merged Redhat/Fedora patches
282 v20060531
283         #ifdef linux-dependent code in mformat.c
284 v20060525
285         Fix gcc4 warnings
286         Fix reading of boot sector (block size)
287 v20060228b
288         Do no longer open floppy devices with O_EXCL, in order to enable
289         work-around against broken cache.
290 v20060228
291         If no info dir exists at all, assume dir
292 v20060227
293         Support for DESTDIR
294 v20051011
295         Fix Unix loop
296 v20050410
297         Cygwin compatibility
298 v20050317
299         Solaris 8 compatibility
300 v20050302
301         Released 3.9.10
302 v20050228
303         Support for multiple drives in floppyd
304 v20050213b
305         Updated .spec file
306 v20050213
307         Fixed some long name directory entry freeing bugs
308 v20040505
309         Fixed duplicate FAT writing error. Fixed segfault on short images.
310         Mformat creates images of correct size.
311         CYGWIN compatibility (O_BINARY flag).
312 v20040420
313         Cygwin patch for plain_io.c (no locking)
314 v20040228
315         Fix a couple of memory leaks in config file parsing. Fix llong.h
316         (redefined same symbol twice)
317         Fix a variable initialization problem in plain_io.c
318         New mclasserase command to erase memory cards
319         C99 "compatibility"
320 v20030718
321         Fix rootskip and rate of XDF disks
322 v20030705
323         Fix inverted IS_MFORMAT_ONLY condition in plain_io.c
324 v20030609
325         Moved putc after variable description (anybody knows about a -W
326         flag so that gcc warns about these?)
327 v20030606
328         Fixed mattrib -p (missing slash)
329 v20030605
330         Added -m option to mformat to specify a non-standard mediabyte
331 v20030524
332         Added -d options to mformat to specify number of FAT copies. Can
333         also be set using the MTOOLS_NFATS environmental variable.
334         Also added similar env variable for root directory length
335         Signed/unsigned fixes, to satisfy increased pickyness of gcc ;-)
336         CYGWIN fixes for mcat
337         floppyd bugfixes
338 v20030213
339         Released 3.9.9 : Identical to pre-3.9.9 except for the version number
340 v20030213
341         Released 3.9.9 Pre-1
342         Fixed max numbers of sectors for FAT12 and FAT16 (was off by one...)
343         Improved fat_len calculation
344         Fixed plain_io.c bug (Swap byte applied after partition stuff,
345         instead of before)
346 v20030118
347         Fixed mcat end-of-file bugs (mcat went on writing, and writing,
348         and writing, even after end of file)
349 v20030105
350         If "standard" CHS specified, but non-standard root dir size do not
351         use table-lookup based geometry ("old-dos media descriptor")
352 v20021118
353         David's new uz script, that can use commands other than gzip for
354         compression
355 v20021116
356         Fixed vold support for mpartition
357 v20021105
358         Added PACKED to unicode_char declaration (Arm)
359         Mpartition can now create the image if -I is specified.
360 v20021104
361         Support for geometry-less Atari disks
362         Support for byte-swapping disks
363 v20021102b
364         Avoid .(l and .)l in generated man pages
365 v20021102
366         -i flag
367         Fix mformat for 2m
368         Fix [] wildcard off-by-one error
369         Avoid overwriting (Unix) file by itself in mcopy
370         Avoid cloberring any file if implicit target is used (the
371         one-argument syntax of mcopy)
372         Added Zip 750 entry to mzip.c
373         SCO Scsi fix
374 v20020125
375         Fixes for cygwin
376         Fixes in buffer.c for oddly sized image files
377         Mformat.c fixes to avoid making images which would not be
378         readable in windows.
379 v20010908
380         Warn for invalid partition numbers
381 v20010526
382         Released pre6-3.9.8 : getting rid of linux-gnu references is
383         almost as difficult as exorcising the devil...
384 v20010526
385         Released pre5-3.9.8 after fixing a couple of version numbers
386 v20010526
387         Applied Adrian Bunk's patches, minus the Stallmanisms.
388         De-stallmanized config.gues and config.sub files
389         pre4-3.9.8
390 v20010521
391         Fixed DELMARK translation of mcopy's -T option, pre3-3.9.8
392 v20010521
393         Fixed #ifdef DEBUG statements, pre2-3.9.8
394 v20010520
395         Released pre-3.9.8
396 v20010507
397         Updated config.guess/config.sub to support Darwin
398         Patch for converting contents of files from/to Dos' version of
399         8bit Ascii
400         Fixed bug in to_unix function
401 v20010330
402         Updated freebsd floppy device definitions
403 v20010325
404         Fixes for floppyd to work with current protocol version of floppyd
405 v20010325
406         Fixed parsing of Unix filenames ending with slash
407 v20010325
408         Fixed file closing of floppyd
409 v20001213
410         Fixed a cindex entry in documentation
411 v20001113
412         Rewrote PDF rule to use pdflatex, rather than go through dvi
413         (pdflatex output looks nicer)
414 v20001113
415         Fixed JAZ Zip file overwrite bug (actually, this bug could occur
416         on any disk reasonably full...)
417 v20001018
418         Fix mzip manpage to include Linux in the list of supported OS'es
419 v20001009
420         Protect against division by zero when reading BSD disks...
421 v20000829
422         Documentation fixes
423 v20000820
424         Hurd openflags fix in mainloop.c
425         Added description for t option to mcopy man page
426         Added -lbsd to list of libraries to be tested for LynxOS
427         Unset LANG in mkmanpages
428         Updated config.gues/config.sub
429         Removed stale documentation for xcopy
430         Fixed typo in mformat man page
431 v20000810
432         Zip 250 support in mzip
433 v20000708
434         Floppyd robustness
435 v20000703
436         Variable initialization in mdir.c
437 v20000623
438         Do not use offset_t on AIX ==> broken
439 v20000610
440         Large disk fixes, especially for Solaris
441 v20000601
442         Released Mtools-3.9.7
443 v20000528
444         Mtools-pre2-3.9.7 released: some potential buffer overflows     
445 v20000521
446         Mtools-pre-3.9.7 released
447 v20000520
448         Added devices for OpenBSD (the previous NetBSD/OpenBSD where wrong
449         for OpenBSD)
450 v20000517
451         Fixed a couple of floppyd bugs
452 v20000514
453         Added texclean to make distclean, added new "pdf" target.
454 v20000510
455         Did away with ipaddr_t and replaced it with IPaddr_t which is
456         guaranteed not to crash anywhere...
457 v20000509
458         Defined geometry for default a: devices on Linux and Solaris with vold
459 v20000502
460         Carefully navigate Solaris' polluted namespace...
461 v20000501
462         Suppressed bogus error message when mcopying to an existing file.
463 v20000429
464         Fixed mformat problem with Fat32 (mformat didn't initialize the
465         label and fat type fields in the boot sector, and the other mtools
466         utils didn't check them)
467 v20000428
468         Fixed two more scandisk problems:
469                 - the infosector should end with 0x55aa
470                 - When deleting a file, be sure to DELMARK the VSE's as
471                   well as the main entry
472 v20000428
473         Fixed an evasive Fat32 bug: a parent directory entry pointing to
474         the root should have an address of 0 instead of the more logical 2
475 v20000416
476         Corrected mdir error handling
477         Fixed a bug in mren (problem when renaming short file names)
478 v20000412
479         Corrected a typo in error handling
480 v20000410
481         Fixed size problem with Ctrl-Z.
482 v20000401
483         (No joke): avoid setting volume serial number on "Old Dos" disks
484 v20000320
485         - Re-aligned command line options with Dos
486         - New -n/-N option for mlabel to change volume serial numbers
487         - Mattrib -p escapes file names in order to handle file name
488         containing spaces
489         - Changed mformat serial number format
490 v19991121
491         Fixed 2 bugs:
492         - Mtools would never completely use all directory slots, because
493         it overestimated space consumption by 1
494         - Mtools did not initialize the stat struct for pipes, and thus
495         gave occasionnally bogus "Disk full" error messages
496 v19991011
497         Rearranged tty open call so that it is only opened when actually
498         needed  
499 v19990807
500         Added special case for 0xf7 media descriptor
501 v19990729
502         Make O_NDELAY conditional everywhere
503 v19990715
504         Return correct return value from mt_lseek, even if off_t is a 64
505         bit quantity
506 v19990712
507         Treat OpenBSD the same as NetBsd
508 v19990630
509         Released 3.9.6 with the following fixes:
510         - Typoes in xdf_io.c
511         - Make Xdf work in nodma mode
512         - Fix for mformatting MSS disks
513 v19990628
514         1st attempt to release 3.9.6 with mostly minor fixes:
515         - platform compatibility
516         - automatic installation of info files
517         - mdir's -X flag no longer implies "recursive"
518 v19990419
519         3.9.5 released with mostly minor fixes:
520         - Starting cluster numbers of "." directory entry
521         - Copying of empty Files from Dos to Unix
522         - Misc platform compatibility issues
523 v19990315
524         Another embarrassing bug found, 3.9.4 released. When will this
525         nightmare stop?
526 v19990314
527         Mtools 3.9.3 released
528 v19990314
529         Open BSD SCSI fixes & added GLIBC linux/unistd.h for llseek. These
530         Glibc problems are potentially dangerous, and can lead to data loss.
531 v19990314
532         Mtools 3.9.2 released
533 v19990310
534         Fixed typo in plain_io.c
535 v19990307
536         More rigor about signed vs unsigned issue.  FreeBSD Scsi support
537 v19990223
538         Allow for 2GB Jaz drives
539 v19990218
540         Rewrote floppyd in C instead of C++
541 v19990208
542         More buffer fix
543 v19990112
544         Buffer fix
545 v19990111
546         "Big disk" fixes
547 v19990104
548         OS/2 patch
549 v19981211
550         Make sure that fat_type doesn't overwrite byte 62 with zero =>
551         disk unbootable
552 v19981204
553         Added support for "replay" listing of mattrib.  Cleaned up version
554         number and date handling (date was not always accurate...)
555 v19981204
556         Added geometry autodetection code for Linux harddisks to
557         mpartition and mformat.  Removed misleading references to
558         "non-removable media"
559 v19981203
560         Added boot sector template option for mpartition.  Fixed mtools.1
561         man page. Mattrib -s e:/ fix
562 v19981031
563         Man pages bug fixes
564 v19981029
565         Fixed HP SCSI "big write" bug   
566 v19980701
567         Fixed debug mode in vfat.c
568 v19980629
569         A few minor floppy related fixes (installation, and replacement
570         for setenv function, which is absent from some platforms)       
571 v19980523
572         Added floppyd (remote access to floppy disks)
573 v19980522
574         Updated mkmanpages script to dynamically get date and mtools
575         version.  Correct "removable media" error message to talk about
576         /etc/mtools.conf instead of /etc/mtools.  Do init_geom to read
577         geometry if no geometry is set.
578 v19980514
579         Mtools 3.9.1 released
580 v19980503
581         Mformats makes disks which are readable both as partitioned and as
582         plain
583 v19980405
584         Corrected Tim Hoogasian's e-mail address
585 v19980404
586         OS/2 additions
587 v19980331
588         "Dirty end too big" mformat bug corrected
589 v19980330
590         Corrected typoes for IRIX devices, use macros for attribute types,
591         fix 0 length file bug.
592 v19980327
593         Loop detection code
594         Bigger array for SCSI command
595 v19980323
596         GLIBC portability
597 v19980322
598         OS/2 portabilty, GLIBC portability
599 v19980320
600         Fixes related to Solaris new vold support
601 v19980317
602         Fixed a few BSD typoes, and renamed ALLCFLAGS in the Makefile to
603         CFLAGS for those makes that don't support implicit rules well enough
604 v19980310
605         Mtools 3.9 released
606 v19980308
607         Various Bugfixes (overwrite mode and directory cache)
608 v19980301
609         Added mformat_only flag.
610 v19980130
611         Fixed non-batchmode mcopy bug.  Fixed shortname case bug
612 v19980130
613         Minfo and mformat boot program bug fixes
614 v19980120
615         Allow default block sizes per device which are not equal to 512
616 v19980108
617         Allow and interpret back quotes in file names
618 v19980101
619         Misc bugfixes
620 v19971231
621         Scandir optimizations.  Fixed nasty Heisenbug in hash.c.
622 v19971229
623         Fixed integer width problem in fat.c, and minor bugs in hashtable.
624 v19971222
625         More performance optization.  Buffer handl
626         ing redone.  New
627         "asynchronous mode".
628 v19971216
629         Fixed mtype and mcheck.  Started cleaning up out-of-memory handling
630 v19971215
631         Jacked up performance, and corrected signal handling bugs.  Also
632         corrected various "Disk full bugs"
633 v19971212
634         Fixed "Bad address" errors which occurred when running mdu on empty
635         files.  When copying recursively, do not barf if a directory
636         already exist at the target.  Mcopy operates silently by default.
637 v19971212
638         removed mwrite. Obsoleted long ago by mcopy
639 v19971211
640         fixed mdir -X, added mattrib -X; document both.  Fix doc for name
641         clash handling
642 v19971210
643         fixed polarity of sys_errlist. Renamed some include files which
644         bore the same name as system include files.  Fixed another
645         memory leak in dir_grow. A/UX termio workaround.
646 v19971209
647         fixed filedescriptor leak. Make mbadblocks stoppable. Doc
648         fixes.  Fixed one memory leak, another one further down the road
649         remains... Fixed error handling in createDirectory.
650 v19971208
651         bugfixes: mbadblocks, fat, unix quit, null pointers in mcopy...
652 v19971205
653         Renamed it to pre3-3.9 due to mixup when shipping the pre2-3.9
654         version. No actual code change apart from patchlevel.h
655 v19971204
656         Pre2-3.9. Added mpartion manpage.  Added misc.o dependency to
657         mkmanifest.  Fixed mpartition bug with partitions with more
658         than 1023 cylinders
659 v19971129
660         Pre-3.9.  Redid the mainloop logic, and got rid of lots of cruft
661         in subdir.c and parse.c.  It is now possible to put wildcards in
662         the directory part of the filename.  Design also became simpler,
663         making it easier to maintain this part in the future.
664         Added a -u flag to mzip to temporarily unprotect a disk
665         Added a test to mzip to prevent manipulation of mounted disks
666         Added support for partitioned devices in mmount
667 v19971116
668         Added mdu and recursive mdir
669 v19971112
670         Fixed bugs in recursive copy stuff, added recursive mattrib, and
671         fixed a few buffer overrun bugs
672 v19971110
673         Added recursive copy and attribute conservation flags to mtools 
674 v19971029
675         Fix parse.c typo
676 v19971013
677         Include Sys5 directories on SunOs in order to have a correct
678         timestamp
679         Detect Lilo disks
680 v19971006
681         Correct vold typo
682 v19971002
683         Use 8 sector clusters for 32-bit FATs: this is what Micro$oft user
684 v19970823
685         Corrected gross bug in fat12_decode
686 v19970823
687         Simplified fat bits handlings
688 v19970820
689         Raw Scsi_io for SGI
690 v19970813
691         Buffer.c and FAT bugfixes
692 v19970813
693         More FAT32 fixes.  New mshowfat command.
694 v19970813
695         Fix FAT32 problem (FAT32 does not use the high nibble)
696 v19970812
697         Detect presence of sys_errlist using autoconf instead of
698         making its usage dependent on BSD.
699         Fixed make texclean.
700         Guard against corrupted "next free block" pointer in a FAT32
701         InfoBlock
702 v19970715
703         Use root privileges during scsi_init
704 v19970714
705         Fixed close-on-exec bug.
706 v19970714
707         Fixed #include in HP_UX. Sys/floppy.h is not known on all flavors
708         of HP_UX
709 v19970713
710         Fixed Makefile so that make -j works without errors.  Fixed
711         upper/lower bug in mmount
712 v19970708
713         Released 3.8
714 v19970629
715         Add option to mformat to keep boot sector, or to read it from
716         a file.  Added various flags to customize directory listing
717         appearance and long name behavior
718 v19970629
719         Fix bug in yesterdays fix.  Also make sure to resize hash
720         table if too many deleted entries accumulate.
721 v19970628
722         Fixed yet another hash table bug
723 v19970619
724         Yet another HPUX fix.
725 v19970619
726         Fixed a segfault in mpartition
727 v19970617
728         Removed a few Stallmanisms in config.guess
729 v19970612
730         3.7 released
731 v19970611
732         Corrected a few errors in new vold code
733 v19970610
734         Removed extra &'s from string addresses.
735         Added listing of current configuration to mtools -V
736         Updated version number and date in mkmanpages
737 v19970604
738         New Bebox patch.  Removes almost all BEBOX specifities because
739         they are no longer needed with the new DR9 release.
740         Small fix for size detection of SCSI disks.
741 v19970524
742         Fixed small typo in new vold code
743 v19970524
744         Added partition consistency checks for accessing device.
745 v19970523
746         New version of Solaris vold code
747 v19970516
748         Solaris floppy geometry.  Support for older MO disks (size
749         returned in non-standard location)
750         Corrected ftp address for fdutils
751 v19970504
752         Updated README.BEBOX
753 v19970504
754         Brought Makefile.Be and config.h.Be up to date with the recent
755         changes
756 v19970504
757         Add Ultrix to the list of OS'es which do not define their
758         prototypes
759         Small Makefile fix
760 v19970503
761         Various "Next proofintg".
762                 * add VENDOR_, CPU_ and OS_ before machine type tags
763                 detected by autoconf. Next tends to be a frequently
764                 used variable
765                 * use utimes preferably before utime
766                 * try to include _all_ termios functions.
767                 * more precise detection of available termios functions
768 v19970501
769         Added knowledge of Zip Tools Disk password to mzip.
770 v19970429
771         Went back to using ALLCFLAGS in Makefile for those people who
772         want to override CFLAGS
773 v19970426
774         Added note about Alpha site to doc.
775 v19970423
776         Prefer termios.h on Ultrix
777 v19970422
778         Renamed missing_functions to missFuncs in order to accommodate
779         operating systems with file name size limits.
780 v19970420
781         Autoextend size for images that are too small.  Moved BSD
782         dependent #ifdef's after the inclusion of sys/param.h, as it
783         is there where BSD is defined (sigh!)
784 v19970419
785         Insist on the fact that mzip's -f flag only makes sense if
786         given in addition to -e
787 v19970419
788         Corrected typo in doc.
789 v19970417
790         Removed read and write prototypes, they conflict on an Alpha!
791 v19970414
792         More HP/UX fixes.
793 v19970414
794         3.6 released
795 v19970414
796         Do not stat any files in /dev/ on BEOS. Remove spurious system
797         include files from non-sysincludes.h file
798 v19970413
799         Fixed Zip disk eject
800 v19970412
801         Added Sunos4 and SCO support to scsi.c.  Use tzset before
802         gettimeofday, except for BSD.  Use Z: for a Zip drive, and J:
803         for a Jaz drive instead of D: for both.  Added machine
804         specific libraries and CFLAGS for A/UX.
805 v19970410
806         Various A/UX fixes.  Changed scanning order for termio and
807         termios due to problems with the other order on A/UX.
808 v19970405
809         Print error message for wrong password.
810 v19970405
811         Include mzip man page
812 v19970404
813         Document new config flags introduced in 970204.
814         On systems not supporting euid, do not bail out if both euid
815         and ruid are 0.
816 v19970404
817         Prevent mmove from moving directories into themselves in order
818         to keep a tree-like directory structure
819 v19970403
820         Fixes for mtools_no_vfat
821 v19970402
822         Additional config file pointed by MTOOLSRC; possibility to
823         switch off generation of VFAT long names.
824 v19970401
825         HP/UX setresuid support. "Mcopy a: ." bugfix.
826 v19970331
827         Renamed f_* functions into file_* in order to avoid a clash
828         with a preprocessor macro named f_data on AIX.
829 v19970323
830         Released 3.5, Solaris compatibility fix w.r.t. memmove
831 v19970323
832         Released 3.4
833 v19970319
834         Fixed location of configuration file in doc.
835 v19970318
836         Fixed mlabel bug
837 v19970316
838         More BSD & 64 bit changes
839 v19970308
840         Added at_exit implementation for those boxes who have neither
841         on_exit nor atexit.  Added check to make sure the compiler
842         handels structures in a sane way.
843 v19970307
844         Backed out again of the traditional-cpp change on
845         larry.jones@sdrc.com's advice
846 v19970306
847         Added traditional-cpp in order to make mtools compilable on a Sun
848 v19970304
849         Fixed nolock flag
850 v19970227
851         BEOS fixes and support for SCSI devices with a sector size
852         different from 512.
853 v19970225
854         Fixed some preprocessor macros.  Added texclean macro to Makefile
855 v19970224
856         Clarified the documentation about the Bebox.
857 v19970224
858         Released 3.3
859 v19970220
860         Made Makefile "AIX-proof".  Added precmd to config.c
861 v19970219
862         Fixed typo in mdel.
863 v19970217
864         Osf4 support.  Released 3.2
865 v19970216
866         Fixed Makefile typo, and fixed various bugs with renaming or
867         moving dot or dot dot
868 v19970215
869         Fixed streamcache.c bug
870 v19970214
871         Added add-disk script and format.dat file
872 v19970214
873         Fixed mrd e:xxx/, tested Xdf support
874 v19970210
875         Strange mformat fixes...  Dos always seems to assume a cluster
876         size of at least 8 sectors and 512 root directory entries.  Sigh!       
877 v19970209
878         FAT32 support, BeOS patches
879 v19970208
880         Added more debugging code to mpartition and minfo.  Added
881         "packed" attribute to the partition structure.
882         Cleaned up argument handling.
883 v19970207
884         Fixed partition removal bug in mpartition.c
885 v19970206
886         Fixed streamcache allocation bug.  Clearer error message when
887         trying to access a non-existant partition.
888 v19970205
889         Added "packed" attribute to some fields of the vfat_subentry
890         structure, in order to work around a bug in a gcc version for
891         SunOS.
892         Use getpass() for password prompting in mzip.c  
893 v19970203
894         Various small bug fixes
895 v19970202
896         Fixed typoes in plain_io.c, mpartition.c and mtools.texi.
897         Relaxed security in mpartition.c, so non-root users may print
898         a partition, or perform any local changes to it.
899         Mpartition now prints info to recreate partition.
900 v19970201
901         Add mpartition command to partition Zip, Jaz and other Scsi
902         devices.
903         Chose between on_exit or atexit using autoconf.
904 v19970130
905         Added minfo command to print disk geometry and other parameters.
906 v19970129
907         Replaced atexit by onexit. Atexit barfed on SunOs.
908         Replaced O_RDWR flag in mzip with O_RDONLY.
909         Added precmd variable to execute commands before opening a
910         given drive.
911 v19970127
912         Shortened README, segregated config file pathnames into a
913         separate file.
914 v19970125
915         General cleanup, more enhancements to privilege handling.
916 v19970123
917         Added debugging output to mzip.
918         Made expand.c safe and still compatible with suid operation.
919         Fixed mzip typo.
920         Made device locking optional.
921 v19970122
922         Added const qualifiers
923 v19970120
924         3.1 Released
925 v19970116
926         Added kludgy xcopy support
927 v19970111
928         Only skip sys_errlist declaration on NetBSD (some older
929         platforms might need this)
930 v19970110
931         Upgraded to autoconf 2.12, fixed some Stallmanisms.
932         Added device entry for LynxOs.
933 v19970107
934         Use gettimeofday before tzset (for BSD).
935 v19970107
936         Use correct location of signal.h.  Removed declaration
937         for sys_errlist.
938 v19970107
939         BEOS patches by Marco Nelissen
940         Removed some clashing prototypes
941 v19970103
942         Prints privilege debugging message to stderr, and reopens SCSI
943         file with root privileges.
944 v19961227
945         Fixed typoes in mzip.  Added pointer to html doc.
946 v19961226
947         Fixed Linux Scsi ioctl.
948 v19961225
949         Added warnings against cookies, fixed doc to reflect new set-uid
950         policy.
951 v19961224
952         Fixed typoes in privilege routines, and removed Heisenbergian
953         parts of the  debugging code.
954 v19961223
955         Deleted prototypes for random() and srandom(): they *did*
956         clash (on a DEC Alpha)
957 v19961222
958         Solaris & SunOS privilege management.  Fixed date entries in
959         ChangeLog file.
960 v19961221
961         Solaris ZIP fix.
962 v19961219
963         Cosmetic mzip fixes.  Add pointer to info doc to mtools.1
964 v19961219
965         ISC addition. Doc fix for set_parameters ioctl.
966 v19961217
967         Mformat doc fix.
968 v19961216
969         Replaced zip_* by scsi_*, as these functions are not
970         specifically relevant to the ZIP (they apply to the JAZ as
971         well)
972         Fixed documentation on -n flag for mcopy
973 v19961217
974         Include termio before termios because of SCO
975         Applied Jaz patch
976         Do not declare timezone external variable on Ultrix, where it
977         has a different type.   
978 v19961215
979         Changed floppy into rfloppy for HP/UX.
980 v19961214
981         Added -Q option to mcopy, which aborts copying multiple files
982         as soon as an error for one file is encounteres
983         Removed useless -i option for mcopy
984         Small devices.c portability fixes (ultrix and hpux)
985 v19961211
986         Added mzip (eject ZIP disks) (Markus Gyger <mgyger@itr.ch>)
987         Renamed mtest to mtoolstest to please pine.
988 v19961210
989         Added warning about running mtools with root privs.
990 v19961209
991         Fixed uninitialized variable in fat.c and added example for Sun
992         mtools.conf
993 v19961209
994         Fixed comment in scripts/tgz
995 v19961207
996         Fixed partition handling code (yes, again!)
997         Added code to handle ZIP disks on Solaris/SunOS (many thanks
998         to James P. Dugal (jpd@usl.edu))
999 v19961203
1000         Proper permissions for main directory.
1001 v19961202
1002         Renamed scripts/gz to scripts/tgz
1003 v19961202
1004         Added raw devices for Solaris, apparently more performant
1005         Test first for tzset in autoconfigure (Solaris)
1006 v19961202
1007         Segment fault due to change of buffer size fixed
1008         E-mail address fixed
1009 v19961117
1010         Lots of portability fixes.
1011 v19961012
1012         Yet another typo fix for the partition table code.  Oh Gawd,
1013         will this never stop?
1014         Fix for proper .mcwd pathname concatenations
1015 v19961009
1016         Backed out partition table "fix": the original code was right
1017         after all
1018 v19960920
1019         Corrected a few uninitialised variables
1020 v19960918
1021         Corrected doc about devices file.
1022 v19960917
1023         Added pointer to the doc to the README file
1024 v19960913
1025         Partition table parsing fixed
1026 v19960807
1027         Fujitsu DS/90 (UXP) support
1028 v19960727
1029         ISC device
1030         dispatcher cleanup in mtools.h
1031         fat_bits 12/16 toggle fix.
1032         More space for error message variable in mformat
1033         Typo fix in mren.1
1034 v19960710
1035         Fix for CPU names with dots in autoconfigure
1036         Some new device descriptions
1037         FreeBSD fixes
1038 v19960624
1039         Set XDF mode when formatting an XDF disk (makes sense, after all...)
1040 v19960623
1041         XDF seems to work. Yeah!
1042 v19960620
1043         More ED fixes. More parameter size fixed for 64bit.
1044 v19960609
1045         Beginning of ED and 5 1/4 HD XDF support (doesn't work yet for
1046         ED)
1047 v19960528
1048         Make vold and "raw" floppy drive accessible simultaneously on
1049         Solaris by calling one A: and the other B:
1050         Add missing mbadblock LINK in Makefile.in
1051 v19960527
1052         Inserted missing newline character
1053 v19960525
1054         Treat number of heads or sectors as chars. The BIOS wouldn't
1055         allow bigger numbers anyways, thus big numbers are probably
1056         due to errors.
1057 v19960524
1058         Pattern match fix.
1059         Geometry setting for HP/UX
1060 v19960522
1061         Changed auto array in codepage to malloc'ed one in order to
1062         work around buggy compilers
1063         OSF ALPHA devices
1064         Pointers to other doc in the INSTALL file
1065 v19960516
1066         Do no longer be confused by deleted VSE's
1067         Define MAXPATHLEN for SCO
1068         Missing lockf prototype for SCO
1069 v19960514
1070         Handle DEBUG flag by autoconf
1071         Added Host vendor to compile flags in order to handle Sinix
1072         Better Sinix handling in devices.c
1073         Only print duplicate VSE messages when running with DEBUG
1074         Fix mlabel exit code
1075         Read-only locking
1076         Doc fixes
1077         Xcopy fixes for Sysv
1078 v19960512
1079         3.0 released.
1080 v19960508
1081         pre4-3.0. Lots of bug fixes. Texinfo file
1082 v19960502
1083         pre-3.0
1084 v19960501
1085         use autoconf to get rid once and for all of those pesky OS
1086         dependencies.
1087 v19960429
1088         use sys/termio instead of sys/termios to please AIX
1089 v19960427
1090         more spelling fixes.
1091 v19960426
1092         Spelling fixes
1093 v19960424
1094         Mmount arg parsing bug fix
1095 v19960422
1096         New partition configuration variable.
1097 v19960419
1098         Spelling fixes, removed warning in README, IRIX floppy devices
1099 v19960214
1100         More Alpha streamlining
1101 v19960213
1102         Alpha patches (64 bit clean-ness)
1103         AIX patches (built in drive names)
1104         Raw tty patches (no need to type return when confirming an action
1105 v19960131
1106         Solaris patches
1107         Replaced include strings.h by string.h everywhere where applicable
1108         Changed thousands separator in mdir from a dot to a space to
1109         please both Americans and Europeans.
1110         Fixed memory allocation bug if no "constant device" is present.
1111         #defined strtoul to atol for SunOS
1112 v19960121
1113         Minor cleanup, released 2.5.4
1114 v19951205
1115         Added "magic" header to manpages to have man run them through tbl
1116 v19951209
1117         MTOOLS_LOWER_CASE is back, various small bug fixes over
1118         Tuesday's changes
1119 v19951205
1120         Bus strike in Grenoble! Well, let's do something useful and
1121         re-arrange the configuration file syntax :-)
1122         The syntax has become much more flexible now, and also
1123         includes items which used to be only accessible via
1124         environmental variables.
1125         Moreover, it is now possible to include character translation
1126         tables in line.
1127 v19951126
1128         Fixed another Atari disk bug: Atari disks sport a bogus
1129         "number of hidden sectors"
1130 v19951125
1131         Fixed missing zero-terminator in autorenamed long names
1132         MTOOLS_SKIP_CHECK now implies MTOOLS_FAT_COMPATIBILITY.
1133 v19951124
1134         Fixed small quoted-printable-induced typo in the Makefile.
1135         <rant>
1136         Folks, please don't use quoted-printable. It sometimes changes
1137         the CONTENT of your messages. Even the MIME RFC's acknowledge this.
1138         Case in point: £400 gets transformed into =A3400, which looks
1139         like 3400 pounds to a person unaware of this MIME "feature".
1140         </rant>
1141 v19951123
1142         Mformat now puts a 12 bit FAT on ED to better match Messy DOS'
1143         behavior.
1144 v19951115
1145         Added ability to do mcopy e: to copy all files from the root
1146         directory of e:
1147         New Xdf-less Linux target in the Makefile
1148         Relaxed sanity check to let pass wonky Atari disks whose FAT
1149         begins with 3 zero bytes.
1150         Make the check of the initial fat bytes conditional on
1151         mtools_skip_check
1152         Corrected "testna=" bug
1153         Upped minimal sector size to be 256 (instead of 128). This
1154         helps 2m30
1155 v19951112
1156         2m30 compatibility
1157         Manpage update
1158         2m checksum bug fix
1159         Ability to mformat 2m disks
1160 v19951107
1161         Xdf bug fix (dev parameters always set to Xdf, even if it
1162         wasn't really an Xdf disk)
1163         Fixed YAHB (yet another hash table bug :) ) . Hope this one's
1164         the last.
1165         Centralizing most env-var handling.
1166         Update of the mtools manpage.
1167         Xdf is now optional, and only active if MTOOLS_USE_XDF is
1168         set. Saves a few milliseconds of startup time on non Xdf
1169         disks.
1170         Some lawyer-proofing, just in case :)
1171 v19951106
1172         Fast xdf code (finally!)
1173         Minor performance enhancements here and there.
1174         Names which are all lower case now generate a long name entry
1175         (according to Steve Searle, that's how Win'95 behaves).
1176 v19951029
1177         Character translation table fixes. Other name fixes.
1178 v19951026
1179         Put restrictions on long names to better match Win'95.
1180         (suggested by Steve Searle)
1181         Reworked autorename code. Catch SIGHUP signal
1182         Added missing file close to main loop
1183         Changed name of the "ask for action" command line flag to 'm',
1184         and used 'a' for 'Autorename'.
1185 v19951024
1186         Removed infinite loop bug in hash.c, which occurred when the
1187         hash table was filled with deleted entries.
1188 v19951023
1189         added Atari ST-style serial numbers (they live in the banner)
1190         fixed a troff bug in mtools.1
1191         Both changes were suggested by D. Hugh Redelmeier (hugh@mimosa.com)
1192 v19950916
1193         v2.5.3 released (after lots of fixes)
1194 v19950904
1195         v2.5.2 released
1196 v19950904
1197         mdir.c: initialized "files" and "blocks" to avoid complaint by GCC
1198         mattrib.c: initialized "code" to avoid complaint by GCC
1199 v19950904
1200         Based on comments by Paul Slootman <paul@ahwau.ahold.nl>:
1201         init.c: fs_init(): initialized disk_size to 0.  The section
1202                 which previously initialized this is ifdef'd out.  Why?
1203         Makefile, device.c: Passed ETCDIR (e.g. /etc or /etc/default)
1204                 Gee, the Makefile is pretty ugly!  It might be good to start
1205                 thinking about autoconfigure, or at least some cleanup.
1206         Makefile, mformat.c: use -DSOLARIS2, use srand48()/rand48()
1207         msdos.h, file.c, mdir.c: prefixed YEAR/MONTH/DAY/HOUR/MINUTE/
1208                 SEC with DOS_ to avoid conflicts with <sys/time.h> on SVR4
1209         devices.c: use %i instead of %d to allow different bases
1210         parse.c: Changed comment for get_name()/get_path(); need to
1211                 revisit this after deciding on default case behavior
1212         devices.c: load_devices(): fixed bad fprintf, line 748
1213         parse.c, mformat.c, misc.c: replaced expressions like
1214                   "if (islower(foo)) foo=toupper(foo)" with "foo=toupper(foo)"
1215                 
1216 v19950829
1217         v2.5.1 released
1218
1219 v19950829
1220         Based on comments by Martin Kraemer <Martin.Kraemer@mch.sni.de>:
1221                 Bug fixes for compile errors and core dumps under SINIX-D 5.41
1222                 (Siemens SVR4):
1223                 plain_io.c
1224                 mk_direntry.c
1225                 vfat.h
1226
1227 v19950822 v2.5 released
1228
1229 v19950820 DCN
1230         Change null-fill for unused remainder of VSE to 0xff fill for
1231         both upper and lower character (just one null for termination)
1232         This seems to better match Win95's behavior; Win95 had been
1233         complaining about bogus characters
1234         file_name.c: unicode_write()
1235
1236 v19950820 DCN
1237         Commented out enforcement of VSEs being in order.  Win95 likes
1238         to put them exactly backwards, so we'd better tolerate getting
1239         them any way they might come!  Not sure what is lost by losing
1240         these checks, but it seems to be OK.
1241
1242         directory.c: dir_read()
1243
1244 Copying and distribution of this file, with or without modification,
1245 are permitted in any medium without royalty provided the copyright
1246 notice and this notice are preserved.