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