Make the directory hashtable optional and controled via restore -H
[dump.git] / CHANGES
CommitLineData
df3d2ef9 1$Id: CHANGES,v 1.279 2005/07/07 09:16:03 stelian Exp $
b630baf0
SP
2
3Changes between versions 0.4b40 and 0.4b41 (released ???????????)
4=================================================================
5
61. Fix restore of dumped Access Control Lists. The previous
7 code for EA works fine, but ACLs needed conversion from the
8 ext2/3 disk format to posix_acl format before restoring.
f30c53e5 9
cb6d3f79
SP
102. Fix some issues with restoration of EA on big endian
11 platforms.
12
26ce8fc8
SP
133. Fix restore when the symtab is over 2GB in size.
14
df3d2ef9
SP
154. Made the directory hash indexing an optional feature,
16 accessible by the '-H' option of restore, and disable it
17 by default.
18
84182f10
SP
19Changes between versions 0.4b39 and 0.4b40 (released May 2, 2005)
20=================================================================
f30c53e5
SP
21
221. Changed restore to emit warnings (instead of emitting a fatal
23 error) if a file (or a directory) is unavailable for a
24 comparision (if the user doesn't have the necessary permissions
25 to access it for example). Thanks to Kenneth Porter
26 <shiva@sewingwitch.com> for the bug report.
35ed8cf8 27
979da669
SP
282. Re-done the 'do not save directory entries to non-dumped inodes
29 (excluded from dump)' feature. The previous implementation
30 worked well for excluded directories but not for regular files.
31 Thanks to Kenneth Porter <shiva@sewingwitch.com> for the bug
32 report.
33
1ba0c4bb
SP
343. Fixed a bug in dump where the tape size was miscalculated when
35 the user used -d/-s to specify the tape characteristics. Thanks
36 to Philip Goisman <goisman@physics.arizona.edu> for reporting
37 the bug.
38
c21722b0
SP
394. Fixed another bug introduced in restore with the hashtree
40 implementation. This one caused restore to stop saying
41 "removenode: non-empty directory" in some cases.
42
cca7148b
SP
435. Added support for dumping and restoring ext2/3 extended
44 attributes (EA), like the access control lists (ACL) or
45 the security labels used by SELinux.
46
debbffbc
SP
47Changes between versions 0.4b38 and 0.4b39 (released January 21, 2005)
48======================================================================
35ed8cf8
SP
49
501. The newly added dump_on_cd_3 example was buggy, replace it
51 with an updated version from Andrew Basterfield
52 <bob@cemetery.homeunix.org>.
b79d20f1 53
30e8407d
SP
542. Made restore to chdir() back into the initial directory when
55 dumping core while aborting a comparision operation. The
56 previous behaviour was to write the corefile at the root of
57 the directory being compared, which could very well be
58 read only and preventing the corefile generation. Thanks
59 to Kenneth Porter <shiva@sewingwitch.com> for the bug report.
60
b43981b3
SP
613. Silenced the failure to call fgetflags() when comparing an
62 entry which has no ext2 attributes (as in lsattr()).
63
68415469
SP
644. Fix a brown paper bug in restore -C which broke restore and
65 caused modifications on the filesystem being compared
66 (directories containing a file with the same name as the
67 directory get renamed to RSTTMP...). Thanks to Kenneth Porter
68 <shiva@sewingwitch.com> for finding the bug and helping me
69 reproduce it.
70
18dc6e86
SP
715. Made restore -C force the -N flag (no writing allowed on
72 the disk) in order to prevent more bugs like the above one.
73
cdd136ec
SP
74Changes between versions 0.4b37 and 0.4b38 (released January 7, 2005)
75=====================================================================
b79d20f1
SP
76
771. Fix a couple of troff syntax bugs in the man pages.
78 Thanks to Eric Raymond <esr@thyrsus.com> for the patch.
d7783603 79
0556ca22
SP
802. Made restore use either libncurses or libtermcap, depending
81 on which one is available at configure time.
82
7d422735
SP
833. Fixed restore negative size display bug when comparing a
84 dump containing files over 2GB. Thanks to Steve Bonds
85 <sbonds@users.sourceforge.net> for the bug report.
86
585ca01a
SP
874. Do not save directory entries to non-dumped inodes
88 (excluded from dump). This will eliminate the 'missing
89 file' warnings when doing 'restore -C'.
90
241ddca3
SP
915. Fix dump crash when backuping a huge (2TB) filesystem,
92 due to a bogus calculation on the inode map size.
93 Thanks to Kevin B. Haines <K.B.Haines@rl.ac.uk> for
94 submitting the bug and testing the fix.
95
47acd076
SP
966. Fix a problem in restore where the final \0 in the symbolic
97 link names could have been lost, generating corrupt filenames.
98 Thanks to Kyle Wilson <kyle.wilson@amd.com> for reporting the
99 bug.
100
741eb204
SP
1017. Implemented a hash list for the directory names in restore.
102 The linear list used before caused problems in interactive
103 restores when dealing with directories having thousands of
104 entries. Thanks to Brian Ristuccia <bristuccia@starentnetworks.com>
105 for reporting the bug.
106
a55ce914
SP
1078. Improved restore -C, this time including the directory
108 attributes into the comparision.
109
1109. Made restore understand tapes containing EA/ACLs (which will
111 be dumped by the next version of dump). In this version
112 extended attributes on the tape are ignored, for full EA/ACL
113 support wait for the next version or try the experimental EA
114 patch.
115
498a402f
SP
116Changes between versions 0.4b36 and 0.4b37 (released July 7, 2004)
117==================================================================
d7783603
SP
118
1191. Added the --enable-staticz configure option which enables
120 dump and restore to be linked with static versions of
121 libz and libbz2 (and dynamic versions of all other libraries).
122 This will make Debian users happy, because libz and libbz2
123 were the only needed libraries living in /usr, all the
124 others live in /lib. In case of system emergency, it is
125 better not to have to rely on an extra filesystem.
126 Thanks to Bdale Garbee <bdale@gag.com> for the suggestion.
e0267986 127
b3f55532
SP
1282. Fix compilation on (at least the Linux Debian port to) AMD64.
129 (<ext2fs/ext2_types.h> defines some types (__s64 and __u64)
130 that are also defined by <linux/types.h> (<asm/types.h>) and
131 they conflict).
132
1f2c193e
SP
1333. Make dump's reading of the dumpdates file a bit more robust,
134 preventing dump from crashing when the dumpdates file has
135 been modified by hand.
136
e1e4be20
SP
1374. Fixed some offset calculations in dump code which could
138 lead to "bread lseek errors" on large filesystems. Thanks
139 to Bruce Lowekamp <lowekamp@users.sourceforge.net> for
140 reporting this bug and debugging the issue.
141
c9e4e868
SP
1425. Made dump use the blkid library when searching for devices
143 by label or uuid instead of dump's own routines.
144
97be3358
SP
1456. Corrected a bug in dump where a wrong LABEL=... line in
146 /etc/fstab could prevent dump from dumping unrelated
147 filesystems. Thanks to Bruce Lowekamp
148 <lowekamp@users.sourceforge.net> for reporting the bug.
149
ddf54486
SP
150Changes between versions 0.4b35 and 0.4b36 (released April 21, 2004)
151====================================================================
e0267986
SP
152
1531. Fixed dump compilation with old gcc versions. Thanks to
154 Mike Castle <dalgoda@users.sourceforge.net> for the patch.
8ad151aa 155
75654eee
SP
1562. Fixed some warnings (howmany, roundup, powerof2 redefined)
157 when compiling against a recent glibc version.
158
43e6ea49
SP
1593. Fixed a bug in restore preventing the read of a dump tape
160 written with Solaris 7 ufsdump. Thanks to Patrick Higgins
161 <phiggins@transzap.com> for reporting the bug and providing
162 the test case.
163
d435f57f
SP
1644. Changed dump to enable the creation of volumes of different
165 sizes in a single run (make -B accept a list of values).
166 Patch contributed by Florian Zumbiehl <florz@gmx.de>.
167
e1ba02ef
SP
1685. Use the glibc provided minor() and major() macros instead
169 of our own bitmask implementation. This should be safe for
170 when the major/minor namespace will migrate to 32 bits.
171 Thanks to Zhang Jun <zhangjun@nanjing-fnst.com> for reporting
172 the bug.
173
ae6919a7
SP
1746. Made explicit in the dump man page that dump will not create
175 a remote file, it will only write to an already existing one.
176
4acaf865
SP
1777. Another try at making size estimates better again.
178
956756f2
SP
1798. Put back the inconditional running of the end-of-tape
180 script which was changed in 0.434 to be run only when -M
181 or multiple -f were NOT specified. Some users rely on this
182 feature even when it is combined with -M/-f.
183
e4e31ce9
SP
1849. Fixed restore when restoring huge backups (where rstdir...
185 temporary files are over 2GB). Thanks to
186 Raphael Jaffey <rjaffey@artic.edu> for reporting this,
187 debugging the issue and making the patch.
188
cc7747eb
SP
18910. Made restore understand FreeBSD UFS2 tapes. Thanks to
190 David <vrtin@users.sourceforge.net> for submitting the bug
191 and providing a test case.
192
28ba5cae
SP
19311. Made dump work with an arbitrary integer level (no more 10
194 levels only limitation). Thanks to Matthew
195 <msvincen@midway.uchicago.edu> for the patch.
196
dcac75e9
SP
197Changes between versions 0.4b34 and 0.4b35 (released December 21, 2003)
198=======================================================================
8ad151aa
SP
199
2001. Added a note in the dump man page saying that the default
201 blocksize can be 32 if -d is used with a high density argument.
202 Thanks to Antonios Christofides <A.Christofides@itia.ntua.gr>
203 for the patch.
ed194aec 204
008af419
SP
2052. Fixed configure to correctly understand CPPFLAGS, CFLAGS,
206 LDFLAGS environment variables. Thanks to Arcady Genkin
207 <antipode@users.sourceforge.net> for reporting the bug.
208
0d4dfd07 2093. Made -e/-E options of dump accept an unlimited number of inodes
67793be0
SP
210 to be excluded, rather than a hardcoded maximum. Thanks to
211 Dietrich Rothe <d-rothe@users.sourceforge.net> for the patch.
212
0d4dfd07
SP
2134. Updated the autoconf system to 2.50. Forced the -D_BSD_SOURCE
214 and -D_USE_BSD_SIGNAL defines in configure in order to solve
215 64bit build problems because quad_t is redifined with a
216 different signature. Thanks to Mike Harris <mharris@redhat.com>
217 for reporting this bug.
218
5d8d264f 2195. Made restore build on Solaris, making possible to
d1925e0c
SP
220 restore Linux's "enhanced" tapes. Thanks to Uwe Gohlke
221 <uwe@ugsoft.de> for the patch.
222
2236. Made an extension in the dump tape format capable of saving
224 MacOSX specific inode extensions. Uwe Gohlke <uwe@ugsoft.de>
225 wrote the extension and contributed the restore code back
226 into this codebase. The same extension mechanism will be
227 used in the future to save ACLs...
228
2297. Made rmt work correctly with regard to QFA and local/remote
230 files and tapes. The remote access will however work only
231 when the dump provided rmt version is used. If you want to
232 use another rmt server, please do not use the QFA feature.
5d8d264f 233 Thanks to Uwe Gohlke <uwe@ugsoft.de> for the patch.
d1925e0c 234
b564cb84
SP
235Changes between versions 0.4b33 and 0.4b34 (released April 18, 2003)
236====================================================================
ed194aec
SP
237
2381. Fixed the INSTALL file to reflect the actual install paths.
239 Thanks to David Ronis <ronis@ronispc.chem.mcgill.ca> for
240 reporting the bug.
4bb009da 241
d3e542e7
SP
2422. Fixed the configure script to only check for headers presence
243 instead of trying to compile them. This should fix issues
244 with old build environments. Thanks to Kari Lempiainen
245 <kari@funky.pp.fi> for reporting the bug.
246
1176b3c1
SP
2473. Fixed restore to correctly ignore sockets when comparing
248 a dump (as socket cannot be properly restored anyway). Thanks
2d32c89c
SP
249 to Gunther Reiszig <gunther@mit.edu> for reporting the bug.
250
2514. Fixed restore to correctly access the archive file (-A argument)
252 even when using a remote tape. Thanks to Fabrice Bellet
253 <fabrice@bellet.info> for reporting the bug.
1176b3c1 254
900bffdb
SP
2555. Fixed (again) handling of long (largefile) seeks in rmt.
256 Thanks to Fabrice Bellet <fabrice@bellet.info> for reporting
257 the bug.
258
6d834d25
SP
2596. Fixed restore corner case when dealing with large block sizes
260 dump is able to write now (-b 1024). Thanks to Fabrice Bellet
261 <fabrice@bellet.info> for reporting the bug.
262
cdef84ca
SP
2637. Fixed a bug preventing dump to access a filesystem having
264 a label exactly 16 bytes in length. Thanks to <minduni@ti-edu.ch>
265 for reporting the bug.
266
3458b64d
SP
2678. Made dump store dump dates using explicit timezones, fixing a
268 problem with incremental dumps if the timezone is modified
269 between the dumps. Thanks to Philippe Troin <phil@fifi.org> for
270 the bug report and the patch.
271
2be77799
SP
2729. Fixed a bug encountered when dumping individual files (not full
273 filesystems or directories) and dangling symbolic links happen
274 to be in the list of files. For as far as dump is concerned,
275 dangling symbolic links are allowed, and are dumped as is.
276 Thanks to Jin-su Ahn <jsahn@ee.snu.ac.kr> for reporting the
277 bug and providing the fix.
278
c3f69f06
SP
27910. Fixed open and creation modes and permissions for QFA and
280 table-of-contents files in dump and restore. Thanks to
281 Philippe Troin <phil@fifi.org> for the patch.
282
28311. Fixed the archive file descriptor handling enabling it to be 0.
284 This can happen in some cases when shell redirections are used.
285 Thanks to Philippe Troin <phil@fifi.org> for the patch.
286
28712. Delayed the opening of archive file until after suid had been
288 dropped (fixing a possible security issue if dump is suid).
289 Thanks to Philippe Troin <phil@fifi.org> for the patch.
290
29113. Fixed the 'S' command handling in the rmt client part.
292 Thanks to Philippe Troin <phil@fifi.org> for the patch.
293
29414. Modified the end-of-tape script handling to print out statistics
295 (and stop the timer) before launching the eot script. Also, the eot
296 script does not get run anymore when using -M (which makes sense) or
297 when multiple tapes are listed on the command line
298 (-f tape0,tape1,tapen) (which also makes sense).
299 Thanks to Philippe Troin <phil@fifi.org> for the patch.
300
e1abc9ce
SP
30115. Relicensed dump/restore under the 'revised' BSD license, as per
302 ftp://ftp.cs.berkeley.edu/ucb/4bsd/README.Impt.License.Change.
303
206f768c
SP
30416. Added LZO compression to dump. This new compression method has
305 the advantage of being super fast, thus not killing tape streaming
306 on slow machines. Thanks to Helmut Jarausch
307 <jarausch@igpm.rwth-aachen.de> for the patch and to
308 Markus Oberhumer <markus@oberhumer.com> for giving special permission
309 to include his miniLZO project (GPL licensed) in dump/restore.
310
e2392789
SP
31117. Some small buffer overruns fixes in rmt. Thanks to Antonomasia
312 <ant@notatla.demon.co.uk> for reporting the bugs.
313
cdfe1392
SP
31418. Added a special rmt version which can do encryption when writing
315 to tape. Read examples/encrypted_rmt/README for details on
316 how to enable and configure it. Thanks to Ken Lalonde
317 <ken@globalremit.com> for the patch.
318
61e9d4ff
SP
31919. Made dump work with 2.5 kernel end of tape early warning semantics.
320 Thanks to Kai Makisara <Kai.Makisara@kolumbus.fi> for the patch.
321
8c95cc30
SP
32220. Fixed a bug which caused dump -w|-W not to work anymore, because
323 the fs_freq and fs_passno fields in /etc/mtab are always set
324 to 0 0. Thanks to Trent Piepho <xyzzy@speakeasy.org> for
325 reporting the bug.
326
cbdba727 327Changes between versions 0.4b32 and 0.4b33 (released February 10, 2003)
4bb009da
SP
328=======================================================================
329
3301. Added a note in the restore man page clarifying the question
331 'set the permissions on the current directory ?' asked by
332 restore at the end of treatment in -i and -x modes.
d86089d1 333
c898ca7a
SP
3342. Fixed the endianess issues when reading compressed tapes.
335 Thanks to Dark Force <daq4th@users.sourceforge.net> for
336 reporting this bug and providing test cases.
337
a028bdc8
SP
3383. Fixed the "ACL won't be dumped" warning message (which showed
339 an extra, unrelated error message). Thanks to Dragan Krnic
340 <dkrnic@lycos.com> for reporting this bug.
341
a8a6a503 3424. Made dump look first into /etc/mtab, then into /etc/fstab
1a886de8
SP
343 when searching for filesystem paths. Also fixed some problems
344 caused by binding mounts or multiple block device mounts.
345 Thanks to Matus Uhlar <uhlar@fantomas.sk>, Elliott Mitchell
a8a6a503
SP
346 <ehem@m5p.com>, Greg Edwards <gedwards@users.sourceforge.net>,
347 Brian Hoy <brian.hoy@opus.co.nz>. (fixes Debian bugs #147086
348 and #160305, Sourceforge bugs #618699 and #679832).
1a886de8 349
3211c85b
SP
3505. Made dump's -I option accept the value '0' meaning all the
351 read errors will be ignored. This can be useful when running
352 dump from unattended sessions (like cron jobs). Thanks to
353 John I Wang <jiwang@users.sourceforge.net> for the suggestion.
354
7fcd6df5
SP
3556. Fixed the output of dump to indicate 'blocks' instead of
356 'tape blocks' in the various messages (blocks are always
357 1 Kilobyte, tape blocks are 1 BK * '-b' argument), and
358 made it clearly print the current blocksize at the start of
359 a dump. Thanks to Michal Szymanski <msz@astrouw.edu.pl> for
360 the suggestions.
361
5bf65105
SP
3627. Made rmt understand long (largefiles) seeks.
363
dbb649e8
SP
3648. Fixed build with very old versions of libext2fs, where
365 EXT2_FT_* constants were undefined.
366
c92d83ae
SP
3679. Made dump accept the dumpdates path on the command line
368 (-D file option) instead of using only the hardcoded one.
369 Thanks to Piete Brooks <pb22@users.sourceforge.net> for the
370 suggestion.
371
1daf06b9
SP
37210. Enabled rmt, LFS, readline, QFA options by default in
373 ./configure. Updated the configure process (new versions
374 of config.guess, config.sub etc).
375
51c11d00
SP
376Changes between versions 0.4b31 and 0.4b32 (released November 15, 2002)
377=======================================================================
d86089d1
SP
378
3791. Changed dump to use fcntl(F_SETLK) style locking instead
380 of flock() when locking the dumpdates file. With the old
381 locking scheme, a local user having read rights on the
382 dumpdates file could be able to do a Denial of Service attack
383 on dump. In order to lock the dumpdates file with the new
384 scheme, the user would need to have write access on the file.
385 Thanks to Richard Johnson <Richard.Johnson3@ey.com> for
386 reporting the bug (originally a bugtraq post).
ba3af39e 387
2f562f4e
SP
3882. Fixed interactive 'ls' which caused spurious errors warnings
389 about 'undefined filetypes' detected. Thanks to Jorgen Ostling
390 <jorgen_ostling@users.sourceforge.net> for reporting this
391 bug.
392
1c736b78
SP
3933. Fixed dump's estimate when dealing with sparse inodes.
394
876861d2
SP
3954. Modified dump to allow setting a blocksize bigger than 32kB
396 (raised the limit to 1024kB), because newer hardware needs
397 this for proper operation. Thanks to Dirk Traenapp
398 <dtraenapp@users.sourceforge.net> for reporting this.
399
b8d848c9
SP
4005. Fixed a bug causing Dump to stop and report an error if an
401 inode number in the exclude file was followed by some amount
402 of whitespace. Thanks to Jeffrey Sofferin
403 <sofferin@users.sourceforge.net> for reporting this bug.
404
e531c442
SP
4056. Fixed a bug which caused restore, in some particular cases,
406 to ask some 'scary' questions and leave a bunch of RSTTMP
407 directories behind when restoring incremental tapes. Thanks
408 to Philippe Troin <phil@fifi.org> for reporting this bug and
409 providing the test cases.
410
c993d83a
SP
4117. Changed the wording when inodes are excluded from dump:
412 replaced 'Added inode 7 to exclude list' with
413 'Excluding inode 7 (resize inode) from dump', as suggested
414 by Elliott Mitchell <ehem@m5p.com> in a Debian bug report.
415
cbc7fd6a 416Changes between versions 0.4b30 and 0.4b31 (released July 30, 2002)
ba3af39e
SP
417===================================================================
418
4191. Fixed rmt open flags transmission (GNU's symbolic syntax over
420 rmt) which I broke in 0.4b29. Thanks to Eros Albertazzi
421 <eros@lamel.bo.cnr.it> for reporting the bug.
35952b8f 422
4095abc0
SP
423Changes between versions 0.4b29 and 0.4b30 (released July 25, 2002)
424===================================================================
aa1b1e7f
SP
425
4261. Made dump print out the ext2 logical block number in case of a read
427 error, which can be given as an argument to debugfs' ncheck command,
428 in order to find out the affected inode. Added note about this
429 usage in dump's man page.
ed7c25a3
SP
430
4312. Fixed a problem in restore when reading tapes written on big
432 endian machines with very old versions of dump. The patch was
433 contributed by George Helffrich <george@geology.bristol.ac.uk>.
f75cc889
SP
434
4353. Fixed the tape length calculation when using large tapes
436 and compression. Thanks to Georg Lippold
437 <g_lippold@sourceforge.net> for reporting the bug.
a9c5ed48
SP
438
4394. Added a new set of examples in dump_on_cd_2 directory, based
440 on dump_on_cd examples but somewhat enhanced, supporting DVD
441 media, and localized in english and german. Thanks to
442 Georg Lippold <g_lippold@sourceforge.net> for the new scripts.
443
9ca70cf6
SP
4445. Made dump save 32 bit UID/GID. Internally, this was achieved
445 by switching from the old BSD inode format to the new BSD
446 inode format, which means that the tape format was changed.
447 However, since all restore versions out there should
448 transparently support both inode formats, the change should
449 have no side effects. Thanks to John Yu <jky@cs.bu.edu> for
450 reporting the bug.
a18d5997
SP
451
4526. Fixed a lot of warnings in the code shown when compiling
453 with 'gcc -W'. Thanks to Matthias Andree
454 <matthias.andree@stud.uni-dortmund.de> for reporting this.
455
2a2e321d
SP
4567. Fixed a small markup bug in the dump man page. Thanks to
457 Eric S. Raymond <esr@minx.thyrsus.com> for submitting the
458 patch.
459
153f9a83
SP
4608. Rewrote entirely the man pages using the tmac.an macro
461 package (Linux man page format) instead of the original BSD
462 format. They should be now cleaner and easier to modify.
463
cf88ef4c
SP
464Changes between versions 0.4b28 and 0.4b29 (released June 8, 2002)
465==================================================================
d24dc8af
SP
466
4671. Fixed a problem in the rmt ioctl command, where ioctl's issued from
468 non Linux clients were misinterpreted. The description of the problem
469 (incompatible numbering in Linux mtio opcodes) is documented at
470 ftp://ftp.fokus.gmd.de/pub/unix/star/README.mtio . Thanks to
471