Fix SIGSEGV in dump when dumping huge 2TB filesystems (bad inode map calculation)
[dump.git] / CHANGES
CommitLineData
241ddca3 1$Id: CHANGES,v 1.259 2004/11/22 10:32:31 stelian Exp $
b79d20f1
SP
2
3Changes between versions 0.4b37 and 0.4b38 (released ????????????)
4==================================================================
5
61. Fix a couple of troff syntax bugs in the man pages.
7 Thanks to Eric Raymond <esr@thyrsus.com> for the patch.
d7783603 8
0556ca22
SP
92. Made restore use either libncurses or libtermcap, depending
10 on which one is available at configure time.
11
7d422735
SP
123. Fixed restore negative size display bug when comparing a
13 dump containing files over 2GB. Thanks to Steve Bonds
14 <sbonds@users.sourceforge.net> for the bug report.
15
585ca01a
SP
164. Do not save directory entries to non-dumped inodes
17 (excluded from dump). This will eliminate the 'missing
18 file' warnings when doing 'restore -C'.
19
241ddca3
SP
205. Fix dump crash when backuping a huge (2TB) filesystem,
21 due to a bogus calculation on the inode map size.
22 Thanks to Kevin B. Haines <K.B.Haines@rl.ac.uk> for
23 submitting the bug and testing the fix.
24
498a402f
SP
25Changes between versions 0.4b36 and 0.4b37 (released July 7, 2004)
26==================================================================
d7783603
SP
27
281. Added the --enable-staticz configure option which enables
29 dump and restore to be linked with static versions of
30 libz and libbz2 (and dynamic versions of all other libraries).
31 This will make Debian users happy, because libz and libbz2
32 were the only needed libraries living in /usr, all the
33 others live in /lib. In case of system emergency, it is
34 better not to have to rely on an extra filesystem.
35 Thanks to Bdale Garbee <bdale@gag.com> for the suggestion.
e0267986 36
b3f55532
SP
372. Fix compilation on (at least the Linux Debian port to) AMD64.
38 (<ext2fs/ext2_types.h> defines some types (__s64 and __u64)
39 that are also defined by <linux/types.h> (<asm/types.h>) and
40 they conflict).
41
1f2c193e
SP
423. Make dump's reading of the dumpdates file a bit more robust,
43 preventing dump from crashing when the dumpdates file has
44 been modified by hand.
45
e1e4be20
SP
464. Fixed some offset calculations in dump code which could
47 lead to "bread lseek errors" on large filesystems. Thanks
48 to Bruce Lowekamp <lowekamp@users.sourceforge.net> for
49 reporting this bug and debugging the issue.
50
c9e4e868
SP
515. Made dump use the blkid library when searching for devices
52 by label or uuid instead of dump's own routines.
53
97be3358
SP
546. Corrected a bug in dump where a wrong LABEL=... line in
55 /etc/fstab could prevent dump from dumping unrelated
56 filesystems. Thanks to Bruce Lowekamp
57 <lowekamp@users.sourceforge.net> for reporting the bug.
58
ddf54486
SP
59Changes between versions 0.4b35 and 0.4b36 (released April 21, 2004)
60====================================================================
e0267986
SP
61
621. Fixed dump compilation with old gcc versions. Thanks to
63 Mike Castle <dalgoda@users.sourceforge.net> for the patch.
8ad151aa 64
75654eee
SP
652. Fixed some warnings (howmany, roundup, powerof2 redefined)
66 when compiling against a recent glibc version.
67
43e6ea49
SP
683. Fixed a bug in restore preventing the read of a dump tape
69 written with Solaris 7 ufsdump. Thanks to Patrick Higgins
70 <phiggins@transzap.com> for reporting the bug and providing
71 the test case.
72
d435f57f
SP
734. Changed dump to enable the creation of volumes of different
74 sizes in a single run (make -B accept a list of values).
75 Patch contributed by Florian Zumbiehl <florz@gmx.de>.
76
e1ba02ef
SP
775. Use the glibc provided minor() and major() macros instead
78 of our own bitmask implementation. This should be safe for
79 when the major/minor namespace will migrate to 32 bits.
80 Thanks to Zhang Jun <zhangjun@nanjing-fnst.com> for reporting
81 the bug.
82
ae6919a7
SP
836. Made explicit in the dump man page that dump will not create
84 a remote file, it will only write to an already existing one.
85
4acaf865
SP
867. Another try at making size estimates better again.
87
956756f2
SP
888. Put back the inconditional running of the end-of-tape
89 script which was changed in 0.434 to be run only when -M
90 or multiple -f were NOT specified. Some users rely on this
91 feature even when it is combined with -M/-f.
92
e4e31ce9
SP
939. Fixed restore when restoring huge backups (where rstdir...
94 temporary files are over 2GB). Thanks to
95 Raphael Jaffey <rjaffey@artic.edu> for reporting this,
96 debugging the issue and making the patch.
97
cc7747eb
SP
9810. Made restore understand FreeBSD UFS2 tapes. Thanks to
99 David <vrtin@users.sourceforge.net> for submitting the bug
100 and providing a test case.
101
28ba5cae
SP
10211. Made dump work with an arbitrary integer level (no more 10
103 levels only limitation). Thanks to Matthew
104 <msvincen@midway.uchicago.edu> for the patch.
105
dcac75e9
SP
106Changes between versions 0.4b34 and 0.4b35 (released December 21, 2003)
107=======================================================================
8ad151aa
SP
108
1091. Added a note in the dump man page saying that the default
110 blocksize can be 32 if -d is used with a high density argument.
111 Thanks to Antonios Christofides <A.Christofides@itia.ntua.gr>
112 for the patch.
ed194aec 113
008af419
SP
1142. Fixed configure to correctly understand CPPFLAGS, CFLAGS,
115 LDFLAGS environment variables. Thanks to Arcady Genkin
116 <antipode@users.sourceforge.net> for reporting the bug.
117
0d4dfd07 1183. Made -e/-E options of dump accept an unlimited number of inodes
67793be0
SP
119 to be excluded, rather than a hardcoded maximum. Thanks to
120 Dietrich Rothe <d-rothe@users.sourceforge.net> for the patch.
121
0d4dfd07
SP
1224. Updated the autoconf system to 2.50. Forced the -D_BSD_SOURCE
123 and -D_USE_BSD_SIGNAL defines in configure in order to solve
124 64bit build problems because quad_t is redifined with a
125 different signature. Thanks to Mike Harris <mharris@redhat.com>
126 for reporting this bug.
127
5d8d264f 1285. Made restore build on Solaris, making possible to
d1925e0c
SP
129 restore Linux's "enhanced" tapes. Thanks to Uwe Gohlke
130 <uwe@ugsoft.de> for the patch.
131
1326. Made an extension in the dump tape format capable of saving
133 MacOSX specific inode extensions. Uwe Gohlke <uwe@ugsoft.de>
134 wrote the extension and contributed the restore code back
135 into this codebase. The same extension mechanism will be
136 used in the future to save ACLs...
137
1387. Made rmt work correctly with regard to QFA and local/remote
139 files and tapes. The remote access will however work only
140 when the dump provided rmt version is used. If you want to
141 use another rmt server, please do not use the QFA feature.
5d8d264f 142 Thanks to Uwe Gohlke <uwe@ugsoft.de> for the patch.
d1925e0c 143
b564cb84
SP
144Changes between versions 0.4b33 and 0.4b34 (released April 18, 2003)
145====================================================================
ed194aec
SP
146
1471. Fixed the INSTALL file to reflect the actual install paths.
148 Thanks to David Ronis <ronis@ronispc.chem.mcgill.ca> for
149 reporting the bug.
4bb009da 150
d3e542e7
SP
1512. Fixed the configure script to only check for headers presence
152 instead of trying to compile them. This should fix issues
153 with old build environments. Thanks to Kari Lempiainen
154 <kari@funky.pp.fi> for reporting the bug.
155
1176b3c1
SP
1563. Fixed restore to correctly ignore sockets when comparing
157 a dump (as socket cannot be properly restored anyway). Thanks
2d32c89c
SP
158 to Gunther Reiszig <gunther@mit.edu> for reporting the bug.
159
1604. Fixed restore to correctly access the archive file (-A argument)
161 even when using a remote tape. Thanks to Fabrice Bellet
162 <fabrice@bellet.info> for reporting the bug.
1176b3c1 163
900bffdb
SP
1645. Fixed (again) handling of long (largefile) seeks in rmt.
165 Thanks to Fabrice Bellet <fabrice@bellet.info> for reporting
166 the bug.
167
6d834d25
SP
1686. Fixed restore corner case when dealing with large block sizes
169 dump is able to write now (-b 1024). Thanks to Fabrice Bellet
170 <fabrice@bellet.info> for reporting the bug.
171
cdef84ca
SP
1727. Fixed a bug preventing dump to access a filesystem having
173 a label exactly 16 bytes in length. Thanks to <minduni@ti-edu.ch>
174 for reporting the bug.
175
3458b64d
SP
1768. Made dump store dump dates using explicit timezones, fixing a
177 problem with incremental dumps if the timezone is modified
178 between the dumps. Thanks to Philippe Troin <phil@fifi.org> for
179 the bug report and the patch.
180
2be77799
SP
1819. Fixed a bug encountered when dumping individual files (not full
182 filesystems or directories) and dangling symbolic links happen
183 to be in the list of files. For as far as dump is concerned,
184 dangling symbolic links are allowed, and are dumped as is.
185 Thanks to Jin-su Ahn <jsahn@ee.snu.ac.kr> for reporting the
186 bug and providing the fix.
187
c3f69f06
SP
18810. Fixed open and creation modes and permissions for QFA and
189 table-of-contents files in dump and restore. Thanks to
190 Philippe Troin <phil@fifi.org> for the patch.
191
19211. Fixed the archive file descriptor handling enabling it to be 0.
193 This can happen in some cases when shell redirections are used.
194 Thanks to Philippe Troin <phil@fifi.org> for the patch.
195
19612. Delayed the opening of archive file until after suid had been
197 dropped (fixing a possible security issue if dump is suid).
198 Thanks to Philippe Troin <phil@fifi.org> for the patch.
199
20013. Fixed the 'S' command handling in the rmt client part.
201 Thanks to Philippe Troin <phil@fifi.org> for the patch.
202
20314. Modified the end-of-tape script handling to print out statistics
204 (and stop the timer) before launching the eot script. Also, the eot
205 script does not get run anymore when using -M (which makes sense) or
206 when multiple tapes are listed on the command line
207 (-f tape0,tape1,tapen) (which also makes sense).
208 Thanks to Philippe Troin <phil@fifi.org> for the patch.
209
e1abc9ce
SP
21015. Relicensed dump/restore under the 'revised' BSD license, as per
211 ftp://ftp.cs.berkeley.edu/ucb/4bsd/README.Impt.License.Change.
212
206f768c
SP
21316. Added LZO compression to dump. This new compression method has
214 the advantage of being super fast, thus not killing tape streaming
215 on slow machines. Thanks to Helmut Jarausch
216 <jarausch@igpm.rwth-aachen.de> for the patch and to
217 Markus Oberhumer <markus@oberhumer.com> for giving special permission
218 to include his miniLZO project (GPL licensed) in dump/restore.
219
e2392789
SP
22017. Some small buffer overruns fixes in rmt. Thanks to Antonomasia
221 <ant@notatla.demon.co.uk> for reporting the bugs.
222
cdfe1392
SP
22318. Added a special rmt version which can do encryption when writing
224 to tape. Read examples/encrypted_rmt/README for details on
225 how to enable and configure it. Thanks to Ken Lalonde
226 <ken@globalremit.com> for the patch.
227
61e9d4ff
SP
22819. Made dump work with 2.5 kernel end of tape early warning semantics.
229 Thanks to Kai Makisara <Kai.Makisara@kolumbus.fi> for the patch.
230
8c95cc30
SP
23120. Fixed a bug which caused dump -w|-W not to work anymore, because
232 the fs_freq and fs_passno fields in /etc/mtab are always set
233 to 0 0. Thanks to Trent Piepho <xyzzy@speakeasy.org> for
234 reporting the bug.
235
cbdba727 236Changes between versions 0.4b32 and 0.4b33 (released February 10, 2003)
4bb009da
SP
237=======================================================================
238
2391. Added a note in the restore man page clarifying the question
240 'set the permissions on the current directory ?' asked by
241 restore at the end of treatment in -i and -x modes.
d86089d1 242
c898ca7a
SP
2432. Fixed the endianess issues when reading compressed tapes.
244 Thanks to Dark Force <daq4th@users.sourceforge.net> for
245 reporting this bug and providing test cases.
246
a028bdc8
SP
2473. Fixed the "ACL won't be dumped" warning message (which showed
248 an extra, unrelated error message). Thanks to Dragan Krnic
249 <dkrnic@lycos.com> for reporting this bug.
250
a8a6a503 2514. Made dump look first into /etc/mtab, then into /etc/fstab
1a886de8
SP
252 when searching for filesystem paths. Also fixed some problems
253 caused by binding mounts or multiple block device mounts.
254 Thanks to Matus Uhlar <uhlar@fantomas.sk>, Elliott Mitchell
a8a6a503
SP
255 <ehem@m5p.com>, Greg Edwards <gedwards@users.sourceforge.net>,
256 Brian Hoy <brian.hoy@opus.co.nz>. (fixes Debian bugs #147086
257 and #160305, Sourceforge bugs #618699 and #679832).
1a886de8 258
3211c85b
SP
2595. Made dump's -I option accept the value '0' meaning all the
260 read errors will be ignored. This can be useful when running
261 dump from unattended sessions (like cron jobs). Thanks to
262 John I Wang <jiwang@users.sourceforge.net> for the suggestion.
263
7fcd6df5
SP
2646. Fixed the output of dump to indicate 'blocks' instead of
265 'tape blocks' in the various messages (blocks are always
266 1 Kilobyte, tape blocks are 1 BK * '-b' argument), and
267 made it clearly print the current blocksize at the start of
268 a dump. Thanks to Michal Szymanski <msz@astrouw.edu.pl> for
269 the suggestions.
270
5bf65105
SP
2717. Made rmt understand long (largefiles) seeks.
272
dbb649e8
SP
2738. Fixed build with very old versions of libext2fs, where
274 EXT2_FT_* constants were undefined.
275
c92d83ae
SP
2769. Made dump accept the dumpdates path on the command line
277 (-D file option) instead of using only the hardcoded one.
278 Thanks to Piete Brooks <pb22@users.sourceforge.net> for the
279 suggestion.
280
1daf06b9
SP
28110. Enabled rmt, LFS, readline, QFA options by default in
282 ./configure. Updated the configure process (new versions
283 of config.guess, config.sub etc).
284
51c11d00
SP
285Changes between versions 0.4b31 and 0.4b32 (released November 15, 2002)
286=======================================================================
d86089d1
SP
287
2881. Changed dump to use fcntl(F_SETLK) style locking instead
289 of flock() when locking the dumpdates file. With the old
290 locking scheme, a local user having read rights on the
291 dumpdates file could be able to do a Denial of Service attack
292 on dump. In order to lock the dumpdates file with the new
293 scheme, the user would need to have write access on the file.
294 Thanks to Richard Johnson <Richard.Johnson3@ey.com> for
295 reporting the bug (originally a bugtraq post).
ba3af39e 296
2f562f4e
SP
2972. Fixed interactive 'ls' which caused spurious errors warnings
298 about 'undefined filetypes' detected. Thanks to Jorgen Ostling
299 <jorgen_ostling@users.sourceforge.net> for reporting this
300 bug.
301
1c736b78
SP
3023. Fixed dump's estimate when dealing with sparse inodes.
303
876861d2
SP
3044. Modified dump to allow setting a blocksize bigger than 32kB
305 (raised the limit to 1024kB), because newer hardware needs
306 this for proper operation. Thanks to Dirk Traenapp
307 <dtraenapp@users.sourceforge.net> for reporting this.
308
b8d848c9
SP
3095. Fixed a bug causing Dump to stop and report an error if an
310 inode number in the exclude file was followed by some amount
311 of whitespace. Thanks to Jeffrey Sofferin
312 <sofferin@users.sourceforge.net> for reporting this bug.
313
e531c442
SP
3146. Fixed a bug which caused restore, in some particular cases,
315 to ask some 'scary' questions and leave a bunch of RSTTMP
316 directories behind when restoring incremental tapes. Thanks
317 to Philippe Troin <phil@fifi.org> for reporting this bug and
318 providing the test cases.
319
c993d83a
SP
3207. Changed the wording when inodes are excluded from dump:
321 replaced 'Added inode 7 to exclude list' with
322 'Excluding inode 7 (resize inode) from dump', as suggested
323 by Elliott Mitchell <ehem@m5p.com> in a Debian bug report.
324
cbc7fd6a 325Changes between versions 0.4b30 and 0.4b31 (released July 30, 2002)
ba3af39e
SP
326===================================================================
327
3281. Fixed rmt open flags transmission (GNU's symbolic syntax over
329 rmt) which I broke in 0.4b29. Thanks to Eros Albertazzi
330 <eros@lamel.bo.cnr.it> for reporting the bug.
35952b8f 331
4095abc0
SP
332Changes between versions 0.4b29 and 0.4b30 (released July 25, 2002)
333===================================================================
aa1b1e7f
SP
334
3351. Made dump print out the ext2 logical block number in case of a read
336 error, which can be given as an argument to debugfs' ncheck command,
337 in order to find out the affected inode. Added note about this
338 usage in dump's man page.
ed7c25a3
SP
339
3402. Fixed a problem in restore when reading tapes written on big
341 endian machines with very old versions of dump. The patch was
342 contributed by George Helffrich <george@geology.bristol.ac.uk>.
f75cc889
SP
343
3443. Fixed the tape length calculation when using large tapes
345 and compression. Thanks to Georg Lippold
346 <g_lippold@sourceforge.net> for reporting the bug.
a9c5ed48
SP
347
3484. Added a new set of examples in dump_on_cd_2 directory, based
349 on dump_on_cd examples but somewhat enhanced, supporting DVD
350 media, and localized in english and german. Thanks to
351 Georg Lippold <g_lippold@sourceforge.net> for the new scripts.
352
9ca70cf6
SP
3535. Made dump save 32 bit UID/GID. Internally, this was achieved
354 by switching from the old BSD inode format to the new BSD
355 inode format, which means that the tape format was changed.
356 However, since all restore versions out there should
357 transparently support both inode formats, the change should
358 have no side effects. Thanks to John Yu <jky@cs.bu.edu> for
359 reporting the bug.
a18d5997
SP
360
3616. Fixed a lot of warnings in the code shown when compiling
362 with 'gcc -W'. Thanks to Matthias Andree
363 <matthias.andree@stud.uni-dortmund.de> for reporting this.
364
2a2e321d
SP
3657. Fixed a small markup bug in the dump man page. Thanks to
366 Eric S. Raymond <esr@minx.thyrsus.com> for submitting the
367 patch.
368
153f9a83
SP
3698. Rewrote entirely the man pages using the tmac.an macro
370 package (Linux man page format) instead of the original BSD
371 format. They should be now cleaner and easier to modify.
372
cf88ef4c
SP
373Changes between versions 0.4b28 and 0.4b29 (released June 8, 2002)
374==================================================================
d24dc8af
SP
375
3761. Fixed a problem in the rmt ioctl command, where ioctl's issued from
377 non Linux clients were misinterpreted. The description of the problem
378 (incompatible numbering in Linux mtio opcodes) is documented at
379 ftp://ftp.fokus.gmd.de/pub/unix/star/README.mtio . Thanks to
380