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