Fix a problem in restore where the final \0 in the symbolic
[dump.git] / CHANGES
1 $Id: CHANGES,v 1.260 2004/12/10 13:31:20 stelian Exp $
2
3 Changes between versions 0.4b37 and 0.4b38 (released ????????????)
4 ==================================================================
5
6 1. Fix a couple of troff syntax bugs in the man pages.
7 Thanks to Eric Raymond <esr@thyrsus.com> for the patch.
8
9 2. Made restore use either libncurses or libtermcap, depending
10 on which one is available at configure time.
11
12 3. 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
16 4. 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
20 5. 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
25 6. Fix a problem in restore where the final \0 in the symbolic
26 link names could have been lost, generating corrupt filenames.
27 Thanks to Kyle Wilson <kyle.wilson@amd.com> for reporting the
28 bug.
29
30 Changes between versions 0.4b36 and 0.4b37 (released July 7, 2004)
31 ==================================================================
32
33 1. Added the --enable-staticz configure option which enables
34 dump and restore to be linked with static versions of
35 libz and libbz2 (and dynamic versions of all other libraries).
36 This will make Debian users happy, because libz and libbz2
37 were the only needed libraries living in /usr, all the
38 others live in /lib. In case of system emergency, it is
39 better not to have to rely on an extra filesystem.
40 Thanks to Bdale Garbee <bdale@gag.com> for the suggestion.
41
42 2. Fix compilation on (at least the Linux Debian port to) AMD64.
43 (<ext2fs/ext2_types.h> defines some types (__s64 and __u64)
44 that are also defined by <linux/types.h> (<asm/types.h>) and
45 they conflict).
46
47 3. Make dump's reading of the dumpdates file a bit more robust,
48 preventing dump from crashing when the dumpdates file has
49 been modified by hand.
50
51 4. Fixed some offset calculations in dump code which could
52 lead to "bread lseek errors" on large filesystems. Thanks
53 to Bruce Lowekamp <lowekamp@users.sourceforge.net> for
54 reporting this bug and debugging the issue.
55
56 5. Made dump use the blkid library when searching for devices
57 by label or uuid instead of dump's own routines.
58
59 6. Corrected a bug in dump where a wrong LABEL=... line in
60 /etc/fstab could prevent dump from dumping unrelated
61 filesystems. Thanks to Bruce Lowekamp
62 <lowekamp@users.sourceforge.net> for reporting the bug.
63
64 Changes between versions 0.4b35 and 0.4b36 (released April 21, 2004)
65 ====================================================================
66
67 1. Fixed dump compilation with old gcc versions. Thanks to
68 Mike Castle <dalgoda@users.sourceforge.net> for the patch.
69
70 2. Fixed some warnings (howmany, roundup, powerof2 redefined)
71 when compiling against a recent glibc version.
72
73 3. Fixed a bug in restore preventing the read of a dump tape
74 written with Solaris 7 ufsdump. Thanks to Patrick Higgins
75 <phiggins@transzap.com> for reporting the bug and providing
76 the test case.
77
78 4. Changed dump to enable the creation of volumes of different
79 sizes in a single run (make -B accept a list of values).
80 Patch contributed by Florian Zumbiehl <florz@gmx.de>.
81
82 5. Use the glibc provided minor() and major() macros instead
83 of our own bitmask implementation. This should be safe for
84 when the major/minor namespace will migrate to 32 bits.
85 Thanks to Zhang Jun <zhangjun@nanjing-fnst.com> for reporting
86 the bug.
87
88 6. Made explicit in the dump man page that dump will not create
89 a remote file, it will only write to an already existing one.
90
91 7. Another try at making size estimates better again.
92
93 8. Put back the inconditional running of the end-of-tape
94 script which was changed in 0.434 to be run only when -M
95 or multiple -f were NOT specified. Some users rely on this
96 feature even when it is combined with -M/-f.
97
98 9. Fixed restore when restoring huge backups (where rstdir...
99 temporary files are over 2GB). Thanks to
100 Raphael Jaffey <rjaffey@artic.edu> for reporting this,
101 debugging the issue and making the patch.
102
103 10. Made restore understand FreeBSD UFS2 tapes. Thanks to
104 David <vrtin@users.sourceforge.net> for submitting the bug
105 and providing a test case.
106
107 11. Made dump work with an arbitrary integer level (no more 10
108 levels only limitation). Thanks to Matthew
109 <msvincen@midway.uchicago.edu> for the patch.
110
111 Changes between versions 0.4b34 and 0.4b35 (released December 21, 2003)
112 =======================================================================
113
114 1. Added a note in the dump man page saying that the default
115 blocksize can be 32 if -d is used with a high density argument.
116 Thanks to Antonios Christofides <A.Christofides@itia.ntua.gr>
117 for the patch.
118
119 2. Fixed configure to correctly understand CPPFLAGS, CFLAGS,
120 LDFLAGS environment variables. Thanks to Arcady Genkin
121 <antipode@users.sourceforge.net> for reporting the bug.
122
123 3. Made -e/-E options of dump accept an unlimited number of inodes
124 to be excluded, rather than a hardcoded maximum. Thanks to
125 Dietrich Rothe <d-rothe@users.sourceforge.net> for the patch.
126
127 4. Updated the autoconf system to 2.50. Forced the -D_BSD_SOURCE
128 and -D_USE_BSD_SIGNAL defines in configure in order to solve
129 64bit build problems because quad_t is redifined with a
130 different signature. Thanks to Mike Harris <mharris@redhat.com>
131 for reporting this bug.
132
133 5. Made restore build on Solaris, making possible to
134 restore Linux's "enhanced" tapes. Thanks to Uwe Gohlke
135 <uwe@ugsoft.de> for the patch.
136
137 6. Made an extension in the dump tape format capable of saving
138 MacOSX specific inode extensions. Uwe Gohlke <uwe@ugsoft.de>
139 wrote the extension and contributed the restore code back
140 into this codebase. The same extension mechanism will be
141 used in the future to save ACLs...
142
143 7. Made rmt work correctly with regard to QFA and local/remote
144 files and tapes. The remote access will however work only
145 when the dump provided rmt version is used. If you want to
146 use another rmt server, please do not use the QFA feature.
147 Thanks to Uwe Gohlke <uwe@ugsoft.de> for the patch.
148
149 Changes between versions 0.4b33 and 0.4b34 (released April 18, 2003)
150 ====================================================================
151
152 1. Fixed the INSTALL file to reflect the actual install paths.
153 Thanks to David Ronis <ronis@ronispc.chem.mcgill.ca> for
154 reporting the bug.
155
156 2. Fixed the configure script to only check for headers presence
157 instead of trying to compile them. This should fix issues
158 with old build environments. Thanks to Kari Lempiainen
159 <kari@funky.pp.fi> for reporting the bug.
160
161 3. Fixed restore to correctly ignore sockets when comparing
162 a dump (as socket cannot be properly restored anyway). Thanks
163 to Gunther Reiszig <gunther@mit.edu> for reporting the bug.
164
165 4. Fixed restore to correctly access the archive file (-A argument)
166 even when using a remote tape. Thanks to Fabrice Bellet
167 <fabrice@bellet.info> for reporting the bug.
168
169 5. Fixed (again) handling of long (largefile) seeks in rmt.
170 Thanks to Fabrice Bellet <fabrice@bellet.info> for reporting
171 the bug.
172
173 6. Fixed restore corner case when dealing with large block sizes
174 dump is able to write now (-b 1024). Thanks to Fabrice Bellet
175 <fabrice@bellet.info> for reporting the bug.
176
177 7. Fixed a bug preventing dump to access a filesystem having
178 a label exactly 16 bytes in length. Thanks to <minduni@ti-edu.ch>
179 for reporting the bug.
180
181 8. Made dump store dump dates using explicit timezones, fixing a
182 problem with incremental dumps if the timezone is modified
183 between the dumps. Thanks to Philippe Troin <phil@fifi.org> for
184 the bug report and the patch.
185
186 9. Fixed a bug encountered when dumping individual files (not full
187 filesystems or directories) and dangling symbolic links happen
188 to be in the list of files. For as far as dump is concerned,
189 dangling symbolic links are allowed, and are dumped as is.
190 Thanks to Jin-su Ahn <jsahn@ee.snu.ac.kr> for reporting the
191 bug and providing the fix.
192
193 10. Fixed open and creation modes and permissions for QFA and
194 table-of-contents files in dump and restore. Thanks to
195 Philippe Troin <phil@fifi.org> for the patch.
196
197 11. Fixed the archive file descriptor handling enabling it to be 0.
198 This can happen in some cases when shell redirections are used.
199 Thanks to Philippe Troin <phil@fifi.org> for the patch.
200
201 12. Delayed the opening of archive file until after suid had been
202 dropped (fixing a possible security issue if dump is suid).
203 Thanks to Philippe Troin <phil@fifi.org> for the patch.
204
205 13. Fixed the 'S' command handling in the rmt client part.
206 Thanks to Philippe Troin <phil@fifi.org> for the patch.
207
208 14. Modified the end-of-tape script handling to print out statistics
209 (and stop the timer) before launching the eot script. Also, the eot
210 script does not get run anymore when using -M (which makes sense) or
211 when multiple tapes are listed on the command line
212 (-f tape0,tape1,tapen) (which also makes sense).
213 Thanks to Philippe Troin <phil@fifi.org> for the patch.
214
215 15. Relicensed dump/restore under the 'revised' BSD license, as per
216 ftp://ftp.cs.berkeley.edu/ucb/4bsd/README.Impt.License.Change.
217
218 16. Added LZO compression to dump. This new compression method has
219 the advantage of being super fast, thus not killing tape streaming
220 on slow machines. Thanks to Helmut Jarausch
221 <jarausch@igpm.rwth-aachen.de> for the patch and to
222 Markus Oberhumer <markus@oberhumer.com> for giving special permission
223 to include his miniLZO project (GPL licensed) in dump/restore.
224
225 17. Some small buffer overruns fixes in rmt. Thanks to Antonomasia
226 <ant@notatla.demon.co.uk> for reporting the bugs.
227
228 18. Added a special rmt version which can do encryption when writing
229 to tape. Read examples/encrypted_rmt/README for details on
230 how to enable and configure it. Thanks to Ken Lalonde
231 <ken@globalremit.com> for the patch.
232
233 19. Made dump work with 2.5 kernel end of tape early warning semantics.
234 Thanks to Kai Makisara <Kai.Makisara@kolumbus.fi> for the patch.
235
236 20. Fixed a bug which caused dump -w|-W not to work anymore, because
237 the fs_freq and fs_passno fields in /etc/mtab are always set
238 to 0 0. Thanks to Trent Piepho <xyzzy@speakeasy.org> for
239 reporting the bug.
240
241 Changes between versions 0.4b32 and 0.4b33 (released February 10, 2003)
242 =======================================================================
243
244 1. Added a note in the restore man page clarifying the question
245 'set the permissions on the current directory ?' asked by
246 restore at the end of treatment in -i and -x modes.
247
248 2. Fixed the endianess issues when reading compressed tapes.
249 Thanks to Dark Force <daq4th@users.sourceforge.net> for
250 reporting this bug and providing test cases.
251
252 3. Fixed the "ACL won't be dumped" warning message (which showed
253 an extra, unrelated error message). Thanks to Dragan Krnic
254 <dkrnic@lycos.com> for reporting this bug.
255
256 4. Made dump look first into /etc/mtab, then into /etc/fstab
257 when searching for filesystem paths. Also fixed some problems
258 caused by binding mounts or multiple block device mounts.
259 Thanks to Matus Uhlar <uhlar@fantomas.sk>, Elliott Mitchell
260 <ehem@m5p.com>, Greg Edwards <gedwards@users.sourceforge.net>,
261 Brian Hoy <brian.hoy@opus.co.nz>. (fixes Debian bugs #147086
262 and #160305, Sourceforge bugs #618699 and #679832).
263
264 5. Made dump's -I option accept the value '0' meaning all the
265 read errors will be ignored. This can be useful when running
266 dump from unattended sessions (like cron jobs). Thanks to
267 John I Wang <jiwang@users.sourceforge.net> for the suggestion.
268
269 6. Fixed the output of dump to indicate 'blocks' instead of
270 'tape blocks' in the various messages (blocks are always
271 1 Kilobyte, tape blocks are 1 BK * '-b' argument), and
272 made it clearly print the current blocksize at the start of
273 a dump. Thanks to Michal Szymanski <msz@astrouw.edu.pl> for
274 the suggestions.
275
276 7. Made rmt understand long (largefiles) seeks.
277
278 8. Fixed build with very old versions of libext2fs, where
279 EXT2_FT_* constants were undefined.
280
281 9. Made dump accept the dumpdates path on the command line
282 (-D file option) instead of using only the hardcoded one.
283 Thanks to Piete Brooks <pb22@users.sourceforge.net> for the
284 suggestion.
285
286 10. Enabled rmt, LFS, readline, QFA options by default in
287 ./configure. Updated the configure process (new versions
288 of config.guess, config.sub etc).
289
290 Changes between versions 0.4b31 and 0.4b32 (released November 15, 2002)
291 =======================================================================
292
293 1. Changed dump to use fcntl(F_SETLK) style locking instead
294 of flock() when locking the dumpdates file. With the old
295 locking scheme, a local user having read rights on the
296 dumpdates file could be able to do a Denial of Service attack
297 on dump. In order to lock the dumpdates file with the new
298 scheme, the user would need to have write access on the file.
299 Thanks to Richard Johnson <Richard.Johnson3@ey.com> for
300 reporting the bug (originally a bugtraq post).
301
302 2. Fixed interactive 'ls' which caused spurious errors warnings
303 about 'undefined filetypes' detected. Thanks to Jorgen Ostling
304 <jorgen_ostling@users.sourceforge.net> for reporting this
305 bug.
306
307 3. Fixed dump's estimate when dealing with sparse inodes.
308
309 4. Modified dump to allow setting a blocksize bigger than 32kB
310 (raised the limit to 1024kB), because newer hardware needs
311 this for proper operation. Thanks to Dirk Traenapp
312 <dtraenapp@users.sourceforge.net> for reporting this.
313
314 5. Fixed a bug causing Dump to stop and report an error if an
315 inode number in the exclude file was followed by some amount
316 of whitespace. Thanks to Jeffrey Sofferin
317 <sofferin@users.sourceforge.net> for reporting this bug.
318
319 6. Fixed a bug which caused restore, in some particular cases,
320 to ask some 'scary' questions and leave a bunch of RSTTMP
321 directories behind when restoring incremental tapes. Thanks
322 to Philippe Troin <phil@fifi.org> for reporting this bug and
323 providing the test cases.
324
325 7. Changed the wording when inodes are excluded from dump:
326 replaced 'Added inode 7 to exclude list' with
327 'Excluding inode 7 (resize inode) from dump', as suggested
328 by Elliott Mitchell <ehem@m5p.com> in a Debian bug report.
329
330 Changes between versions 0.4b30 and 0.4b31 (released July 30, 2002)
331 ===================================================================
332
333 1. Fixed rmt open flags transmission (GNU's symbolic syntax over
334 rmt) which I broke in 0.4b29. Thanks to Eros Albertazzi
335 <eros@lamel.bo.cnr.it> for reporting the bug.
336
337 Changes between versions 0.4b29 and 0.4b30 (released July 25, 2002)
338 ===================================================================
339
340 1. Made dump print out the ext2 logical block number in case of a read
341 error, which can be given as an argument to debugfs' ncheck command,
342 in order to find out the affected inode. Added note about this
343 usage in dump's man page.
344
345 2. Fixed a problem in restore when reading tapes written on big
346 endian machines with very old versions of dump. The patch was
347 contributed by George Helffrich <george@geology.bristol.ac.uk>.
348
349 3. Fixed the tape length calculation when using large tapes
350 and compression. Thanks to Georg Lippold
351 <g_lippold@sourceforge.net> for reporting the bug.
352
353 4. Added a new set of examples in dump_on_cd_2 directory, based
354 on dump_on_cd examples but somewhat enhanced, supporting DVD
355 media, and localized in english and german. Thanks to
356 Georg Lippold <g_lippold@sourceforge.net> for the new scripts.
357
358 5. Made dump save 32 bit UID/GID. Internally, this was achieved
359 by switching from the old BSD inode format to the new BSD
360 inode format, which means that the tape format was changed.
361 However, since all restore versions out there should
362 transparently support both inode formats, the change should
363 have no side effects. Thanks to John Yu <jky@cs.bu.edu> for
364 reporting the bug.
365
366 6. Fixed a lot of warnings in the code shown when compiling
367 with 'gcc -W'. Thanks to Matthias Andree
368 <matthias.andree@stud.uni-dortmund.de> for reporting this.
369
370 7. Fixed a small markup bug in the dump man page. Thanks to
371 Eric S. Raymond <esr@minx.thyrsus.com> for submitting the
372 patch.
373
374 8. Rewrote entirely the man pages using the tmac.an macro
375 package (Linux man page format) instead of the original BSD
376 format. They should be now cleaner and easier to modify.
377
378 Changes between versions 0.4b28 and 0.4b29 (released June 8, 2002)
379 ==================================================================
380
381 1. Fixed a problem in the rmt ioctl command, where ioctl's issued from
382 non Linux clients were misinterpreted. The description of the problem
383 (incompatible numbering in Linux mtio opcodes) is documented at
384 ftp://ftp.fokus.gmd.de/pub/unix/star/README.mtio . Thanks to
385 Jörg Schilling <schilling@fokus.gmd.de> for reporting this bug and
386 providing an excellent, cross-platform replacement for rmt in his
387 star package.
388
389 2. Fixed a bug reported by Andy Mentges <amentges@jumpline.com>
390 which caused restore to fail when the inode maps were not entirely
391 contained on the first volume (when using really small volumes or
392 when dumping a huge number of inodes).
393
394 3. Fixed a problem in dump, where files in subdirectories of directories
395 that have the nodump flag set (or being excluded with -e/-E) were
396 sometimes incorrectly dumped (instead of being excluded). The original
397 fix is from David C Lawrence <tale@dd.org> in the FreeBSD version
398 of dump: http://www.FreeBSD.org/cgi/query-pr.cgi?pr=32414
399 Thanks to Ted Grzesik <tedgyz@roostme.com> for reporting the bug and
400 help testing the patch.
401
402 4. Added some example scripts from Gerd Bavendiek <bav@epost.de>
403 which makes one able to pipe the output of dump, by the net, to
404 a remote CD-burner server.
405
406 5. Made dump use O_CREAT|O_TRUNC both locally and remotely (over rmt),
407 and use GNU's symbolic syntax over rmt instead of numerical values
408 to assure multiple platform compatibility.
409
410 6. Documented the -d option in restore.
411
412 7. Added a -v (verbose) mode to dump. For now it just prints the number
413 of the inode being dumped, but this could evolve in future versions
414 to include interesting debugging output.
415
416 8. Added a -o flag to restore, which automatically restores the current
417 directory permissions in -i or -x mode, without asking the operator
418 whether to do so. Patch submitted by Tony Clayton <tonyc@e-smith.com>
419 and Peter Samuel <peters@e-smith.com>.
420
421 Changes between versions 0.4b27 and 0.4b28 (released April 12, 2002)
422 ====================================================================
423
424 1. Fixed a bug in the QFA feature which could have caused
425 a bad tape positionning on restore (causing extra delays in
426 restore). Credits go to Uwe Gohlke <uwe@ugsoft.de>.
427
428 2. Added a small note in the dump man page specifying that
429 there should be no white space between the option letter and
430 the -j or -z parameter, thanks to Kenneth Porter <shiva@well.com>
431
432 3. Made restore work with older versions of the readline library,
433 by checking in configure for several extended symbols. Restore
434 can now be compiled with a readline as old as the 2.0 release
435 (though it may be a good idea to upgrade it to a more recent
436 version...). Thanks to Andrew Donkin <ard@waikato.ac.nz> for
437 reporting the build failures.
438
439 4. Fixed a performance problem with the QFA file creation in
440 dump, which made unnecessary seeks on the tape slowing down
441 the dump. Thanks to Andrew Donkin <ard@waikato.ac.nz> for
442 reporting this issue.
443
444 5. Removed the inclusion of some kernel headers in the dump
445 source, which prevented the compile in some kernel/glibc
446 headers/architecture combination. Thanks to Bdale Garbee
447 <bdale@gag.com> for reporting the bug.
448
449 6. Added the appropriate error message when dump fails to
450 open the output file for writing. Thanks to Amith Varghese
451 <amithv@yahoo.com> for reporting this bug.
452
453 7. Made restore able to understand large Solaris ufsdump tapes
454 (containing inodes bigger than 4194304). Sun have introduced
455 an "extension" to the dump tape format when dealing with
456 those inodes, which was uncorrectly handled by Linux restore.
457 Thanks to Uwe Gohlke <uwe@ugsoft.de> for reporting the bug and
458 providing a test case.
459
460 8. Added the -m parameter to dump which optimises the output for
461 inodes having been changed but not modified since the last dump
462 ('changed' and 'modified' have the meaning defined in stat(2)).
463 For those inodes, dump will save only the metadata, instead of
464 saving the entire inode contents. Inodes which are either
465 directories or have been modified since the last dump are saved
466 in a regular way. Uses of this flag must be consistent, meaning
467 that either every dump in an incremental dump set have the flag,
468 or no one has it.
469
470 Changes between versions 0.4b26 and 0.4b27 (released February 15, 2002)
471 =======================================================================
472
473 1. Fixed behaviour of dump when exceeding resource limits
474 (SIGXFSZ treatment).
475
476 2. Added the -L flag to restore to allow the user to specify a
477 maximal allowed number of miscompares when using restore
478 with the -C option to check the backup.
479
480 3. Detailed the manual entry for the -N option of restore.
481
482 4. Added the -a flag to restore to make able doing unattended
483 restores in -i or -x mode (automatically walks through the
484 multiple dump volumes).
485
486 5. Extended the QFA mode to work with local files and/or
487 remote tapes and files. This way, restore can know in advance
488 the tape number and the offset for the inodes to extract and
489 can minimize the extraction time by seeking directly to the
490 good tape/offset.
491
492 6. Added the -A <archive> option to both dump and restore,
493 which makes dump to archive a dump table-of-contents in
494 the specified file to be used by restore to determine
495 whether a file is in the dump file that is being restored.
496 (the archive file syntax is also compatible with the
497 Solaris ufsdump generated one).
498
499 7. Small fix in restore making it able to read some (broken ?)
500 Solaris ufsdump tapes.
501
502 8. Fixed dump to correctly recognise the root filesystem when using
503 ext2 disk labels (LABEL=/). Thanks to John Yu <jky@it.bu.edu>
504 for reporting this bug.
505
506 9. Added the -P <file> option to restore to create a
507 Quick File Access file from an already made dump. Patch
508 contributed by Uwe Gohlke <uwe@ugsoft.de>.
509
510 10. Made restore compile and run on Solaris, making it a
511 possible replacement for the standard ufsrestore. Port was
512 contributed by Uwe Gohlke <uwe@ugsoft.de>.
513
514 Changes between versions 0.4b25 and 0.4b26 (released January 7, 2002)
515 =====================================================================
516
517 1. Added a set of backup scripts from Eugenio Diaz
518 <getnito@yahoo.com> in the examples section. It features
519 automatic (cron based) full and incremental dumping of
520 several filesystems on a separate filesystem.
521
522 2. Fixed a off-by-one miscalculation which disabled dumping
523 a one letter subdirectory. Thanks to Chris Siebenmann
524 <cks@utcc.utoronto.ca> for reporting the bug.
525
526 3. Fixed several restore bugs occuring when trying to
527 restore some missing files on the tape. Thanks to Chris
528 Siebenmann <cks@utcc.utoronto.ca> for reporting the bug.
529
530 4. Fixed --with-ldopts configure argument passing, installing from
531 a separate object directory, makefile cleanups contributed
532 by <splite@purdue.edu>.
533
534 5. Fix a bug which could caused, in some conditions, the highest
535 number inode of a filesystem, to not be dumped. Many thanks
536 to Chris Siebenmann <cks@utcc.utoronto.ca> for helping me
537 chase this bug.
538
539 Changes between versions 0.4b24 and 0.4b25 (released November 17, 2001)
540 =======================================================================
541
542 1. Added a mini howto from Patrick Walsh in the examples
543 directory.
544
545 2. Minor man pages syntax corrections. Thanks to
546 Chris Danis <screechco@home.com> for reporting the bugs.
547
548 3. Added a script from David B. Peterson <dave@toppledwagon.com>
549 to the examples section. It features dumping several
550 filesystems to a remote tape drive upon ssh.
551
552 4. Added a patch provided by Richard Jones <rich@annexia.org>
553 which allows BRADEMAX (number of read errors tolerated by
554 dump) to be adjusted using the -I option.
555
556 5. Fixed a bug which disabled doing "restore -C -f -". Thanks
557 to Clemens Stiglechner <a9401816@unet.univie.ac.at> for the
558 patch.
559
560 6. Add the -l option to restore to specify if, when doing a
561 remote restore, the file used to access the backup is a
562 regular file (the defaults being a tape drive). Restore needs
563 to know this information when reading a remote compressed
564 dump. Previously, this information was autodetected, but
565 the autodetection code fails (with ioctl: Inappropriate ioctl
566 for device) when using a non Linux remote box. Thanks to
567 many users and especially to Eros Albertazzi
568 <eros@lamel.bo.cnr.it> for reporting this.
569
570 7. Found a workaroung for the dump deadlock problem (3 childs
571 stuck in pause(), father in read()). The workaround seems
572 to work for me and several beta-testers. If it doesn't work
573 for you, please report back.
574
575 8. Updated the RPM spec file (BuildPrereq, URL etc).
576
577 Changes between versions 0.4b23 and 0.4b24 (released September 12, 2001)
578 ========================================================================
579
580 1. Fixed the permissions of a newly created QFA file by dump.
581
582 2. Cleaned up the source of dump (the external variables
583 definition was a complete mess, making possible to have
584 objects overlap).
585
586 3. Fixed restore to use the full tape volume path when doing
587 a compare (since it changes the working directory to the
588 filesystem being compared in the process).
589
590 4. Added the -q option to dump which makes dump abort
591 whenever it needs operator attention. It should be
592 easier to use dump in scripts with this option.
593
594 5. Detect the use of incompatible options to dump and
595 refuse them (like -a and -B options together).
596
597 6. Added bzip2 compression to dump/restore (use option -j level
598 to select it). Note that you will need a restore version
599 >= 0.4b24 in order to restore a bzip2 compressed dump.
600 The same warning as for the zlib compression applies:
601 the tape format of a bzip2 dump is not compatible with the
602 original BSD tape format.
603
604 7. Fixed a overflow problem in dump corrupting the dump when
605 very large files were encountered. Thanks to Vladimir Nadvornik
606 for the bug report.
607
608 8. Added a ioctl(BLKFLSBUF) in dump which should flush the
609 kernel buffer/page cache before starting the dump, helping
610 a bit those who use dump on mounted filesystems. Thanks to
611 John Yu <jky@it.bu.edu> and to Theodore T'so <tytso@mit.edu>
612 for this suggestion.
613
614 9. Updated the RPM spec file following the RedHat changes
615 (dynamically linked binaries now in /usr/sbin etc).
616
617 10. Added a patch from Helmut Jarausch <jarausch@igpm.rwth-aachen.de>
618 which enables restore to recognise multi volume compressed dumps
619 done on CD. Included his scripts for dump (which pipe the dump
620 output directly into cdrecord) and restore. There is now
621 possible to to backups to CD on the fly!
622
623 Changes between versions 0.4b22 and 0.4b23 (released July 20, 2001)
624 ===================================================================
625
626 1. Fixed a buffer overflow in restore/tape.c. Patch provided by
627 Marcus Meissner (Caldera International Security Dept.).
628
629 2. Implement the Sun rmt extended protocol. Patch submitted
630 by Ian Gordon <iangordon@users.sourceforge.net>.
631
632 3. Check for the e2fsprogs header <ext2fs/ext2_fs.h> instead of
633 the linux kernel header. This ensures that dump always has the
634 latest version of this file. Patch submitted by
635 Andreas Dilger <adilger@turbolinux.com>.
636
637 4. Report any filesystem present in either /etc/fstab with a
638 positive passno or /etc/dumpdates in dump -w output.
639 Patch submitted by Andreas Dilger <adilger@turbolinux.com>.
640
641 5. Fixed the looping problem in dump introduced in the
642 previous version.
643
644 6. Changed the -B option of dump to limit the size of
645 _compressed_ output per volume if compression is on.
646 Patch contributed by Helmut Jarausch
647 <jarausch@igpm.rwth-aachen.de>. Note however that, since
648 it is impossible to predict the size of the compressed
649 data before doing the compression, the -B limit is a bit
650 conservative.
651
652 7. Fixed a bug in reading the operator typed file/tape path for
653 the next volume in restore.
654
655 8. Implemented a "-F script" option to restore which permits the
656 user to specify a script which will be launched at the
657 beginning of each tape, useful for automatic programming of
658 tape changers for example. See the restore man page for the
659 script parameters and return codes.
660
661 9. Small fix for the QFA routines provided by Uwe Gohlke
662 <uwe@ugsoft.de>, and some recommendations for QFA uses in
663 the man pages.
664
665 10. Fixed the multivolume restoring where making a mistake
666 to the 'Mount next tape' prompt caused several blocks to
667 be lost.
668
669 11. Enhanced the -e option of dump to take as a parameter a
670 comma separated list of inode numbers.
671
672 12. Added the -E option to dump which specify a file containing
673 inode numbers to exclude from the dump.
674
675 13. Fixed the compressed multi-volume dump + restore.
676
677 Changes between versions 0.4b21 and 0.4b22 (released May 12, 2001)
678 ==================================================================
679
680 1. Made dump report the number of blocks dumped per volume.
681 Thanks to Kenneth Porter <shiva@well.com> for the suggestion.
682
683 2. Fix a bug in dump where waiting too much at the 'change volumes'
684 question caused the volume to be rewritten. Thanks to
685 Graham Reed <greed@users.sourceforge.net> for reporting the
686 bug and providing a patch.
687
688 3. Added a compression option to dump, contributed by Jerry
689 Peters <gapeters@worldnet.att.net>.
690
691 WARNING: the compression works only on files/pipes and
692 drives supporting variable block size.
693
694 WARNING2: tapes created using the compression feature are
695 incompatible with the standard dump tape format, and a
696 version of restore >= 0.4b22 will be needed for extraction.
697
698 4. Fixed some compilation problems for glibc 2.2.2 and 64 bit
699 architectures. Thanks to Paul Slootman <paul@debian.org> for
700 the patch and to Bdale Garbee <bdale@gag.com> for forwarding
701 it upstream.
702
703 5. Many cleanups (CPP defines, const char warnings, check of
704 ext2fs COMPAT flags, time_t cleanups, added libext2 version
705 in dump usage text) by Andreas Dilger <adilger@turbolinux.com>.
706
707 6. Made --prefix option work in configure. All the install path
708 are now based on the configure parameters.
709
710 7. Added the Quick File Access mode in dump/restore, contributed
711 by Uwe Gohlke <uwe@ugsoft.de>. In this mode, dump stores in
712 a file tape position for each inode, and this file is used by
713 restore (if called with parameter Q and the filename)
714 to directly position the tape at the file restore is currently
715 working on. This saves hours when restoring single files from
716 large backups, saves the tapes and the drive's head. Use
717 --enable-qfa option of configure to compile in the QFA support.
718
719 8. Added the possibility to dump several files and directories
720 in a single invocation of dump. Thanks to Uwe Gohlke
721 <uwe@ugsoft.de> for implementing this option.
722
723 9. Fixed the dumping and restoring of files with holes
724 (files ending with holes didn't get dumped or restored
725 correctly).
726
727 10. Fixed a socket descriptor leak in dump, which leaved opened
728 3 file descriptors per dump process (and there is one dump
729 process per tape).
730
731 11. Fixed dump large file system support, by explicit use of
732 open64/lseek64/etc functions (explicit use needed because
733 e2fsprogs libraries don't behave well when compiled with
734 FILE_OFFSET_BITS=64).
735
736 Changes between versions 0.4b20 and 0.4b21 (released January 13, 2001)
737 ======================================================================
738
739 1. Fixed some bugs in the dump -w|-W logic introduced by
740 the previous version. Thanks to Andreas Dilger
741 <adilger@turbolinux.com> for his help on this one.
742
743 2. Fixed again a compilation problem when using old e2fs
744 headers (filesystem label related). Thanks to many users
745 who reported this stupid error.
746
747 3. Fixed a build problem on old lib5 based systems dealing with
748 _PATH_MNTTAB being undefined. Thanks to John Adams
749 <johna@onevista.com> for reporting the bug.
750
751 4. Improved the error detection in restore when creating
752 the temporary files in TMPDIR. Now restore will corectly
753 report a 'no space left on device' error instead of
754 strange errors which could imply an archive corruption.
755 Thanks to Gabriel Somlo <somlo@cs.colostate.edu> and
756 bgjenero <bgjenero@sympatico.ca> for reporting the bug.
757
758 5. Added the throughput information in dump's progression
759 messages. Thanks to Andreas Dilger <adilger@turbolinux.com>
760 for the patch.
761
762 6. Use libext2fs's inode scanning routines, which are particularly
763 robust when dealing with errors (especially when having some
764 bad blocks on the filesystem). Many thanks to Colin
765 <colin@horizon.com> for reporting the bug, investigating
766 the issues, finding a workaround, writing the patch and
767 fully testing it... (of course, if this patch will break
768 anything, he is to blame for :-)).
769
770 7. Made dump and restore LFS aware. Dump can dump a filesystem
771 containing large files, generate a large file on output and
772 restore can restore them. This feature is not enabled by
773 default, use --enable-largefile option of configure to enable
774 it (you need to have a LFS aware glibc though). Thanks to
775 Andrea Arcangeli <andrea@suse.de> for submitting the patch,
776 and to Theodore T'so <tytso@valinux.com> for his always
777 useful thoughts.
778
779 8. Made dump ask upon a tape write error if it should rewrite
780 the current volume (assume this is a bad tape) or if it should
781 assume an end-of-tape condition (useful for tape drives which
782 behaves badly at the end of the tape). Thanks to Andreas
783 Dilger <adilger@turbolinux.com> for the suggestion.
784
785 Changes between versions 0.4b19 and 0.4b20 (released November 10, 2000)
786 =======================================================================
787
788 1. Fixed a small compilation problem due to a change
789 in the definintion of the struct sigaction in
790 glibc 2.0 / libc5. Thanks to Gunther Schlegel
791 <schlegel@riege.de> for reporting the bug and to
792 Dave Platt <dplatt@snulbug.mtview.ca.us> for suggesting
793 a fix.
794
795 2. Modified the label and uuid analysis in order to be
796 self-contained (independant of kernel/libc headers). This
797 should fix the compile with older kernel/libc headers and
798 will preserve the functionality. Thanks to Bernhard Erdmann
799 <bernhard.erdmann@gmx.de> for reporting the bug.
800
801 3. The 'exclude inode' option, if applied to a directory
802 inode, excludes now correctly all the leaves of this
803 directory. Thanks to John R. Dennison
804 <gerdesas@users.sourceforge.net> for reporting the bug.
805
806 4. Fixed the '-e' option to disable the possibility
807 to exclude the root inode (which causes the dumps to
808 be unreadable by restore). Prevented array overflow
809 when multiple -e options are used.
810
811 5. Fixed dump to correctly interpret a filesystem argument
812 which is a mountpoint and it is not an absolute path
813 (as specified in the fstab). Thanks to Bernhard R. Erdmann
814 <be@berdmann.de> for reporting the bug.
815
816 6. Made dump able to backup files larger than 2 GB. Note that
817 dump still doesn't cope with files larger than 4 GB.
818
819 7. Restore the real uid and gid before invoking an external
820 RSH program (big hole when dump or restore is suid root!).
821
822 8. Get the values for the default tape device and the location
823 of fstab file from the system headers. Thanks to
824 Andreas Dilger <adilger@turbolinux.com> for the patch.
825
826 9. Made dump -w|-W report all recognized filesystems
827 present in either /etc/fstab or /etc/dumpdates, and present
828 the list in the same order as in fstab file. Thanks
829 to Andreas Dilger <adilger@turbolinux.com> for the patch.
830
831 10. Made dump's -a (automatic end of tape detection) the
832 default. Specifying one of -B, -c, -d or -s options will
833 override the EOM detection. Thanks to Andreas Dilger
834 <adilger@turbolinux.com> for the patch.
835
836 11. Save the ext2 filesystem label into the dump volume label.
837 Specifying a volume label on the command line (-L option)
838 will override this feature. Thanks to Andreas Dilger
839 <adilger@turbolinux.com> for the patch.
840
841 Changes between versions 0.4b18 and 0.4b19 (released August 20, 2000)
842 =====================================================================
843
844 1. Fixed the signal handling in dump (which I broke in 0.4b17)
845 which was causing several strange dump failures (dump
846 hanged or segmentation faults etc).
847
848 2. Specified the default blocksize in the dump man page.
849
850 3. Changed two info messages of restore to be written on stdout
851 instead of stderr in order to leave stderr only for errors
852 or warnings. Thanks to Stephen Atwell
853 <satwell@urbana.css.mot.com> for the suggestion.
854
855 4. Corrected an off by one calculation which prevented
856 dumping a directory having a 1 character name length.
857 Thanks to Bernhard Erdmann <bernhard.erdmann@gmx.de>
858 for reporting the bug.
859
860 5. Reinforce dump in order to allow only level 0 and no
861 -u option when dumping a subdirectory, and document
862 this in the man page. Thanks to Bernhard Erdmann
863 <bernhard.erdmann@gmx.de> for reporting the bug.
864
865 6. Fixed a small harmless bug in restore which caused
866 in some conditions hard links to be restored several
867 times (therefore generation some warning messages).
868 Thanks to Kenneth Porter <shiva@well.com> for
869 reporting the bug.
870
871 7. Updated the RPM spec file to the latest RedHat version,
872 providing FHS packaging and other cosmetic changes.
873 You will need RPM version >= 3.0.5 in order to build the RPM.
874
875 8. Updated the configure script to check for libtermcap
876 before checking for libreadline, because we need this
877 library in order to compile the readline support.
878
879 9. Made dump understand the LABEL= and UUID= notation
880 both in /etc/fstab and on the command line. Note that
881 you will need the /proc filesystem in order to use
882 these notations. Thanks to Erik Troan <ewt@redhat.com>
883 for providing the patch.
884
885 Changes between versions 0.4b17 and 0.4b18 (released June 30, 2000)
886 ===================================================================
887
888 1. Fixed a potential buffer overflow in restore. Thanks
889 to Stan Bubrouski <satan@fastdial.net> for reporting
890 the bug.
891
892 2. Fixed a readline-related bug which prevented
893 'cat DUMPFILE | restore -i -f -' from working. Thanks
894 to Charles Karney <karney@users.sourceforge.net>
895 for the bug report.
896
897 3. Changed a few "panic" into "exit", causing restore to
898 be more stable against some attacks (like the last one
899 reported on Bugtraq, although the last version of restore
900 was not vulnerable - just dumped core). Thanks to
901 Andreas Hasenack <andreas@conectiva.com.br> for reporting
902 the bugs to me.
903
904 4. Removed the suid-root bit on dump and restore in the
905 default build (and generated RPMs). It should be safer
906 now. Users who need the suid-root capabilities in order
907 to make network backups should read first the man page
908 of dump and enable the suid bit manually.
909
910 5. Added -ltermcap to the compile parameters for restore
911 when using readline support, in order to make the compile
912 process work on some systems (SuSE ?). Thanks to
913 Patrik Schindler <poc@pocnet.net> for reporting the bug.
914
915 Changes between versions 0.4b16 and 0.4b17 (released June 1st, 2000)
916 ====================================================================
917
918 1. The -F script is called now *only* at the end of a tape,
919 not at the end of the dump. Thanks to Christian Haul
920 <haul@informatik.tu-darmstadt.de> for the bug report.
921
922 Normally, the device name and the current volume number
923 are passed on the command line of the script. However,
924 if you want the old style script (with no arguments
925 passed on the command line), you can enable it in
926 configure with the --enable-oldstylefscript.
927
928 2. Use posix signal handling to preserve dump functionality
929 with libc5. Thanks to Jeff Johnson <jbj@redhat.com> for
930 the patch.
931
932 3. Made the exit code of restore in case of a 'C'ompare
933 command reflect the result of the compare. An exit status
934 of 0 means the dump archive is correct, 1 means tape errors,
935 2 means that some files were modified. Thanks to Kenneth Porter
936 <shiva@well.com> for the suggestion.
937
938 4. Made (finally) quotes work in interactive restore.
939
940 5. Small fixes in order to allow dump to compile with a
941 really old e2fsprogs version. Thanks to Ian Zimmerman
942 <itz@speakeasy.org> for the bug report.
943
944 6. Add GNU readline capabilities to interactive restore.
945 Use configure's --enable-readline flag to enable this feature.
946 Thanks to Patrik Schindler <poc@pocnet.net> for the
947 suggestion.
948
949 7. Do the compare on the fly in restore 'C' mode (this will
950 allow not to exhaust the available /tmp space when
951 ccmparing large files). Thanks to Kenneth Porter
952 <shiva@well.com> for the suggestion.
953
954 Changes between versions 0.4b15 and 0.4b16 (released March 11, 2000)
955 ====================================================================
956
957 1. Fixed some several duplicate 'DUMP: DUMP:' in the
958 output of dump.
959
960 2. Corrected the estimation of blocks to dump. Note that
961 this is still wrong for large directory inodes, due
962 to the size of a BSD directory entry on the tape
963 (estimation is based on the size of the ext2 directory,
964 which is smaller because it doesn't contain the null
965 character at the end).
966
967 3. Made dump report the total number of MB written to
968 tape at the end of run. Thanks to W. Reilly Cooley
969 <wcooley@nakedape.cc> for the patch.
970
971 4. Added the -X option to restore giving the possibility
972 to read the names of the files to be extracted/listed
973 from a text file (in addition of the command line).
974 Thanks to Dejan Muhamedagic <dejan@quant-x.com> for the
975 patch.
976
977 5. Added the device name and the current volume number
978 as arguments to the end of tape script (dump -F option).
979
980 6. Made the multi-volume dump work again (after having
981 broken it in 0.4b15).
982
983 Changes between versions 0.4b14 and 0.4b15 (released March 2, 2000)
984 ===================================================================
985
986 1. Added a prompt command in interactive restore mode. Thanks
987 to Andreas Dilger <adilger@home.com> for the patch.
988
989 2. Fixed a buffer overflow problem in dump (caused by
990 not checking the size of the filesystem parameter).
991 Thanks to Kim Yong-jun <loveyou@hackerslab.org> for
992 reporting this on Bugtraq (and to several dump users
993 who forwarded me his mail).
994
995 3. Added the '-F script' option to dump in order to
996 launch a script at the end of each tape (to be used
997 with a tape changer, or to notify the sysadmin by
998 pager etc.).
999
1000 4. Fixed a bug in restore compare code caused by the changes
1001 I made in 0.4b14.
1002
1003 5. Fixed the treatment of options using the old BSD syntax
1004 in both dump and restore.
1005
1006 Changes between versions 0.4b13 and 0.4b14 (released February 10, 2000)
1007 =======================================================================
1008
1009 1. Fixed a bug in dump which may have caused invalid deleted
1010 directories to be dumped out if they were deleted after the
1011 mapping pass. This could occure on active filesystem and lead
1012 to heap corruption (causing dump malfunction in many possible ways).
1013 Thanks to Jan Sanislo <oystr@cs.washington.edu> for finding this
1014 bug and submitting the patch.
1015
1016 2. Fixed the handling of the filesystem parameter in dump. A
1017 '/mnt/disk' parameter caused the disk contents to be dumped,
1018 but a '/mnt/disk/' parameter caused the mountpoint directory
1019 to be dumped (generally an empty directory).
1020
1021 3. Improved the output of dump in order to tell which directory
1022 it is currently dumping (when dumping a subtree).
1023
1024 4. Added the '-e' exclude inode option to dump. Thanks to
1025 Isaac Chuang <ike@isl.stanford.edu> for contributing with the patch.
1026
1027 5. Added a REPORTING-BUGS file in order to provide a guide
1028 on how to correctly report a bug in dump/restore.
1029
1030 6. Fixed a restore problem when restoring a hard link to an inode
1031 having the immutable or append-only attribute set. Thanks to
1032 Ambrose Li <acli@mingpaoxpress.com> for submitting the patch.
1033
1034 7. Fixed a compatibility problem between dumps made on little
1035 endian machines (the format was correct) and big endian
1036 machines (the format was incorrect). This fix break the
1037 compatibility with the older dumps made on big endian
1038 machines (sparc, m86k, ppc etc). For the first time in
1039 linux dump's history (I believe), the dumps made by *BSD,
1040 Linux/alpha, Linux/sparc and Linux/x86 are compatible,
1041 so interchangeable. Thanks to Rob Cermak
1042 <cermak@ahab.rutgers.edu> for submitting the bug and
1043 helping me test the fix.
1044
1045 8. Fixed the way dump reports the remaining percent/time, if
1046 the number of blocks actually dumped exceeds the estimated
1047 number of blocks. Thanks to Jean-Paul van der Jagt
1048 <jeanpaul@dutepp0.et.tudelft.nl> for reporting the bug.
1049
1050 Changes between versions 0.4b12 and 0.4b13 (released January 21, 2000)
1051 ======================================================================
1052
1053 1. Small Y2K fix in the man pages :). Thanks to Bernhard Sadlowski
1054 <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug.
1055
1056 2. Removed the requirement to build the RPM as root from the
1057 spec file. Thanks to Christian Weisgerber
1058 <naddy@mips.rhein-neckar.de> for submitting this.
1059
1060 3. Fixed a bug in dump related to the 'filetype' feature of ext2fs,
1061 causing dump to block when dumping really huge filesystems.
1062 Many thanks to Patrik Schindler <poc@pocnet.net> for
1063 helping me find this bug.
1064
1065 4. Fixed the treatment for an interrupt signal when dump access
1066 the remote tape through RSH. Thanks to Christian Weisgerber
1067 <naddy@mips.rhein-neckar.de> for providing the patch.
1068
1069 5. Fixed a bug which was causing dump/restore to display
1070 garbage characters instead of the remote host name.
1071
1072 Changes between versions 0.4b11 and 0.4b12 (released January 8, 2000)
1073 =====================================================================
1074
1075 1. Small fix in the dump man page. Thanks to Thorsten Kukuk
1076 <kukuk@suse.de> for submitting the patch.
1077
1078 2. Fix for the exit code when using the size estimate option of
1079 dump. Thanks to Matti Taskinen <mkt@rni.helsinki.fi> for
1080 submitting the patch.
1081
1082 3. Handle EINTR in atomical reads/writes in dump, which was causing
1083 dump to fail on some systems. Thanks to Eric Jergensen
1084 <eric@dvns.com> for reporting the bug and submitting the patch.
1085
1086 4. Handle more than 16 characters for the device names in dumpdates.
1087 (up to 255 now). Thanks to Rainer Clasen <bj@ncc.cicely.de> for
1088 tracking down the problem and proposing the solution.
1089
1090 5. Fixed a bug in dump which prevented the creation of the
1091 dumpdates file when doing a 0-level dump without already
1092 having a dumpdates file. Thanks to Patrik Schindler
1093 <poc@pocnet.net> for reporting the bug.
1094
1095 6. Changed the way dump 'S' flag reports the size estimate
1096 from number of blocks into bytes (making it compatible
1097 with the Solaris version, and simplifying things for
1098 amanda users). Thanks to Jason L Tibbitts III
1099 <tibbs@math.uh.edu> for reporting the bug.
1100
1101 7. Fixed a compatibility problem in linux/alpha dump tape format.
1102 Now the linux/alpha dump are (again) compatible with the
1103 other dump formats. But this breaks compatibility with
1104 older dumps made on alpha. Thanks to Mike Tibor
1105 <tibor@lib.uaa.alaska.edu> for helping me in finding this bug.
1106
1107 Changes between versions 0.4b10 and 0.4b11 (released December 5, 1999)
1108 ======================================================================
1109
1110 1. Added a '--enable-kerberos' to configure.
1111
1112 2. Added a 'S' option to dump which determines the amount of space
1113 that is needed to perform the dump without actually doing it, similar
1114 to the Sun's ufsdump 'S' option. Patch contributed by Rob Cermak
1115 <cermak@ahab.rutgers.edu>.
1116
1117 3. Added a 'M' multi-volume option to dump and restore which enables
1118 dumping to multiple files (useful when dumping to an ext2
1119 partition to make several dump files in order to bypass the 2GB
1120 file size limitation). The 'f' argument is treated as a prefix and
1121 the output files will be named <prefix>001, <prefix>002 etc. With
1122 the 'M' flag, restore automatically selects the right file without
1123 asking to enter a new tape each time.
1124
1125 4. Fixed a memory leak which was causing dump to grow very big
1126 (270MB when dumping a 10GB filesystem...). Thanks to Jason
1127 Fearon <jasonf@netrider.org.au> for reporting the bug.
1128
1129 Changes between versions 0.4b9 and 0.4b10 (released November 21, 1999)
1130 ======================================================================
1131
1132 1. Make configure test if the system glob routines support
1133 extended syntax (ALTDIRFUNC). If not, use the internal glob
1134 routines instead of system ones. Thanks to Bernhard Sadlowski
1135 <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug
1136 and helping me resolve this and other minor libc5 compiling
1137 glitches.
1138
1139 2. Fix a problem when dumping a ext2fs with the 'filetype'
1140 feature enabled. Thanks to Patrick J. LoPresti
1141 <patl@cag.lcs.mit.edu> for reporting the bug and to
1142 Theodore Y. Ts'o <tytso@mit.edu> for providing the patch.
1143
1144 3. Made the nodump flag work on directories. A directory which
1145 has the nodump flag gets never dumped, regardless of its
1146 contents.
1147
1148 4. Integrate a patch from Jeremy Fitzhardinge <jeremy@goop.org>
1149 which allows dump on an active ext3 filesystem. However, this
1150 is a "quick and dirty" patch which enables backup of an ext3
1151 filesystem through the ext2 compatibility (by ignoring the
1152 NEEDS_RECOVERY bit). The journal file is not recognized and
1153 it is dumped (it should not).
1154
1155 5. Test the superblock compatibility flags when dumping, in order
1156 to be sure that we know how to deal with specific features.
1157
1158 Changes between versions 0.4b8 and 0.4b9 (released November 5, 1999)
1159 ====================================================================
1160
1161 1. Use lchown instead of chown, fixing a possible security problem
1162 when restoring symlinks (a malicious user could use this
1163 to deliberately corrupt the ownership of important system files).
1164 Thanks to Chris Siebenmann <cks@utcc.utoronto.ca> for detecting
1165 this and providing the patch.
1166
1167 Changes between versions 0.4b7 and 0.4b8 (released November 3, 1999)
1168 ====================================================================
1169
1170 1. Put dump sources under CVS, added Id tags in all files so
1171 one can use 'ident' on binary files.
1172
1173 2. Added the dump/restore version in the usage text so one can
1174 easily verify the version he is using.
1175
1176 3. Small patch from Nuno Oliveira <nuno@eq.uc.pt> which fixes
1177 a va_start/va_end problem on linux-ppc (always call va_start
1178 va_end in pairs each time we use a vararg function).
1179
1180 4. Added again the DT_* constants because old libc does not
1181 contain them :(. Thanks to Eric Maisonobe <virnet@nat.fr>
1182 for submitting the bug report.
1183
1184 5. Use ext2fs_llseek instead of llseek. With recent e2fsprogs
1185 this should enable dumping big (huge) filesystems.
1186
1187 6. Added the RSH environment variable in order to be able to
1188 use a rsh replacement like ssh when doing remote backups (and
1189 bypass the security limitations of rcmd). Now you can do remote
1190 backups without being root (or making dump setuid root).
1191
1192 7. Modified again the way dumpdates works. For incremental dumps,
1193 we need to read dumpdates even if we are not using 'u' option.
1194 Thanks to Bdale Garbee <bdale@gag.com> for his ideas on how
1195 this should work.
1196
1197 Changes between versions 0.4b6 and 0.4b7 (released October 8, 1999)
1198 ===================================================================
1199
1200 1. Removed the 'k' flag from the restore 'about' text if kerberos
1201 was not compiled in.
1202
1203 2. Prototyped (f)setflags from e2fsprogs and corrected the calls
1204 to them (fsetflags takes a char*, setflags an open fd!).
1205
1206 3. (f)setflags is called only if the flags aren't empty. If the
1207 file is a special file, a warning is printed, because changing
1208 flags implies opening the device. Normally, a special file
1209 should not have any flag... (Debian bug #29775, patch provided
1210 by Abhijit Dasgupta <abhijit@ans.net>).
1211
1212 4. Made possible to dump a file system not mentioned in /etc/fstab.
1213 (Debian bug #11904, patch provided by Eirik Fuller <eirik@netcom.com>).
1214
1215 5. Changed the default behaviour to not create dumpdates
1216 unless 'u' option is specified. Removed the old "debian-patch"
1217 which provided the same thing. (Debian bug #38136, #33818).
1218
1219 6. Removed all those dump*announce, since they were getting old...
1220
1221 7. Added warning messages if dumpdates does not exist and
1222 when an inferior level dump does not exist (except for a level 0
1223 dump).
1224
1225 8. Debugged the glob calls in interactive mode: restore used a
1226 dirent struct which was different from the /usr/include/dirent.h
1227 one (this used to work, is it a glibc2 change?), so none of the
1228 compat glob (which used /usr/include/dirent.h) or the system glob
1229 worked. Restore use now the system dirent (and the system
1230 DT_* constants), which are compatible with BSD ones.
1231
1232 9. Added a configure flag (--with-dumpdatespath) to specify
1233 the location of dumpdates file. By default, it is
1234 /etc/dumpdates.
1235
1236 10. Added the "AUTHOR" and "AVAILABILITY" sections and
1237 included the current date/version in man pages.
1238
1239 11. Corrected the estimation of remaining time when
1240 the operator doesn't change the tapes quickly enough. This
1241 was an old bug, I thought I corrected it, and discovered
1242 that in fact it was corrected in two different places, so
1243 the results canceled each other...
1244
1245 Changes between versions 0.4b5 and 0.4b6 (released October 1, 1999)
1246 ===================================================================
1247
1248 1. Integrated multiple patches from RedHat, Debian and SuSE:
1249
1250 - tweak dump/itime.c to not try to read dumpdates if the 'u' option
1251 isn't specified.
1252 - several fixes in the man pages.
1253 - update the default tape device to /dev/st0.
1254 - many updates for Linux Alpha (byte ordering, size_t etc).
1255 - buffer overruns.
1256 - use environment variable for TMPDIR (instead of /tmp).
1257 - use sigjmp_buf instead of jmp_buf (RedHat bug #3260).
1258 - workaround egcs bug (RedHat bugs #4281 and #2989).
1259 - wire $(OPT) throughout Makefile's.
1260
1261 2. Upgrade the dump revision to 1, making possible to dump filesystems
1262 made with e2fsprogs-1.15 or newer. Nothing seems to break...
1263
1264 3. Fix some compile warnings, prototype all functions.
1265
1266 4. Use glibc err/glob instead of internal compatibility
1267 routines (only if available).
1268
1269 5. Fix a compile error on Linux 2.2.7 / libc5 (5.4.44) (patch provided
1270 by Bernhard Sadlowski <sadlowsk@mathematik.uni-bielefeld.de>).
1271
1272 Changes between versions 0.4b4 and 0.4b5 (released September 22, 1999)
1273 ======================================================================
1274
1275 1. Integrated the changes from FreeBSD-3.1-RELEASE
1276 (mostly bug fixes, buffer overruns, dump has now an "automatic
1277 tape length calculation" flag, dump/restore can use kerberos now
1278 (this is NOT tested), use environment variables for TAPE and
1279 RMT etc.).
1280
1281 2. Integrated three RedHat patches ("glibc", "kernel" and "bread" patches)
1282
1283 3. Corrected a bug in restore when using 'C' option with multi-volumes
1284 tapes (files splited accros two tapes give "size changed" errors
1285 when comparing).
1286
1287 4. Corrected the long standing bug when dumping multiple tapes.
1288 This works for me, needs further testing.
1289
1290 Changes between versions 0.4b3 and 0.4b4 (released January 17, 1997)
1291 ====================================================================
1292
1293 1. Dump now runs correctly on kernels 2.1.x
1294 Fix made by Gerald Peters <gapeters@worldnet.att.net>
1295
1296 Changes between versions 0.4b2 and 0.4b3
1297 ========================================
1298
1299 1. Use realpath() if available
1300
1301 2. Report statistics
1302
1303 Changes between versions 0.4b1 and 0.4b2
1304 ========================================
1305
1306 1. Fixed the bug fix from Greg Lutz (I had made a mistake when integrating
1307 the patch)
1308
1309 2. Fixed restore to make it able to read FreeBSD 2.x dumps again
1310
1311 3. Fixed configure.in to correctly handle --enable-rmt
1312
1313 Changes between versions 0.3 and 0.4b1
1314 ======================================
1315
1316 1. Integrated the changes from 4.4BSD-Lite2
1317
1318 2. Integrated the patches from Debian and Red Hat
1319
1320 3. Portability changes: use the __u32, __u16, __s32, and __s16 types
1321
1322 4. Changed dump to use the Ext2fs library to get block addresses. This
1323 should solve the endianness problem on SparcLinux.
1324
1325 5. Created a configure.in file (shamelessly stolen from the e2fsprogs
1326 distribution's one) to use autoconf
1327
1328 6. Fixed a few minor bugs
1329
1330 Changes between versions 0.2e and 0.2f
1331 ======================================
1332
1333 1. Added the creation of named pipes (fifos) in restore.
1334
1335 2. Added the -N flag in the restore manual page.
1336
1337 3. Added the file kernel.patch which contains the llseek() optimization
1338 patch for 1.2.x kernels.
1339
1340 4. Fixed a bug in the restoration of symbolic links: owner and group were
1341 not restored.
1342
1343 5. Integrated some changes from FreeBSD 2.2.
1344
1345 6. Added a call to ftruncate() after restoring each file to restore
1346 correctly files ending by a hole.
1347
1348 Changes between versions 0.2d and 0.2e
1349 ======================================
1350
1351 1. Fixed a bug in the "set owner/mode" process. Every file was restored
1352 with owner = root (0) and group = root/wheel/whatever (0).
1353
1354 Changes between versions 0.2c and 0.2d
1355 ======================================
1356
1357 1. Dump is now able to backup 2GB+ filesystems.
1358
1359 2. Dump and restore can now be linked as static binaries.
1360
1361 Changes between versions 0.2b and 0.2c
1362 ======================================
1363
1364 1. Fixed a bug when dumping ``slow'' (i.e. normal) symbolic links.
1365
1366 Changes between versions 0.2a and 0.2b
1367 ======================================
1368
1369 1. Really fixed the bug that I should have corrected in 0.2a.
1370
1371 2. Enabled optimization again.
1372
1373 Changes between versions 0.2 and 0.2a
1374 =====================================
1375
1376 1. Disabled the optimization during compilation.
1377
1378 Changes between versions 0.1 and 0.2
1379 ====================================
1380
1381 1. Fixed a bug in fstab.c which caused a null pointer to be stored in
1382 the fs_type field (actually, I modified the file fstab.c to make it
1383 use the mntent functions).
1384
1385 2. Dump and restore now use a 4.3 BSD compatible dump format. Backups
1386 made by dump should be readable by the BSD restore and backups made
1387 by the BSD dump should be readable by restore. Unfortunately, this
1388 means that the dump format has changed between version 0.1 and version
1389 0.2 :-(
1390
1391 3. Dump is now able to backup a subtree, it is no longer limited to whole
1392 filesystems like the BSD version.
1393
1394 4. Dump now uses ext2_llseek() so it is able to backup filesystems bigger
1395 than 2 GB.
1396
1397 Changes between versions 0.0 and 0.1
1398 ====================================
1399
1400 1. Now create links rdump and rrestore during the `make install' step.
1401
1402 2. Linux port specific bugs added to the manual pages
1403
1404 3. Incorrect estimation of the number of tapes blocks fixed when doing
1405 incremental backups.
1406
1407 4. Better ls-like format in restore in interactive mode.