]> git.wh0rd.org - dump.git/blobdiff - CHANGES
Fix an issue with the size of dump maps appearing when the filesystem has been resize...
[dump.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 1f139e5b3510c43d6042aa16aa23c52252dd0d24..d6d93ff0bea45300ee43b4ead586f709d757eaaa 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,8 +1,449 @@
-$Id: CHANGES,v 1.174 2002/05/06 08:45:41 stelian Exp $
+$Id: CHANGES,v 1.273 2005/03/18 22:12:54 stelian Exp $
 
-Changes between versions 0.4b28 and 0.4b29 (released ??????????????)
+Changes between versions 0.4b39 and 0.4b40 (released ????????????????)
+======================================================================
+
+1.     Changed restore to emit warnings (instead of emitting a fatal
+       error) if a file (or a directory) is unavailable for a 
+       comparision (if the user doesn't have the necessary permissions
+       to access it for example). Thanks to Kenneth Porter
+       <shiva@sewingwitch.com> for the bug report.
+
+2.     Re-done the 'do not save directory entries to non-dumped inodes
+       (excluded from dump)' feature. The previous implementation
+       worked well for excluded directories but not for regular files.
+       Thanks to Kenneth Porter <shiva@sewingwitch.com> for the bug
+       report.
+
+3.     Fixed a bug in dump where the tape size was miscalculated when
+       the user used -d/-s to specify the tape characteristics. Thanks
+       to Philip Goisman <goisman@physics.arizona.edu> for reporting
+       the bug.
+
+4.     Fixed another bug introduced in restore with the hashtree
+       implementation. This one caused restore to stop saying
+       "removenode: non-empty directory" in some cases.
+
+Changes between versions 0.4b38 and 0.4b39 (released January 21, 2005)
+======================================================================
+
+1.     The newly added dump_on_cd_3 example was buggy, replace it
+       with an updated version from Andrew Basterfield
+       <bob@cemetery.homeunix.org>.
+
+2.     Made restore to chdir() back into the initial directory when
+       dumping core while aborting a comparision operation. The
+       previous behaviour was to write the corefile at the root of
+       the directory being compared, which could very well be 
+       read only and preventing the corefile generation. Thanks
+       to Kenneth Porter <shiva@sewingwitch.com> for the bug report.
+
+3.     Silenced the failure to call fgetflags() when comparing an
+       entry which has no ext2 attributes (as in lsattr()).
+
+4.     Fix a brown paper bug in restore -C which broke restore and
+       caused modifications on the filesystem being compared
+       (directories containing a file with the same name as the
+       directory get renamed to RSTTMP...). Thanks to Kenneth Porter
+       <shiva@sewingwitch.com> for finding the bug and helping me
+       reproduce it.
+
+5.     Made restore -C force the -N flag (no writing allowed on
+       the disk) in order to prevent more bugs like the above one.
+
+Changes between versions 0.4b37 and 0.4b38 (released January 7, 2005)
+=====================================================================
+
+1.     Fix a couple of troff syntax bugs in the man pages.
+       Thanks to Eric Raymond <esr@thyrsus.com> for the patch.
+
+2.     Made restore use either libncurses or libtermcap, depending
+       on which one is available at configure time.
+
+3.     Fixed restore negative size display bug when comparing a
+       dump containing files over 2GB. Thanks to Steve Bonds
+       <sbonds@users.sourceforge.net> for the bug report.
+
+4.     Do not save directory entries to non-dumped inodes 
+       (excluded from dump). This will eliminate the 'missing
+       file' warnings when doing 'restore -C'.
+
+5.     Fix dump crash when backuping a huge (2TB) filesystem,
+       due to a bogus calculation on the inode map size.
+       Thanks to Kevin B. Haines <K.B.Haines@rl.ac.uk> for 
+       submitting the bug and testing the fix.
+
+6.     Fix a problem in restore where the final \0 in the symbolic
+       link names could have been lost, generating corrupt filenames.
+       Thanks to Kyle Wilson <kyle.wilson@amd.com> for reporting the
+       bug.
+
+7.     Implemented a hash list for the directory names in restore.
+       The linear list used before caused problems in interactive
+       restores when dealing with directories having thousands of
+       entries. Thanks to Brian Ristuccia <bristuccia@starentnetworks.com>
+       for reporting the bug.
+
+8.     Improved restore -C, this time including the directory
+       attributes into the comparision.
+
+9.     Made restore understand tapes containing EA/ACLs (which will
+       be dumped by the next version of dump). In this version 
+       extended attributes on the tape are ignored, for full EA/ACL
+       support wait for the next version or try the experimental EA
+       patch.
+
+Changes between versions 0.4b36 and 0.4b37 (released July 7, 2004)
+==================================================================
+
+1.     Added the --enable-staticz configure option which enables
+       dump and restore to be linked with static versions of
+       libz and libbz2 (and dynamic versions of all other libraries).
+       This will make Debian users happy, because libz and libbz2
+       were the only needed libraries living in /usr, all the
+       others live in /lib. In case of system emergency, it is 
+       better not to have to rely on an extra filesystem.
+       Thanks to Bdale Garbee <bdale@gag.com> for the suggestion.
+
+2.     Fix compilation on (at least the Linux Debian port to) AMD64.
+       (<ext2fs/ext2_types.h> defines some types (__s64 and __u64)
+       that are also defined by <linux/types.h> (<asm/types.h>) and 
+       they conflict).
+
+3.     Make dump's reading of the dumpdates file a bit more robust,
+       preventing dump from crashing when the dumpdates file has
+       been modified by hand.
+
+4.     Fixed some offset calculations in dump code which could 
+       lead to "bread lseek errors" on large filesystems. Thanks
+       to Bruce Lowekamp <lowekamp@users.sourceforge.net> for
+       reporting this bug and debugging the issue.
+
+5.     Made dump use the blkid library when searching for devices
+       by label or uuid instead of dump's own routines.
+
+6.     Corrected a bug in dump where a wrong LABEL=... line in
+       /etc/fstab could prevent dump from dumping unrelated 
+       filesystems. Thanks to Bruce Lowekamp
+       <lowekamp@users.sourceforge.net> for reporting the bug.
+
+Changes between versions 0.4b35 and 0.4b36 (released April 21, 2004)
+====================================================================
+
+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.
+
+8.     Put back the inconditional running of the end-of-tape
+       script which was changed in 0.434 to be run only when -M
+       or multiple -f were NOT specified. Some users rely on this
+       feature even when it is combined with -M/-f.
+
+9.     Fixed restore when restoring huge backups (where rstdir...
+       temporary files are over 2GB). Thanks to 
+       Raphael Jaffey <rjaffey@artic.edu> for reporting this, 
+       debugging the issue and making the patch.
+
+10.    Made restore understand FreeBSD UFS2 tapes. Thanks to
+       David <vrtin@users.sourceforge.net> for submitting the bug
+       and providing a test case.
+
+11.    Made dump work with an arbitrary integer level (no more 10
+       levels only limitation). Thanks to Matthew
+       <msvincen@midway.uchicago.edu> for the patch.
+       
+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
@@ -15,7 +456,34 @@ Changes between versions 0.4b28 and 0.4b29 (released ??????????????)
        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)
 ====================================================================