-$Id: CHANGES,v 1.154 2002/01/10 09:02:54 stelian Exp $
+$Id: CHANGES,v 1.242 2004/03/01 15:38:10 stelian Exp $
-Changes between versions 0.4b26 and 0.4b27 (released ???????????????)
-=====================================================================
+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.
+
+6. Made explicit in the dump man page that dump will not create
+ a remote file, it will only write to an already existing one.
+
+7. Another try at making size estimates better again.
+
+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)
=====================================================================