-$Id: CHANGES,v 1.11 1999/11/02 09:35:55 tiniou Exp $
+$Id: CHANGES,v 1.240 2004/01/28 10:02:31 stelian Exp $
+
+Changes between versions 0.4b35 and 0.4b36 (released ?????????????????)
+=======================================================================
+
+1. Fixed dump compilation with old gcc versions. Thanks to
+ Mike Castle <dalgoda@users.sourceforge.net> for the patch.
+
+2. Fixed some warnings (howmany, roundup, powerof2 redefined)
+ when compiling against a recent glibc version.
+
+3. Fixed a bug in restore preventing the read of a dump tape
+ written with Solaris 7 ufsdump. Thanks to Patrick Higgins
+ <phiggins@transzap.com> for reporting the bug and providing
+ the test case.
+
+4. Changed dump to enable the creation of volumes of different
+ sizes in a single run (make -B accept a list of values).
+ Patch contributed by Florian Zumbiehl <florz@gmx.de>.
+
+5. Use the glibc provided minor() and major() macros instead
+ of our own bitmask implementation. This should be safe for
+ when the major/minor namespace will migrate to 32 bits.
+ Thanks to Zhang Jun <zhangjun@nanjing-fnst.com> for reporting
+ the bug.
+
+Changes between versions 0.4b34 and 0.4b35 (released December 21, 2003)
+=======================================================================
+
+1. Added a note in the dump man page saying that the default
+ blocksize can be 32 if -d is used with a high density argument.
+ Thanks to Antonios Christofides <A.Christofides@itia.ntua.gr>
+ for the patch.
+
+2. Fixed configure to correctly understand CPPFLAGS, CFLAGS,
+ LDFLAGS environment variables. Thanks to Arcady Genkin
+ <antipode@users.sourceforge.net> for reporting the bug.
+
+3. Made -e/-E options of dump accept an unlimited number of inodes
+ to be excluded, rather than a hardcoded maximum. Thanks to
+ Dietrich Rothe <d-rothe@users.sourceforge.net> for the patch.
+
+4. Updated the autoconf system to 2.50. Forced the -D_BSD_SOURCE
+ and -D_USE_BSD_SIGNAL defines in configure in order to solve
+ 64bit build problems because quad_t is redifined with a
+ different signature. Thanks to Mike Harris <mharris@redhat.com>
+ for reporting this bug.
+
+5. Made restore build on Solaris, making possible to
+ restore Linux's "enhanced" tapes. Thanks to Uwe Gohlke
+ <uwe@ugsoft.de> for the patch.
+
+6. Made an extension in the dump tape format capable of saving
+ MacOSX specific inode extensions. Uwe Gohlke <uwe@ugsoft.de>
+ wrote the extension and contributed the restore code back
+ into this codebase. The same extension mechanism will be
+ used in the future to save ACLs...
+
+7. Made rmt work correctly with regard to QFA and local/remote
+ files and tapes. The remote access will however work only
+ when the dump provided rmt version is used. If you want to
+ use another rmt server, please do not use the QFA feature.
+ Thanks to Uwe Gohlke <uwe@ugsoft.de> for the patch.
+
+Changes between versions 0.4b33 and 0.4b34 (released April 18, 2003)
+====================================================================
+
+1. Fixed the INSTALL file to reflect the actual install paths.
+ Thanks to David Ronis <ronis@ronispc.chem.mcgill.ca> for
+ reporting the bug.
+
+2. Fixed the configure script to only check for headers presence
+ instead of trying to compile them. This should fix issues
+ with old build environments. Thanks to Kari Lempiainen
+ <kari@funky.pp.fi> for reporting the bug.
+
+3. Fixed restore to correctly ignore sockets when comparing
+ a dump (as socket cannot be properly restored anyway). Thanks
+ to Gunther Reiszig <gunther@mit.edu> for reporting the bug.
+
+4. Fixed restore to correctly access the archive file (-A argument)
+ even when using a remote tape. Thanks to Fabrice Bellet
+ <fabrice@bellet.info> for reporting the bug.
+
+5. Fixed (again) handling of long (largefile) seeks in rmt.
+ Thanks to Fabrice Bellet <fabrice@bellet.info> for reporting
+ the bug.
+
+6. Fixed restore corner case when dealing with large block sizes
+ dump is able to write now (-b 1024). Thanks to Fabrice Bellet
+ <fabrice@bellet.info> for reporting the bug.
+
+7. Fixed a bug preventing dump to access a filesystem having
+ a label exactly 16 bytes in length. Thanks to <minduni@ti-edu.ch>
+ for reporting the bug.
+
+8. Made dump store dump dates using explicit timezones, fixing a
+ problem with incremental dumps if the timezone is modified
+ between the dumps. Thanks to Philippe Troin <phil@fifi.org> for
+ the bug report and the patch.
+
+9. Fixed a bug encountered when dumping individual files (not full
+ filesystems or directories) and dangling symbolic links happen
+ to be in the list of files. For as far as dump is concerned,
+ dangling symbolic links are allowed, and are dumped as is.
+ Thanks to Jin-su Ahn <jsahn@ee.snu.ac.kr> for reporting the
+ bug and providing the fix.
+
+10. Fixed open and creation modes and permissions for QFA and
+ table-of-contents files in dump and restore. Thanks to
+ Philippe Troin <phil@fifi.org> for the patch.
+
+11. Fixed the archive file descriptor handling enabling it to be 0.
+ This can happen in some cases when shell redirections are used.
+ Thanks to Philippe Troin <phil@fifi.org> for the patch.
+
+12. Delayed the opening of archive file until after suid had been
+ dropped (fixing a possible security issue if dump is suid).
+ Thanks to Philippe Troin <phil@fifi.org> for the patch.
+
+13. Fixed the 'S' command handling in the rmt client part.
+ Thanks to Philippe Troin <phil@fifi.org> for the patch.
+
+14. Modified the end-of-tape script handling to print out statistics
+ (and stop the timer) before launching the eot script. Also, the eot
+ script does not get run anymore when using -M (which makes sense) or
+ when multiple tapes are listed on the command line
+ (-f tape0,tape1,tapen) (which also makes sense).
+ Thanks to Philippe Troin <phil@fifi.org> for the patch.
+
+15. Relicensed dump/restore under the 'revised' BSD license, as per
+ ftp://ftp.cs.berkeley.edu/ucb/4bsd/README.Impt.License.Change.
+
+16. Added LZO compression to dump. This new compression method has
+ the advantage of being super fast, thus not killing tape streaming
+ on slow machines. Thanks to Helmut Jarausch
+ <jarausch@igpm.rwth-aachen.de> for the patch and to
+ Markus Oberhumer <markus@oberhumer.com> for giving special permission
+ to include his miniLZO project (GPL licensed) in dump/restore.
+
+17. Some small buffer overruns fixes in rmt. Thanks to Antonomasia
+ <ant@notatla.demon.co.uk> for reporting the bugs.
+
+18. Added a special rmt version which can do encryption when writing
+ to tape. Read examples/encrypted_rmt/README for details on
+ how to enable and configure it. Thanks to Ken Lalonde
+ <ken@globalremit.com> for the patch.
+
+19. Made dump work with 2.5 kernel end of tape early warning semantics.
+ Thanks to Kai Makisara <Kai.Makisara@kolumbus.fi> for the patch.
+
+20. Fixed a bug which caused dump -w|-W not to work anymore, because
+ the fs_freq and fs_passno fields in /etc/mtab are always set
+ to 0 0. Thanks to Trent Piepho <xyzzy@speakeasy.org> for
+ reporting the bug.
+
+Changes between versions 0.4b32 and 0.4b33 (released February 10, 2003)
+=======================================================================
+
+1. Added a note in the restore man page clarifying the question
+ 'set the permissions on the current directory ?' asked by
+ restore at the end of treatment in -i and -x modes.
+
+2. Fixed the endianess issues when reading compressed tapes.
+ Thanks to Dark Force <daq4th@users.sourceforge.net> for
+ reporting this bug and providing test cases.
+
+3. Fixed the "ACL won't be dumped" warning message (which showed
+ an extra, unrelated error message). Thanks to Dragan Krnic
+ <dkrnic@lycos.com> for reporting this bug.
+
+4. Made dump look first into /etc/mtab, then into /etc/fstab
+ when searching for filesystem paths. Also fixed some problems
+ caused by binding mounts or multiple block device mounts.
+ Thanks to Matus Uhlar <uhlar@fantomas.sk>, Elliott Mitchell
+ <ehem@m5p.com>, Greg Edwards <gedwards@users.sourceforge.net>,
+ Brian Hoy <brian.hoy@opus.co.nz>. (fixes Debian bugs #147086
+ and #160305, Sourceforge bugs #618699 and #679832).
+
+5. Made dump's -I option accept the value '0' meaning all the
+ read errors will be ignored. This can be useful when running
+ dump from unattended sessions (like cron jobs). Thanks to
+ John I Wang <jiwang@users.sourceforge.net> for the suggestion.
+
+6. Fixed the output of dump to indicate 'blocks' instead of
+ 'tape blocks' in the various messages (blocks are always
+ 1 Kilobyte, tape blocks are 1 BK * '-b' argument), and
+ made it clearly print the current blocksize at the start of
+ a dump. Thanks to Michal Szymanski <msz@astrouw.edu.pl> for
+ the suggestions.
+
+7. Made rmt understand long (largefiles) seeks.
+
+8. Fixed build with very old versions of libext2fs, where
+ EXT2_FT_* constants were undefined.
+
+9. Made dump accept the dumpdates path on the command line
+ (-D file option) instead of using only the hardcoded one.
+ Thanks to Piete Brooks <pb22@users.sourceforge.net> for the
+ suggestion.
+
+10. Enabled rmt, LFS, readline, QFA options by default in
+ ./configure. Updated the configure process (new versions
+ of config.guess, config.sub etc).
+
+Changes between versions 0.4b31 and 0.4b32 (released November 15, 2002)
+=======================================================================
+
+1. Changed dump to use fcntl(F_SETLK) style locking instead
+ of flock() when locking the dumpdates file. With the old
+ locking scheme, a local user having read rights on the
+ dumpdates file could be able to do a Denial of Service attack
+ on dump. In order to lock the dumpdates file with the new
+ scheme, the user would need to have write access on the file.
+ Thanks to Richard Johnson <Richard.Johnson3@ey.com> for
+ reporting the bug (originally a bugtraq post).
+
+2. Fixed interactive 'ls' which caused spurious errors warnings
+ about 'undefined filetypes' detected. Thanks to Jorgen Ostling
+ <jorgen_ostling@users.sourceforge.net> for reporting this
+ bug.
+
+3. Fixed dump's estimate when dealing with sparse inodes.
+
+4. Modified dump to allow setting a blocksize bigger than 32kB
+ (raised the limit to 1024kB), because newer hardware needs
+ this for proper operation. Thanks to Dirk Traenapp
+ <dtraenapp@users.sourceforge.net> for reporting this.
+
+5. Fixed a bug causing Dump to stop and report an error if an
+ inode number in the exclude file was followed by some amount
+ of whitespace. Thanks to Jeffrey Sofferin
+ <sofferin@users.sourceforge.net> for reporting this bug.
+
+6. Fixed a bug which caused restore, in some particular cases,
+ to ask some 'scary' questions and leave a bunch of RSTTMP
+ directories behind when restoring incremental tapes. Thanks
+ to Philippe Troin <phil@fifi.org> for reporting this bug and
+ providing the test cases.
+
+7. Changed the wording when inodes are excluded from dump:
+ replaced 'Added inode 7 to exclude list' with
+ 'Excluding inode 7 (resize inode) from dump', as suggested
+ by Elliott Mitchell <ehem@m5p.com> in a Debian bug report.
+
+Changes between versions 0.4b30 and 0.4b31 (released July 30, 2002)
+===================================================================
+
+1. Fixed rmt open flags transmission (GNU's symbolic syntax over
+ rmt) which I broke in 0.4b29. Thanks to Eros Albertazzi
+ <eros@lamel.bo.cnr.it> for reporting the bug.
+
+Changes between versions 0.4b29 and 0.4b30 (released July 25, 2002)
+===================================================================
+
+1. Made dump print out the ext2 logical block number in case of a read
+ error, which can be given as an argument to debugfs' ncheck command,
+ in order to find out the affected inode. Added note about this
+ usage in dump's man page.
+
+2. Fixed a problem in restore when reading tapes written on big
+ endian machines with very old versions of dump. The patch was
+ contributed by George Helffrich <george@geology.bristol.ac.uk>.
+
+3. Fixed the tape length calculation when using large tapes
+ and compression. Thanks to Georg Lippold
+ <g_lippold@sourceforge.net> for reporting the bug.
+
+4. Added a new set of examples in dump_on_cd_2 directory, based
+ on dump_on_cd examples but somewhat enhanced, supporting DVD
+ media, and localized in english and german. Thanks to
+ Georg Lippold <g_lippold@sourceforge.net> for the new scripts.
+
+5. Made dump save 32 bit UID/GID. Internally, this was achieved
+ by switching from the old BSD inode format to the new BSD
+ inode format, which means that the tape format was changed.
+ However, since all restore versions out there should
+ transparently support both inode formats, the change should
+ have no side effects. Thanks to John Yu <jky@cs.bu.edu> for
+ reporting the bug.
+
+6. Fixed a lot of warnings in the code shown when compiling
+ with 'gcc -W'. Thanks to Matthias Andree
+ <matthias.andree@stud.uni-dortmund.de> for reporting this.
+
+7. Fixed a small markup bug in the dump man page. Thanks to
+ Eric S. Raymond <esr@minx.thyrsus.com> for submitting the
+ patch.
+
+8. Rewrote entirely the man pages using the tmac.an macro
+ package (Linux man page format) instead of the original BSD
+ format. They should be now cleaner and easier to modify.
+
+Changes between versions 0.4b28 and 0.4b29 (released June 8, 2002)
+==================================================================
+
+1. Fixed a problem in the rmt ioctl command, where ioctl's issued from
+ non Linux clients were misinterpreted. The description of the problem
+ (incompatible numbering in Linux mtio opcodes) is documented at
+ ftp://ftp.fokus.gmd.de/pub/unix/star/README.mtio . Thanks to
+ Jörg Schilling <schilling@fokus.gmd.de> for reporting this bug and
+ providing an excellent, cross-platform replacement for rmt in his
+ star package.
+
+2. Fixed a bug reported by Andy Mentges <amentges@jumpline.com>
+ which caused restore to fail when the inode maps were not entirely
+ contained on the first volume (when using really small volumes or
+ when dumping a huge number of inodes).
+
+3. Fixed a problem in dump, where files in subdirectories of directories
+ that have the nodump flag set (or being excluded with -e/-E) were
+ sometimes incorrectly dumped (instead of being excluded). The original
+ fix is from David C Lawrence <tale@dd.org> in the FreeBSD version
+ of dump: http://www.FreeBSD.org/cgi/query-pr.cgi?pr=32414
+ Thanks to Ted Grzesik <tedgyz@roostme.com> for reporting the bug and
+ help testing the patch.
+
+4. Added some example scripts from Gerd Bavendiek <bav@epost.de>
+ which makes one able to pipe the output of dump, by the net, to
+ a remote CD-burner server.
+
+5. Made dump use O_CREAT|O_TRUNC both locally and remotely (over rmt),
+ and use GNU's symbolic syntax over rmt instead of numerical values
+ to assure multiple platform compatibility.
+
+6. Documented the -d option in restore.
+
+7. Added a -v (verbose) mode to dump. For now it just prints the number
+ of the inode being dumped, but this could evolve in future versions
+ to include interesting debugging output.
+
+8. Added a -o flag to restore, which automatically restores the current
+ directory permissions in -i or -x mode, without asking the operator
+ whether to do so. Patch submitted by Tony Clayton <tonyc@e-smith.com>
+ and Peter Samuel <peters@e-smith.com>.
+
+Changes between versions 0.4b27 and 0.4b28 (released April 12, 2002)
+====================================================================
+
+1. Fixed a bug in the QFA feature which could have caused
+ a bad tape positionning on restore (causing extra delays in
+ restore). Credits go to Uwe Gohlke <uwe@ugsoft.de>.
+
+2. Added a small note in the dump man page specifying that
+ there should be no white space between the option letter and
+ the -j or -z parameter, thanks to Kenneth Porter <shiva@well.com>
+
+3. Made restore work with older versions of the readline library,
+ by checking in configure for several extended symbols. Restore
+ can now be compiled with a readline as old as the 2.0 release
+ (though it may be a good idea to upgrade it to a more recent
+ version...). Thanks to Andrew Donkin <ard@waikato.ac.nz> for
+ reporting the build failures.
+
+4. Fixed a performance problem with the QFA file creation in
+ dump, which made unnecessary seeks on the tape slowing down
+ the dump. Thanks to Andrew Donkin <ard@waikato.ac.nz> for
+ reporting this issue.
+
+5. Removed the inclusion of some kernel headers in the dump
+ source, which prevented the compile in some kernel/glibc
+ headers/architecture combination. Thanks to Bdale Garbee
+ <bdale@gag.com> for reporting the bug.
+
+6. Added the appropriate error message when dump fails to
+ open the output file for writing. Thanks to Amith Varghese
+ <amithv@yahoo.com> for reporting this bug.
+
+7. Made restore able to understand large Solaris ufsdump tapes
+ (containing inodes bigger than 4194304). Sun have introduced
+ an "extension" to the dump tape format when dealing with
+ those inodes, which was uncorrectly handled by Linux restore.
+ Thanks to Uwe Gohlke <uwe@ugsoft.de> for reporting the bug and
+ providing a test case.
+
+8. Added the -m parameter to dump which optimises the output for
+ inodes having been changed but not modified since the last dump
+ ('changed' and 'modified' have the meaning defined in stat(2)).
+ For those inodes, dump will save only the metadata, instead of
+ saving the entire inode contents. Inodes which are either
+ directories or have been modified since the last dump are saved
+ in a regular way. Uses of this flag must be consistent, meaning
+ that either every dump in an incremental dump set have the flag,
+ or no one has it.
+
+Changes between versions 0.4b26 and 0.4b27 (released February 15, 2002)
+=======================================================================
+
+1. Fixed behaviour of dump when exceeding resource limits
+ (SIGXFSZ treatment).
+
+2. Added the -L flag to restore to allow the user to specify a
+ maximal allowed number of miscompares when using restore
+ with the -C option to check the backup.
+
+3. Detailed the manual entry for the -N option of restore.
+
+4. Added the -a flag to restore to make able doing unattended
+ restores in -i or -x mode (automatically walks through the
+ multiple dump volumes).
+
+5. Extended the QFA mode to work with local files and/or
+ remote tapes and files. This way, restore can know in advance
+ the tape number and the offset for the inodes to extract and
+ can minimize the extraction time by seeking directly to the
+ good tape/offset.
+
+6. Added the -A <archive> option to both dump and restore,
+ which makes dump to archive a dump table-of-contents in
+ the specified file to be used by restore to determine
+ whether a file is in the dump file that is being restored.
+ (the archive file syntax is also compatible with the
+ Solaris ufsdump generated one).
+
+7. Small fix in restore making it able to read some (broken ?)
+ Solaris ufsdump tapes.
+
+8. Fixed dump to correctly recognise the root filesystem when using
+ ext2 disk labels (LABEL=/). Thanks to John Yu <jky@it.bu.edu>
+ for reporting this bug.
+
+9. Added the -P <file> option to restore to create a
+ Quick File Access file from an already made dump. Patch
+ contributed by Uwe Gohlke <uwe@ugsoft.de>.
+
+10. Made restore compile and run on Solaris, making it a
+ possible replacement for the standard ufsrestore. Port was
+ contributed by Uwe Gohlke <uwe@ugsoft.de>.
+
+Changes between versions 0.4b25 and 0.4b26 (released January 7, 2002)
+=====================================================================
+
+1. Added a set of backup scripts from Eugenio Diaz
+ <getnito@yahoo.com> in the examples section. It features
+ automatic (cron based) full and incremental dumping of
+ several filesystems on a separate filesystem.
+
+2. Fixed a off-by-one miscalculation which disabled dumping
+ a one letter subdirectory. Thanks to Chris Siebenmann
+ <cks@utcc.utoronto.ca> for reporting the bug.
+
+3. Fixed several restore bugs occuring when trying to
+ restore some missing files on the tape. Thanks to Chris
+ Siebenmann <cks@utcc.utoronto.ca> for reporting the bug.
+
+4. Fixed --with-ldopts configure argument passing, installing from
+ a separate object directory, makefile cleanups contributed
+ by <splite@purdue.edu>.
+
+5. Fix a bug which could caused, in some conditions, the highest
+ number inode of a filesystem, to not be dumped. Many thanks
+ to Chris Siebenmann <cks@utcc.utoronto.ca> for helping me
+ chase this bug.
+
+Changes between versions 0.4b24 and 0.4b25 (released November 17, 2001)
+=======================================================================
+
+1. Added a mini howto from Patrick Walsh in the examples
+ directory.
+
+2. Minor man pages syntax corrections. Thanks to
+ Chris Danis <screechco@home.com> for reporting the bugs.
+
+3. Added a script from David B. Peterson <dave@toppledwagon.com>
+ to the examples section. It features dumping several
+ filesystems to a remote tape drive upon ssh.
+
+4. Added a patch provided by Richard Jones <rich@annexia.org>
+ which allows BRADEMAX (number of read errors tolerated by
+ dump) to be adjusted using the -I option.
+
+5. Fixed a bug which disabled doing "restore -C -f -". Thanks
+ to Clemens Stiglechner <a9401816@unet.univie.ac.at> for the
+ patch.
+
+6. Add the -l option to restore to specify if, when doing a
+ remote restore, the file used to access the backup is a
+ regular file (the defaults being a tape drive). Restore needs
+ to know this information when reading a remote compressed
+ dump. Previously, this information was autodetected, but
+ the autodetection code fails (with ioctl: Inappropriate ioctl
+ for device) when using a non Linux remote box. Thanks to
+ many users and especially to Eros Albertazzi
+ <eros@lamel.bo.cnr.it> for reporting this.
+
+7. Found a workaroung for the dump deadlock problem (3 childs
+ stuck in pause(), father in read()). The workaround seems
+ to work for me and several beta-testers. If it doesn't work
+ for you, please report back.
+
+8. Updated the RPM spec file (BuildPrereq, URL etc).
+
+Changes between versions 0.4b23 and 0.4b24 (released September 12, 2001)
+========================================================================
+
+1. Fixed the permissions of a newly created QFA file by dump.
+
+2. Cleaned up the source of dump (the external variables
+ definition was a complete mess, making possible to have
+ objects overlap).
+
+3. Fixed restore to use the full tape volume path when doing
+ a compare (since it changes the working directory to the
+ filesystem being compared in the process).
+
+4. Added the -q option to dump which makes dump abort
+ whenever it needs operator attention. It should be
+ easier to use dump in scripts with this option.
+
+5. Detect the use of incompatible options to dump and
+ refuse them (like -a and -B options together).
+
+6. Added bzip2 compression to dump/restore (use option -j level
+ to select it). Note that you will need a restore version
+ >= 0.4b24 in order to restore a bzip2 compressed dump.
+ The same warning as for the zlib compression applies:
+ the tape format of a bzip2 dump is not compatible with the
+ original BSD tape format.
+
+7. Fixed a overflow problem in dump corrupting the dump when
+ very large files were encountered. Thanks to Vladimir Nadvornik
+ for the bug report.
+
+8. Added a ioctl(BLKFLSBUF) in dump which should flush the
+ kernel buffer/page cache before starting the dump, helping
+ a bit those who use dump on mounted filesystems. Thanks to
+ John Yu <jky@it.bu.edu> and to Theodore T'so <tytso@mit.edu>
+ for this suggestion.
+
+9. Updated the RPM spec file following the RedHat changes
+ (dynamically linked binaries now in /usr/sbin etc).
+
+10. Added a patch from Helmut Jarausch <jarausch@igpm.rwth-aachen.de>
+ which enables restore to recognise multi volume compressed dumps
+ done on CD. Included his scripts for dump (which pipe the dump
+ output directly into cdrecord) and restore. There is now
+ possible to to backups to CD on the fly!
+
+Changes between versions 0.4b22 and 0.4b23 (released July 20, 2001)
+===================================================================
+
+1. Fixed a buffer overflow in restore/tape.c. Patch provided by
+ Marcus Meissner (Caldera International Security Dept.).
+
+2. Implement the Sun rmt extended protocol. Patch submitted
+ by Ian Gordon <iangordon@users.sourceforge.net>.
+
+3. Check for the e2fsprogs header <ext2fs/ext2_fs.h> instead of
+ the linux kernel header. This ensures that dump always has the
+ latest version of this file. Patch submitted by
+ Andreas Dilger <adilger@turbolinux.com>.
+
+4. Report any filesystem present in either /etc/fstab with a
+ positive passno or /etc/dumpdates in dump -w output.
+ Patch submitted by Andreas Dilger <adilger@turbolinux.com>.
+
+5. Fixed the looping problem in dump introduced in the
+ previous version.
+
+6. Changed the -B option of dump to limit the size of
+ _compressed_ output per volume if compression is on.
+ Patch contributed by Helmut Jarausch
+ <jarausch@igpm.rwth-aachen.de>. Note however that, since
+ it is impossible to predict the size of the compressed
+ data before doing the compression, the -B limit is a bit
+ conservative.
+
+7. Fixed a bug in reading the operator typed file/tape path for
+ the next volume in restore.
+
+8. Implemented a "-F script" option to restore which permits the
+ user to specify a script which will be launched at the
+ beginning of each tape, useful for automatic programming of
+ tape changers for example. See the restore man page for the
+ script parameters and return codes.
+
+9. Small fix for the QFA routines provided by Uwe Gohlke
+ <uwe@ugsoft.de>, and some recommendations for QFA uses in
+ the man pages.
+
+10. Fixed the multivolume restoring where making a mistake
+ to the 'Mount next tape' prompt caused several blocks to
+ be lost.
+
+11. Enhanced the -e option of dump to take as a parameter a
+ comma separated list of inode numbers.
+
+12. Added the -E option to dump which specify a file containing
+ inode numbers to exclude from the dump.
-Changes between versions 0.4b7 and 0.4b8 (released ???????????????)
+13. Fixed the compressed multi-volume dump + restore.
+
+Changes between versions 0.4b21 and 0.4b22 (released May 12, 2001)
+==================================================================
+
+1. Made dump report the number of blocks dumped per volume.
+ Thanks to Kenneth Porter <shiva@well.com> for the suggestion.
+
+2. Fix a bug in dump where waiting too much at the 'change volumes'
+ question caused the volume to be rewritten. Thanks to
+ Graham Reed <greed@users.sourceforge.net> for reporting the
+ bug and providing a patch.
+
+3. Added a compression option to dump, contributed by Jerry
+ Peters <gapeters@worldnet.att.net>.
+
+ WARNING: the compression works only on files/pipes and
+ drives supporting variable block size.
+
+ WARNING2: tapes created using the compression feature are
+ incompatible with the standard dump tape format, and a
+ version of restore >= 0.4b22 will be needed for extraction.
+
+4. Fixed some compilation problems for glibc 2.2.2 and 64 bit
+ architectures. Thanks to Paul Slootman <paul@debian.org> for
+ the patch and to Bdale Garbee <bdale@gag.com> for forwarding
+ it upstream.
+
+5. Many cleanups (CPP defines, const char warnings, check of
+ ext2fs COMPAT flags, time_t cleanups, added libext2 version
+ in dump usage text) by Andreas Dilger <adilger@turbolinux.com>.
+
+6. Made --prefix option work in configure. All the install path
+ are now based on the configure parameters.
+
+7. Added the Quick File Access mode in dump/restore, contributed
+ by Uwe Gohlke <uwe@ugsoft.de>. In this mode, dump stores in
+ a file tape position for each inode, and this file is used by
+ restore (if called with parameter Q and the filename)
+ to directly position the tape at the file restore is currently
+ working on. This saves hours when restoring single files from
+ large backups, saves the tapes and the drive's head. Use
+ --enable-qfa option of configure to compile in the QFA support.
+
+8. Added the possibility to dump several files and directories
+ in a single invocation of dump. Thanks to Uwe Gohlke
+ <uwe@ugsoft.de> for implementing this option.
+
+9. Fixed the dumping and restoring of files with holes
+ (files ending with holes didn't get dumped or restored
+ correctly).
+
+10. Fixed a socket descriptor leak in dump, which leaved opened
+ 3 file descriptors per dump process (and there is one dump
+ process per tape).
+
+11. Fixed dump large file system support, by explicit use of
+ open64/lseek64/etc functions (explicit use needed because
+ e2fsprogs libraries don't behave well when compiled with
+ FILE_OFFSET_BITS=64).
+
+Changes between versions 0.4b20 and 0.4b21 (released January 13, 2001)
+======================================================================
+
+1. Fixed some bugs in the dump -w|-W logic introduced by
+ the previous version. Thanks to Andreas Dilger
+ <adilger@turbolinux.com> for his help on this one.
+
+2. Fixed again a compilation problem when using old e2fs
+ headers (filesystem label related). Thanks to many users
+ who reported this stupid error.
+
+3. Fixed a build problem on old lib5 based systems dealing with
+ _PATH_MNTTAB being undefined. Thanks to John Adams
+ <johna@onevista.com> for reporting the bug.
+
+4. Improved the error detection in restore when creating
+ the temporary files in TMPDIR. Now restore will corectly
+ report a 'no space left on device' error instead of
+ strange errors which could imply an archive corruption.
+ Thanks to Gabriel Somlo <somlo@cs.colostate.edu> and
+ bgjenero <bgjenero@sympatico.ca> for reporting the bug.
+
+5. Added the throughput information in dump's progression
+ messages. Thanks to Andreas Dilger <adilger@turbolinux.com>
+ for the patch.
+
+6. Use libext2fs's inode scanning routines, which are particularly
+ robust when dealing with errors (especially when having some
+ bad blocks on the filesystem). Many thanks to Colin
+ <colin@horizon.com> for reporting the bug, investigating
+ the issues, finding a workaround, writing the patch and
+ fully testing it... (of course, if this patch will break
+ anything, he is to blame for :-)).
+
+7. Made dump and restore LFS aware. Dump can dump a filesystem
+ containing large files, generate a large file on output and
+ restore can restore them. This feature is not enabled by
+ default, use --enable-largefile option of configure to enable
+ it (you need to have a LFS aware glibc though). Thanks to
+ Andrea Arcangeli <andrea@suse.de> for submitting the patch,
+ and to Theodore T'so <tytso@valinux.com> for his always
+ useful thoughts.
+
+8. Made dump ask upon a tape write error if it should rewrite
+ the current volume (assume this is a bad tape) or if it should
+ assume an end-of-tape condition (useful for tape drives which
+ behaves badly at the end of the tape). Thanks to Andreas
+ Dilger <adilger@turbolinux.com> for the suggestion.
+
+Changes between versions 0.4b19 and 0.4b20 (released November 10, 2000)
+=======================================================================
+
+1. Fixed a small compilation problem due to a change
+ in the definintion of the struct sigaction in
+ glibc 2.0 / libc5. Thanks to Gunther Schlegel
+ <schlegel@riege.de> for reporting the bug and to
+ Dave Platt <dplatt@snulbug.mtview.ca.us> for suggesting
+ a fix.
+
+2. Modified the label and uuid analysis in order to be
+ self-contained (independant of kernel/libc headers). This
+ should fix the compile with older kernel/libc headers and
+ will preserve the functionality. Thanks to Bernhard Erdmann
+ <bernhard.erdmann@gmx.de> for reporting the bug.
+
+3. The 'exclude inode' option, if applied to a directory
+ inode, excludes now correctly all the leaves of this
+ directory. Thanks to John R. Dennison
+ <gerdesas@users.sourceforge.net> for reporting the bug.
+
+4. Fixed the '-e' option to disable the possibility
+ to exclude the root inode (which causes the dumps to
+ be unreadable by restore). Prevented array overflow
+ when multiple -e options are used.
+
+5. Fixed dump to correctly interpret a filesystem argument
+ which is a mountpoint and it is not an absolute path
+ (as specified in the fstab). Thanks to Bernhard R. Erdmann
+ <be@berdmann.de> for reporting the bug.
+
+6. Made dump able to backup files larger than 2 GB. Note that
+ dump still doesn't cope with files larger than 4 GB.
+
+7. Restore the real uid and gid before invoking an external
+ RSH program (big hole when dump or restore is suid root!).
+
+8. Get the values for the default tape device and the location
+ of fstab file from the system headers. Thanks to
+ Andreas Dilger <adilger@turbolinux.com> for the patch.
+
+9. Made dump -w|-W report all recognized filesystems
+ present in either /etc/fstab or /etc/dumpdates, and present
+ the list in the same order as in fstab file. Thanks
+ to Andreas Dilger <adilger@turbolinux.com> for the patch.
+
+10. Made dump's -a (automatic end of tape detection) the
+ default. Specifying one of -B, -c, -d or -s options will
+ override the EOM detection. Thanks to Andreas Dilger
+ <adilger@turbolinux.com> for the patch.
+
+11. Save the ext2 filesystem label into the dump volume label.
+ Specifying a volume label on the command line (-L option)
+ will override this feature. Thanks to Andreas Dilger
+ <adilger@turbolinux.com> for the patch.
+
+Changes between versions 0.4b18 and 0.4b19 (released August 20, 2000)
+=====================================================================
+
+1. Fixed the signal handling in dump (which I broke in 0.4b17)
+ which was causing several strange dump failures (dump
+ hanged or segmentation faults etc).
+
+2. Specified the default blocksize in the dump man page.
+
+3. Changed two info messages of restore to be written on stdout
+ instead of stderr in order to leave stderr only for errors
+ or warnings. Thanks to Stephen Atwell
+ <satwell@urbana.css.mot.com> for the suggestion.
+
+4. Corrected an off by one calculation which prevented
+ dumping a directory having a 1 character name length.
+ Thanks to Bernhard Erdmann <bernhard.erdmann@gmx.de>
+ for reporting the bug.
+
+5. Reinforce dump in order to allow only level 0 and no
+ -u option when dumping a subdirectory, and document
+ this in the man page. Thanks to Bernhard Erdmann
+ <bernhard.erdmann@gmx.de> for reporting the bug.
+
+6. Fixed a small harmless bug in restore which caused
+ in some conditions hard links to be restored several
+ times (therefore generation some warning messages).
+ Thanks to Kenneth Porter <shiva@well.com> for
+ reporting the bug.
+
+7. Updated the RPM spec file to the latest RedHat version,
+ providing FHS packaging and other cosmetic changes.
+ You will need RPM version >= 3.0.5 in order to build the RPM.
+
+8. Updated the configure script to check for libtermcap
+ before checking for libreadline, because we need this
+ library in order to compile the readline support.
+
+9. Made dump understand the LABEL= and UUID= notation
+ both in /etc/fstab and on the command line. Note that
+ you will need the /proc filesystem in order to use
+ these notations. Thanks to Erik Troan <ewt@redhat.com>
+ for providing the patch.
+
+Changes between versions 0.4b17 and 0.4b18 (released June 30, 2000)
===================================================================
+1. Fixed a potential buffer overflow in restore. Thanks
+ to Stan Bubrouski <satan@fastdial.net> for reporting
+ the bug.
+
+2. Fixed a readline-related bug which prevented
+ 'cat DUMPFILE | restore -i -f -' from working. Thanks
+ to Charles Karney <karney@users.sourceforge.net>
+ for the bug report.
+
+3. Changed a few "panic" into "exit", causing restore to
+ be more stable against some attacks (like the last one
+ reported on Bugtraq, although the last version of restore
+ was not vulnerable - just dumped core). Thanks to
+ Andreas Hasenack <andreas@conectiva.com.br> for reporting
+ the bugs to me.
+
+4. Removed the suid-root bit on dump and restore in the
+ default build (and generated RPMs). It should be safer
+ now. Users who need the suid-root capabilities in order
+ to make network backups should read first the man page
+ of dump and enable the suid bit manually.
+
+5. Added -ltermcap to the compile parameters for restore
+ when using readline support, in order to make the compile
+ process work on some systems (SuSE ?). Thanks to
+ Patrik Schindler <poc@pocnet.net> for reporting the bug.
+
+Changes between versions 0.4b16 and 0.4b17 (released June 1st, 2000)
+====================================================================
+
+1. The -F script is called now *only* at the end of a tape,
+ not at the end of the dump. Thanks to Christian Haul
+ <haul@informatik.tu-darmstadt.de> for the bug report.
+
+ Normally, the device name and the current volume number
+ are passed on the command line of the script. However,
+ if you want the old style script (with no arguments
+ passed on the command line), you can enable it in
+ configure with the --enable-oldstylefscript.
+
+2. Use posix signal handling to preserve dump functionality
+ with libc5. Thanks to Jeff Johnson <jbj@redhat.com> for
+ the patch.
+
+3. Made the exit code of restore in case of a 'C'ompare
+ command reflect the result of the compare. An exit status
+ of 0 means the dump archive is correct, 1 means tape errors,
+ 2 means that some files were modified. Thanks to Kenneth Porter
+ <shiva@well.com> for the suggestion.
+
+4. Made (finally) quotes work in interactive restore.
+
+5. Small fixes in order to allow dump to compile with a
+ really old e2fsprogs version. Thanks to Ian Zimmerman
+ <itz@speakeasy.org> for the bug report.
+
+6. Add GNU readline capabilities to interactive restore.
+ Use configure's --enable-readline flag to enable this feature.
+ Thanks to Patrik Schindler <poc@pocnet.net> for the
+ suggestion.
+
+7. Do the compare on the fly in restore 'C' mode (this will
+ allow not to exhaust the available /tmp space when
+ ccmparing large files). Thanks to Kenneth Porter
+ <shiva@well.com> for the suggestion.
+
+Changes between versions 0.4b15 and 0.4b16 (released March 11, 2000)
+====================================================================
+
+1. Fixed some several duplicate 'DUMP: DUMP:' in the
+ output of dump.
+
+2. Corrected the estimation of blocks to dump. Note that
+ this is still wrong for large directory inodes, due
+ to the size of a BSD directory entry on the tape
+ (estimation is based on the size of the ext2 directory,
+ which is smaller because it doesn't contain the null
+ character at the end).
+
+3. Made dump report the total number of MB written to
+ tape at the end of run. Thanks to W. Reilly Cooley
+ <wcooley@nakedape.cc> for the patch.
+
+4. Added the -X option to restore giving the possibility
+ to read the names of the files to be extracted/listed
+ from a text file (in addition of the command line).
+ Thanks to Dejan Muhamedagic <dejan@quant-x.com> for the
+ patch.
+
+5. Added the device name and the current volume number
+ as arguments to the end of tape script (dump -F option).
+
+6. Made the multi-volume dump work again (after having
+ broken it in 0.4b15).
+
+Changes between versions 0.4b14 and 0.4b15 (released March 2, 2000)
+===================================================================
+
+1. Added a prompt command in interactive restore mode. Thanks
+ to Andreas Dilger <adilger@home.com> for the patch.
+
+2. Fixed a buffer overflow problem in dump (caused by
+ not checking the size of the filesystem parameter).
+ Thanks to Kim Yong-jun <loveyou@hackerslab.org> for
+ reporting this on Bugtraq (and to several dump users
+ who forwarded me his mail).
+
+3. Added the '-F script' option to dump in order to
+ launch a script at the end of each tape (to be used
+ with a tape changer, or to notify the sysadmin by
+ pager etc.).
+
+4. Fixed a bug in restore compare code caused by the changes
+ I made in 0.4b14.
+
+5. Fixed the treatment of options using the old BSD syntax
+ in both dump and restore.
+
+Changes between versions 0.4b13 and 0.4b14 (released February 10, 2000)
+=======================================================================
+
+1. Fixed a bug in dump which may have caused invalid deleted
+ directories to be dumped out if they were deleted after the
+ mapping pass. This could occure on active filesystem and lead
+ to heap corruption (causing dump malfunction in many possible ways).
+ Thanks to Jan Sanislo <oystr@cs.washington.edu> for finding this
+ bug and submitting the patch.
+
+2. Fixed the handling of the filesystem parameter in dump. A
+ '/mnt/disk' parameter caused the disk contents to be dumped,
+ but a '/mnt/disk/' parameter caused the mountpoint directory
+ to be dumped (generally an empty directory).
+
+3. Improved the output of dump in order to tell which directory
+ it is currently dumping (when dumping a subtree).
+
+4. Added the '-e' exclude inode option to dump. Thanks to
+ Isaac Chuang <ike@isl.stanford.edu> for contributing with the patch.
+
+5. Added a REPORTING-BUGS file in order to provide a guide
+ on how to correctly report a bug in dump/restore.
+
+6. Fixed a restore problem when restoring a hard link to an inode
+ having the immutable or append-only attribute set. Thanks to
+ Ambrose Li <acli@mingpaoxpress.com> for submitting the patch.
+
+7. Fixed a compatibility problem between dumps made on little
+ endian machines (the format was correct) and big endian
+ machines (the format was incorrect). This fix break the
+ compatibility with the older dumps made on big endian
+ machines (sparc, m86k, ppc etc). For the first time in
+ linux dump's history (I believe), the dumps made by *BSD,
+ Linux/alpha, Linux/sparc and Linux/x86 are compatible,
+ so interchangeable. Thanks to Rob Cermak
+ <cermak@ahab.rutgers.edu> for submitting the bug and
+ helping me test the fix.
+
+8. Fixed the way dump reports the remaining percent/time, if
+ the number of blocks actually dumped exceeds the estimated
+ number of blocks. Thanks to Jean-Paul van der Jagt
+ <jeanpaul@dutepp0.et.tudelft.nl> for reporting the bug.
+
+Changes between versions 0.4b12 and 0.4b13 (released January 21, 2000)
+======================================================================
+
+1. Small Y2K fix in the man pages :). Thanks to Bernhard Sadlowski
+ <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug.
+
+2. Removed the requirement to build the RPM as root from the
+ spec file. Thanks to Christian Weisgerber
+ <naddy@mips.rhein-neckar.de> for submitting this.
+
+3. Fixed a bug in dump related to the 'filetype' feature of ext2fs,
+ causing dump to block when dumping really huge filesystems.
+ Many thanks to Patrik Schindler <poc@pocnet.net> for
+ helping me find this bug.
+
+4. Fixed the treatment for an interrupt signal when dump access
+ the remote tape through RSH. Thanks to Christian Weisgerber
+ <naddy@mips.rhein-neckar.de> for providing the patch.
+
+5. Fixed a bug which was causing dump/restore to display
+ garbage characters instead of the remote host name.
+
+Changes between versions 0.4b11 and 0.4b12 (released January 8, 2000)
+=====================================================================
+
+1. Small fix in the dump man page. Thanks to Thorsten Kukuk
+ <kukuk@suse.de> for submitting the patch.
+
+2. Fix for the exit code when using the size estimate option of
+ dump. Thanks to Matti Taskinen <mkt@rni.helsinki.fi> for
+ submitting the patch.
+
+3. Handle EINTR in atomical reads/writes in dump, which was causing
+ dump to fail on some systems. Thanks to Eric Jergensen
+ <eric@dvns.com> for reporting the bug and submitting the patch.
+
+4. Handle more than 16 characters for the device names in dumpdates.
+ (up to 255 now). Thanks to Rainer Clasen <bj@ncc.cicely.de> for
+ tracking down the problem and proposing the solution.
+
+5. Fixed a bug in dump which prevented the creation of the
+ dumpdates file when doing a 0-level dump without already
+ having a dumpdates file. Thanks to Patrik Schindler
+ <poc@pocnet.net> for reporting the bug.
+
+6. Changed the way dump 'S' flag reports the size estimate
+ from number of blocks into bytes (making it compatible
+ with the Solaris version, and simplifying things for
+ amanda users). Thanks to Jason L Tibbitts III
+ <tibbs@math.uh.edu> for reporting the bug.
+
+7. Fixed a compatibility problem in linux/alpha dump tape format.
+ Now the linux/alpha dump are (again) compatible with the
+ other dump formats. But this breaks compatibility with
+ older dumps made on alpha. Thanks to Mike Tibor
+ <tibor@lib.uaa.alaska.edu> for helping me in finding this bug.
+
+Changes between versions 0.4b10 and 0.4b11 (released December 5, 1999)
+======================================================================
+
+1. Added a '--enable-kerberos' to configure.
+
+2. Added a 'S' option to dump which determines the amount of space
+ that is needed to perform the dump without actually doing it, similar
+ to the Sun's ufsdump 'S' option. Patch contributed by Rob Cermak
+ <cermak@ahab.rutgers.edu>.
+
+3. Added a 'M' multi-volume option to dump and restore which enables
+ dumping to multiple files (useful when dumping to an ext2
+ partition to make several dump files in order to bypass the 2GB
+ file size limitation). The 'f' argument is treated as a prefix and
+ the output files will be named <prefix>001, <prefix>002 etc. With
+ the 'M' flag, restore automatically selects the right file without
+ asking to enter a new tape each time.
+
+4. Fixed a memory leak which was causing dump to grow very big
+ (270MB when dumping a 10GB filesystem...). Thanks to Jason
+ Fearon <jasonf@netrider.org.au> for reporting the bug.
+
+Changes between versions 0.4b9 and 0.4b10 (released November 21, 1999)
+======================================================================
+
+1. Make configure test if the system glob routines support
+ extended syntax (ALTDIRFUNC). If not, use the internal glob
+ routines instead of system ones. Thanks to Bernhard Sadlowski
+ <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug
+ and helping me resolve this and other minor libc5 compiling
+ glitches.
+
+2. Fix a problem when dumping a ext2fs with the 'filetype'
+ feature enabled. Thanks to Patrick J. LoPresti
+ <patl@cag.lcs.mit.edu> for reporting the bug and to
+ Theodore Y. Ts'o <tytso@mit.edu> for providing the patch.
+
+3. Made the nodump flag work on directories. A directory which
+ has the nodump flag gets never dumped, regardless of its
+ contents.
+
+4. Integrate a patch from Jeremy Fitzhardinge <jeremy@goop.org>
+ which allows dump on an active ext3 filesystem. However, this
+ is a "quick and dirty" patch which enables backup of an ext3
+ filesystem through the ext2 compatibility (by ignoring the
+ NEEDS_RECOVERY bit). The journal file is not recognized and
+ it is dumped (it should not).
+
+5. Test the superblock compatibility flags when dumping, in order
+ to be sure that we know how to deal with specific features.
+
+Changes between versions 0.4b8 and 0.4b9 (released November 5, 1999)
+====================================================================
+
+1. Use lchown instead of chown, fixing a possible security problem
+ when restoring symlinks (a malicious user could use this
+ to deliberately corrupt the ownership of important system files).
+ Thanks to Chris Siebenmann <cks@utcc.utoronto.ca> for detecting
+ this and providing the patch.
+
+Changes between versions 0.4b7 and 0.4b8 (released November 3, 1999)
+====================================================================
+
1. Put dump sources under CVS, added Id tags in all files so
one can use 'ident' on binary files.