]> git.wh0rd.org - dump.git/blob - CHANGES
Make BREADEMAX adjustable with the -I option to dump.
[dump.git] / CHANGES
1 $Id: CHANGES,v 1.141 2001/11/11 00:06:39 stelian Exp $
2
3 Changes between versions 0.4b24 and 0.4b25 (released ??????????????????)
4 ========================================================================
5
6 1. Added a mini howto from Patrick Walsh in the examples
7 directory.
8
9 2. Minor man pages syntax corrections. Thanks to
10 Chris Danis <screechco@home.com> for reporting the bugs.
11
12 3. Added a script from David B. Peterson <dave@toppledwagon.com>
13 to the examples section. It features dumping several
14 filesystems to a remote tape drive upon ssh.
15
16 4. Added a patch provided by Richard Jones <rich@annexia.org>
17 which allows BRADEMAX (number of read errors tolerated by
18 dump) to be adjusted using the -I option.
19
20 Changes between versions 0.4b23 and 0.4b24 (released September 12, 2001)
21 ========================================================================
22
23 1. Fixed the permissions of a newly created QFA file by dump.
24
25 2. Cleaned up the source of dump (the external variables
26 definition was a complete mess, making possible to have
27 objects overlap).
28
29 3. Fixed restore to use the full tape volume path when doing
30 a compare (since it changes the working directory to the
31 filesystem being compared in the process).
32
33 4. Added the -q option to dump which makes dump abort
34 whenever it needs operator attention. It should be
35 easier to use dump in scripts with this option.
36
37 5. Detect the use of incompatible options to dump and
38 refuse them (like -a and -B options together).
39
40 6. Added bzip2 compression to dump/restore (use option -j level
41 to select it). Note that you will need a restore version
42 >= 0.4b24 in order to restore a bzip2 compressed dump.
43 The same warning as for the zlib compression applies:
44 the tape format of a bzip2 dump is not compatible with the
45 original BSD tape format.
46
47 7. Fixed a overflow problem in dump corrupting the dump when
48 very large files were encountered. Thanks to Vladimir Nadvornik
49 for the bug report.
50
51 8. Added a ioctl(BLKFLSBUF) in dump which should flush the
52 kernel buffer/page cache before starting the dump, helping
53 a bit those who use dump on mounted filesystems. Thanks to
54 John Yu <jky@it.bu.edu> and to Theodore T'so <tytso@mit.edu>
55 for this suggestion.
56
57 9. Updated the RPM spec file following the RedHat changes
58 (dynamically linked binaries now in /usr/sbin etc).
59
60 10. Added a patch from Helmut Jarausch <jarausch@igpm.rwth-aachen.de>
61 which enables restore to recognise multi volume compressed dumps
62 done on CD. Included his scripts for dump (which pipe the dump
63 output directly into cdrecord) and restore. There is now
64 possible to to backups to CD on the fly!
65
66 Changes between versions 0.4b22 and 0.4b23 (released July 20, 2001)
67 ===================================================================
68
69 1. Fixed a buffer overflow in restore/tape.c. Patch provided by
70 Marcus Meissner (Caldera International Security Dept.).
71
72 2. Implement the Sun rmt extended protocol. Patch submitted
73 by Ian Gordon <iangordon@users.sourceforge.net>.
74
75 3. Check for the e2fsprogs header <ext2fs/ext2_fs.h> instead of
76 the linux kernel header. This ensures that dump always has the
77 latest version of this file. Patch submitted by
78 Andreas Dilger <adilger@turbolinux.com>.
79
80 4. Report any filesystem present in either /etc/fstab with a
81 positive passno or /etc/dumpdates in dump -w output.
82 Patch submitted by Andreas Dilger <adilger@turbolinux.com>.
83
84 5. Fixed the looping problem in dump introduced in the
85 previous version.
86
87 6. Changed the -B option of dump to limit the size of
88 _compressed_ output per volume if compression is on.
89 Patch contributed by Helmut Jarausch
90 <jarausch@igpm.rwth-aachen.de>. Note however that, since
91 it is impossible to predict the size of the compressed
92 data before doing the compression, the -B limit is a bit
93 conservative.
94
95 7. Fixed a bug in reading the operator typed file/tape path for
96 the next volume in restore.
97
98 8. Implemented a "-F script" option to restore which permits the
99 user to specify a script which will be launched at the
100 beginning of each tape, useful for automatic programming of
101 tape changers for example. See the restore man page for the
102 script parameters and return codes.
103
104 9. Small fix for the QFA routines provided by Uwe Gohlke
105 <uwe@ugsoft.de>, and some recommendations for QFA uses in
106 the man pages.
107
108 10. Fixed the multivolume restoring where making a mistake
109 to the 'Mount next tape' prompt caused several blocks to
110 be lost.
111
112 11. Enhanced the -e option of dump to take as a parameter a
113 comma separated list of inode numbers.
114
115 12. Added the -E option to dump which specify a file containing
116 inode numbers to exclude from the dump.
117
118 13. Fixed the compressed multi-volume dump + restore.
119
120 Changes between versions 0.4b21 and 0.4b22 (released May 12, 2001)
121 ==================================================================
122
123 1. Made dump report the number of blocks dumped per volume.
124 Thanks to Kenneth Porter <shiva@well.com> for the suggestion.
125
126 2. Fix a bug in dump where waiting too much at the 'change volumes'
127 question caused the volume to be rewritten. Thanks to
128 Graham Reed <greed@users.sourceforge.net> for reporting the
129 bug and providing a patch.
130
131 3. Added a compression option to dump, contributed by Jerry
132 Peters <gapeters@worldnet.att.net>.
133
134 WARNING: the compression works only on files/pipes and
135 drives supporting variable block size.
136
137 WARNING2: tapes created using the compression feature are
138 incompatible with the standard dump tape format, and a
139 version of restore >= 0.4b22 will be needed for extraction.
140
141 4. Fixed some compilation problems for glibc 2.2.2 and 64 bit
142 architectures. Thanks to Paul Slootman <paul@debian.org> for
143 the patch and to Bdale Garbee <bdale@gag.com> for forwarding
144 it upstream.
145
146 5. Many cleanups (CPP defines, const char warnings, check of
147 ext2fs COMPAT flags, time_t cleanups, added libext2 version
148 in dump usage text) by Andreas Dilger <adilger@turbolinux.com>.
149
150 6. Made --prefix option work in configure. All the install path
151 are now based on the configure parameters.
152
153 7. Added the Quick File Access mode in dump/restore, contributed
154 by Uwe Gohlke <uwe@ugsoft.de>. In this mode, dump stores in
155 a file tape position for each inode, and this file is used by
156 restore (if called with parameter Q and the filename)
157 to directly position the tape at the file restore is currently
158 working on. This saves hours when restoring single files from
159 large backups, saves the tapes and the drive's head. Use
160 --enable-qfa option of configure to compile in the QFA support.
161
162 8. Added the possibility to dump several files and directories
163 in a single invocation of dump. Thanks to Uwe Gohlke
164 <uwe@ugsoft.de> for implementing this option.
165
166 9. Fixed the dumping and restoring of files with holes
167 (files ending with holes didn't get dumped or restored
168 correctly).
169
170 10. Fixed a socket descriptor leak in dump, which leaved opened
171 3 file descriptors per dump process (and there is one dump
172 process per tape).
173
174 11. Fixed dump large file system support, by explicit use of
175 open64/lseek64/etc functions (explicit use needed because
176 e2fsprogs libraries don't behave well when compiled with
177 FILE_OFFSET_BITS=64).
178
179 Changes between versions 0.4b20 and 0.4b21 (released January 13, 2001)
180 ======================================================================
181
182 1. Fixed some bugs in the dump -w|-W logic introduced by
183 the previous version. Thanks to Andreas Dilger
184 <adilger@turbolinux.com> for his help on this one.
185
186 2. Fixed again a compilation problem when using old e2fs
187 headers (filesystem label related). Thanks to many users
188 who reported this stupid error.
189
190 3. Fixed a build problem on old lib5 based systems dealing with
191 _PATH_MNTTAB being undefined. Thanks to John Adams
192 <johna@onevista.com> for reporting the bug.
193
194 4. Improved the error detection in restore when creating
195 the temporary files in TMPDIR. Now restore will corectly
196 report a 'no space left on device' error instead of
197 strange errors which could imply an archive corruption.
198 Thanks to Gabriel Somlo <somlo@cs.colostate.edu> and
199 bgjenero <bgjenero@sympatico.ca> for reporting the bug.
200
201 5. Added the throughput information in dump's progression
202 messages. Thanks to Andreas Dilger <adilger@turbolinux.com>
203 for the patch.
204
205 6. Use libext2fs's inode scanning routines, which are particularly
206 robust when dealing with errors (especially when having some
207 bad blocks on the filesystem). Many thanks to Colin
208 <colin@horizon.com> for reporting the bug, investigating
209 the issues, finding a workaround, writing the patch and
210 fully testing it... (of course, if this patch will break
211 anything, he is to blame for :-)).
212
213 7. Made dump and restore LFS aware. Dump can dump a filesystem
214 containing large files, generate a large file on output and
215 restore can restore them. This feature is not enabled by
216 default, use --enable-largefile option of configure to enable
217 it (you need to have a LFS aware glibc though). Thanks to
218 Andrea Arcangeli <andrea@suse.de> for submitting the patch,
219 and to Theodore T'so <tytso@valinux.com> for his always
220 useful thoughts.
221
222 8. Made dump ask upon a tape write error if it should rewrite
223 the current volume (assume this is a bad tape) or if it should
224 assume an end-of-tape condition (useful for tape drives which
225 behaves badly at the end of the tape). Thanks to Andreas
226 Dilger <adilger@turbolinux.com> for the suggestion.
227
228 Changes between versions 0.4b19 and 0.4b20 (released November 10, 2000)
229 =======================================================================
230
231 1. Fixed a small compilation problem due to a change
232 in the definintion of the struct sigaction in
233 glibc 2.0 / libc5. Thanks to Gunther Schlegel
234 <schlegel@riege.de> for reporting the bug and to
235 Dave Platt <dplatt@snulbug.mtview.ca.us> for suggesting
236 a fix.
237
238 2. Modified the label and uuid analysis in order to be
239 self-contained (independant of kernel/libc headers). This
240 should fix the compile with older kernel/libc headers and
241 will preserve the functionality. Thanks to Bernhard Erdmann
242 <bernhard.erdmann@gmx.de> for reporting the bug.
243
244 3. The 'exclude inode' option, if applied to a directory
245 inode, excludes now correctly all the leaves of this
246 directory. Thanks to John R. Dennison
247 <gerdesas@users.sourceforge.net> for reporting the bug.
248
249 4. Fixed the '-e' option to disable the possibility
250 to exclude the root inode (which causes the dumps to
251 be unreadable by restore). Prevented array overflow
252 when multiple -e options are used.
253
254 5. Fixed dump to correctly interpret a filesystem argument
255 which is a mountpoint and it is not an absolute path
256 (as specified in the fstab). Thanks to Bernhard R. Erdmann
257 <be@berdmann.de> for reporting the bug.
258
259 6. Made dump able to backup files larger than 2 GB. Note that
260 dump still doesn't cope with files larger than 4 GB.
261
262 7. Restore the real uid and gid before invoking an external
263 RSH program (big hole when dump or restore is suid root!).
264
265 8. Get the values for the default tape device and the location
266 of fstab file from the system headers. Thanks to
267 Andreas Dilger <adilger@turbolinux.com> for the patch.
268
269 9. Made dump -w|-W report all recognized filesystems
270 present in either /etc/fstab or /etc/dumpdates, and present
271 the list in the same order as in fstab file. Thanks
272 to Andreas Dilger <adilger@turbolinux.com> for the patch.
273
274 10. Made dump's -a (automatic end of tape detection) the
275 default. Specifying one of -B, -c, -d or -s options will
276 override the EOM detection. Thanks to Andreas Dilger
277 <adilger@turbolinux.com> for the patch.
278
279 11. Save the ext2 filesystem label into the dump volume label.
280 Specifying a volume label on the command line (-L option)
281 will override this feature. Thanks to Andreas Dilger
282 <adilger@turbolinux.com> for the patch.
283
284 Changes between versions 0.4b18 and 0.4b19 (released August 20, 2000)
285 =====================================================================
286
287 1. Fixed the signal handling in dump (which I broke in 0.4b17)
288 which was causing several strange dump failures (dump
289 hanged or segmentation faults etc).
290
291 2. Specified the default blocksize in the dump man page.
292
293 3. Changed two info messages of restore to be written on stdout
294 instead of stderr in order to leave stderr only for errors
295 or warnings. Thanks to Stephen Atwell
296 <satwell@urbana.css.mot.com> for the suggestion.
297
298 4. Corrected an off by one calculation which prevented
299 dumping a directory having a 1 character name length.
300 Thanks to Bernhard Erdmann <bernhard.erdmann@gmx.de>
301 for reporting the bug.
302
303 5. Reinforce dump in order to allow only level 0 and no
304 -u option when dumping a subdirectory, and document
305 this in the man page. Thanks to Bernhard Erdmann
306 <bernhard.erdmann@gmx.de> for reporting the bug.
307
308 6. Fixed a small harmless bug in restore which caused
309 in some conditions hard links to be restored several
310 times (therefore generation some warning messages).
311 Thanks to Kenneth Porter <shiva@well.com> for
312 reporting the bug.
313
314 7. Updated the RPM spec file to the latest RedHat version,
315 providing FHS packaging and other cosmetic changes.
316 You will need RPM version >= 3.0.5 in order to build the RPM.
317
318 8. Updated the configure script to check for libtermcap
319 before checking for libreadline, because we need this
320 library in order to compile the readline support.
321
322 9. Made dump understand the LABEL= and UUID= notation
323 both in /etc/fstab and on the command line. Note that
324 you will need the /proc filesystem in order to use
325 these notations. Thanks to Erik Troan <ewt@redhat.com>
326 for providing the patch.
327
328 Changes between versions 0.4b17 and 0.4b18 (released June 30, 2000)
329 ===================================================================
330
331 1. Fixed a potential buffer overflow in restore. Thanks
332 to Stan Bubrouski <satan@fastdial.net> for reporting
333 the bug.
334
335 2. Fixed a readline-related bug which prevented
336 'cat DUMPFILE | restore -i -f -' from working. Thanks
337 to Charles Karney <karney@users.sourceforge.net>
338 for the bug report.
339
340 3. Changed a few "panic" into "exit", causing restore to
341 be more stable against some attacks (like the last one
342 reported on Bugtraq, although the last version of restore
343 was not vulnerable - just dumped core). Thanks to
344 Andreas Hasenack <andreas@conectiva.com.br> for reporting
345 the bugs to me.
346
347 4. Removed the suid-root bit on dump and restore in the
348 default build (and generated RPMs). It should be safer
349 now. Users who need the suid-root capabilities in order
350 to make network backups should read first the man page
351 of dump and enable the suid bit manually.
352
353 5. Added -ltermcap to the compile parameters for restore
354 when using readline support, in order to make the compile
355 process work on some systems (SuSE ?). Thanks to
356 Patrik Schindler <poc@pocnet.net> for reporting the bug.
357
358 Changes between versions 0.4b16 and 0.4b17 (released June 1st, 2000)
359 ====================================================================
360
361 1. The -F script is called now *only* at the end of a tape,
362 not at the end of the dump. Thanks to Christian Haul
363 <haul@informatik.tu-darmstadt.de> for the bug report.
364
365 Normally, the device name and the current volume number
366 are passed on the command line of the script. However,
367 if you want the old style script (with no arguments
368 passed on the command line), you can enable it in
369 configure with the --enable-oldstylefscript.
370
371 2. Use posix signal handling to preserve dump functionality
372 with libc5. Thanks to Jeff Johnson <jbj@redhat.com> for
373 the patch.
374
375 3. Made the exit code of restore in case of a 'C'ompare
376 command reflect the result of the compare. An exit status
377 of 0 means the dump archive is correct, 1 means tape errors,
378 2 means that some files were modified. Thanks to Kenneth Porter
379 <shiva@well.com> for the suggestion.
380
381 4. Made (finally) quotes work in interactive restore.
382
383 5. Small fixes in order to allow dump to compile with a
384 really old e2fsprogs version. Thanks to Ian Zimmerman
385 <itz@speakeasy.org> for the bug report.
386
387 6. Add GNU readline capabilities to interactive restore.
388 Use configure's --enable-readline flag to enable this feature.
389 Thanks to Patrik Schindler <poc@pocnet.net> for the
390 suggestion.
391
392 7. Do the compare on the fly in restore 'C' mode (this will
393 allow not to exhaust the available /tmp space when
394 ccmparing large files). Thanks to Kenneth Porter
395 <shiva@well.com> for the suggestion.
396
397 Changes between versions 0.4b15 and 0.4b16 (released March 11, 2000)
398 ====================================================================
399
400 1. Fixed some several duplicate 'DUMP: DUMP:' in the
401 output of dump.
402
403 2. Corrected the estimation of blocks to dump. Note that
404 this is still wrong for large directory inodes, due
405 to the size of a BSD directory entry on the tape
406 (estimation is based on the size of the ext2 directory,
407 which is smaller because it doesn't contain the null
408 character at the end).
409
410 3. Made dump report the total number of MB written to
411 tape at the end of run. Thanks to W. Reilly Cooley
412 <wcooley@nakedape.cc> for the patch.
413
414 4. Added the -X option to restore giving the possibility
415 to read the names of the files to be extracted/listed
416 from a text file (in addition of the command line).
417 Thanks to Dejan Muhamedagic <dejan@quant-x.com> for the
418 patch.
419
420 5. Added the device name and the current volume number
421 as arguments to the end of tape script (dump -F option).
422
423 6. Made the multi-volume dump work again (after having
424 broken it in 0.4b15).
425
426 Changes between versions 0.4b14 and 0.4b15 (released March 2, 2000)
427 ===================================================================
428
429 1. Added a prompt command in interactive restore mode. Thanks
430 to Andreas Dilger <adilger@home.com> for the patch.
431
432 2. Fixed a buffer overflow problem in dump (caused by
433 not checking the size of the filesystem parameter).
434 Thanks to Kim Yong-jun <loveyou@hackerslab.org> for
435 reporting this on Bugtraq (and to several dump users
436 who forwarded me his mail).
437
438 3. Added the '-F script' option to dump in order to
439 launch a script at the end of each tape (to be used
440 with a tape changer, or to notify the sysadmin by
441 pager etc.).
442
443 4. Fixed a bug in restore compare code caused by the changes
444 I made in 0.4b14.
445
446 5. Fixed the treatment of options using the old BSD syntax
447 in both dump and restore.
448
449 Changes between versions 0.4b13 and 0.4b14 (released February 10, 2000)
450 =======================================================================
451
452 1. Fixed a bug in dump which may have caused invalid deleted
453 directories to be dumped out if they were deleted after the
454 mapping pass. This could occure on active filesystem and lead
455 to heap corruption (causing dump malfunction in many possible ways).
456 Thanks to Jan Sanislo <oystr@cs.washington.edu> for finding this
457 bug and submitting the patch.
458
459 2. Fixed the handling of the filesystem parameter in dump. A
460 '/mnt/disk' parameter caused the disk contents to be dumped,
461 but a '/mnt/disk/' parameter caused the mountpoint directory
462 to be dumped (generally an empty directory).
463
464 3. Improved the output of dump in order to tell which directory
465 it is currently dumping (when dumping a subtree).
466
467 4. Added the '-e' exclude inode option to dump. Thanks to
468 Isaac Chuang <ike@isl.stanford.edu> for contributing with the patch.
469
470 5. Added a REPORTING-BUGS file in order to provide a guide
471 on how to correctly report a bug in dump/restore.
472
473 6. Fixed a restore problem when restoring a hard link to an inode
474 having the immutable or append-only attribute set. Thanks to
475 Ambrose Li <acli@mingpaoxpress.com> for submitting the patch.
476
477 7. Fixed a compatibility problem between dumps made on little
478 endian machines (the format was correct) and big endian
479 machines (the format was incorrect). This fix break the
480 compatibility with the older dumps made on big endian
481 machines (sparc, m86k, ppc etc). For the first time in
482 linux dump's history (I believe), the dumps made by *BSD,
483 Linux/alpha, Linux/sparc and Linux/x86 are compatible,
484 so interchangeable. Thanks to Rob Cermak
485 <cermak@ahab.rutgers.edu> for submitting the bug and
486 helping me test the fix.
487
488 8. Fixed the way dump reports the remaining percent/time, if
489 the number of blocks actually dumped exceeds the estimated
490 number of blocks. Thanks to Jean-Paul van der Jagt
491 <jeanpaul@dutepp0.et.tudelft.nl> for reporting the bug.
492
493 Changes between versions 0.4b12 and 0.4b13 (released January 21, 2000)
494 ======================================================================
495
496 1. Small Y2K fix in the man pages :). Thanks to Bernhard Sadlowski
497 <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug.
498
499 2. Removed the requirement to build the RPM as root from the
500 spec file. Thanks to Christian Weisgerber
501 <naddy@mips.rhein-neckar.de> for submitting this.
502
503 3. Fixed a bug in dump related to the 'filetype' feature of ext2fs,
504 causing dump to block when dumping really huge filesystems.
505 Many thanks to Patrik Schindler <poc@pocnet.net> for
506 helping me find this bug.
507
508 4. Fixed the treatment for an interrupt signal when dump access
509 the remote tape through RSH. Thanks to Christian Weisgerber
510 <naddy@mips.rhein-neckar.de> for providing the patch.
511
512 5. Fixed a bug which was causing dump/restore to display
513 garbage characters instead of the remote host name.
514
515 Changes between versions 0.4b11 and 0.4b12 (released January 8, 2000)
516 =====================================================================
517
518 1. Small fix in the dump man page. Thanks to Thorsten Kukuk
519 <kukuk@suse.de> for submitting the patch.
520
521 2. Fix for the exit code when using the size estimate option of
522 dump. Thanks to Matti Taskinen <mkt@rni.helsinki.fi> for
523 submitting the patch.
524
525 3. Handle EINTR in atomical reads/writes in dump, which was causing
526 dump to fail on some systems. Thanks to Eric Jergensen
527 <eric@dvns.com> for reporting the bug and submitting the patch.
528
529 4. Handle more than 16 characters for the device names in dumpdates.
530 (up to 255 now). Thanks to Rainer Clasen <bj@ncc.cicely.de> for
531 tracking down the problem and proposing the solution.
532
533 5. Fixed a bug in dump which prevented the creation of the
534 dumpdates file when doing a 0-level dump without already
535 having a dumpdates file. Thanks to Patrik Schindler
536 <poc@pocnet.net> for reporting the bug.
537
538 6. Changed the way dump 'S' flag reports the size estimate
539 from number of blocks into bytes (making it compatible
540 with the Solaris version, and simplifying things for
541 amanda users). Thanks to Jason L Tibbitts III
542 <tibbs@math.uh.edu> for reporting the bug.
543
544 7. Fixed a compatibility problem in linux/alpha dump tape format.
545 Now the linux/alpha dump are (again) compatible with the
546 other dump formats. But this breaks compatibility with
547 older dumps made on alpha. Thanks to Mike Tibor
548 <tibor@lib.uaa.alaska.edu> for helping me in finding this bug.
549
550 Changes between versions 0.4b10 and 0.4b11 (released December 5, 1999)
551 ======================================================================
552
553 1. Added a '--enable-kerberos' to configure.
554
555 2. Added a 'S' option to dump which determines the amount of space
556 that is needed to perform the dump without actually doing it, similar
557 to the Sun's ufsdump 'S' option. Patch contributed by Rob Cermak
558 <cermak@ahab.rutgers.edu>.
559
560 3. Added a 'M' multi-volume option to dump and restore which enables
561 dumping to multiple files (useful when dumping to an ext2
562 partition to make several dump files in order to bypass the 2GB
563 file size limitation). The 'f' argument is treated as a prefix and
564 the output files will be named <prefix>001, <prefix>002 etc. With
565 the 'M' flag, restore automatically selects the right file without
566 asking to enter a new tape each time.
567
568 4. Fixed a memory leak which was causing dump to grow very big
569 (270MB when dumping a 10GB filesystem...). Thanks to Jason
570 Fearon <jasonf@netrider.org.au> for reporting the bug.
571
572 Changes between versions 0.4b9 and 0.4b10 (released November 21, 1999)
573 ======================================================================
574
575 1. Make configure test if the system glob routines support
576 extended syntax (ALTDIRFUNC). If not, use the internal glob
577 routines instead of system ones. Thanks to Bernhard Sadlowski
578 <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug
579 and helping me resolve this and other minor libc5 compiling
580 glitches.
581
582 2. Fix a problem when dumping a ext2fs with the 'filetype'
583 feature enabled. Thanks to Patrick J. LoPresti
584 <patl@cag.lcs.mit.edu> for reporting the bug and to
585 Theodore Y. Ts'o <tytso@mit.edu> for providing the patch.
586
587 3. Made the nodump flag work on directories. A directory which
588 has the nodump flag gets never dumped, regardless of its
589 contents.
590
591 4. Integrate a patch from Jeremy Fitzhardinge <jeremy@goop.org>
592 which allows dump on an active ext3 filesystem. However, this
593 is a "quick and dirty" patch which enables backup of an ext3
594 filesystem through the ext2 compatibility (by ignoring the
595 NEEDS_RECOVERY bit). The journal file is not recognized and
596 it is dumped (it should not).
597
598 5. Test the superblock compatibility flags when dumping, in order
599 to be sure that we know how to deal with specific features.
600
601 Changes between versions 0.4b8 and 0.4b9 (released November 5, 1999)
602 ====================================================================
603
604 1. Use lchown instead of chown, fixing a possible security problem
605 when restoring symlinks (a malicious user could use this
606 to deliberately corrupt the ownership of important system files).
607 Thanks to Chris Siebenmann <cks@utcc.utoronto.ca> for detecting
608 this and providing the patch.
609
610 Changes between versions 0.4b7 and 0.4b8 (released November 3, 1999)
611 ====================================================================
612
613 1. Put dump sources under CVS, added Id tags in all files so
614 one can use 'ident' on binary files.
615
616 2. Added the dump/restore version in the usage text so one can
617 easily verify the version he is using.
618
619 3. Small patch from Nuno Oliveira <nuno@eq.uc.pt> which fixes
620 a va_start/va_end problem on linux-ppc (always call va_start
621 va_end in pairs each time we use a vararg function).
622
623 4. Added again the DT_* constants because old libc does not
624 contain them :(. Thanks to Eric Maisonobe <virnet@nat.fr>
625 for submitting the bug report.
626
627 5. Use ext2fs_llseek instead of llseek. With recent e2fsprogs
628 this should enable dumping big (huge) filesystems.
629
630 6. Added the RSH environment variable in order to be able to
631 use a rsh replacement like ssh when doing remote backups (and
632 bypass the security limitations of rcmd). Now you can do remote
633 backups without being root (or making dump setuid root).
634
635 7. Modified again the way dumpdates works. For incremental dumps,
636 we need to read dumpdates even if we are not using 'u' option.
637 Thanks to Bdale Garbee <bdale@gag.com> for his ideas on how
638 this should work.
639
640 Changes between versions 0.4b6 and 0.4b7 (released October 8, 1999)
641 ===================================================================
642
643 1. Removed the 'k' flag from the restore 'about' text if kerberos
644 was not compiled in.
645
646 2. Prototyped (f)setflags from e2fsprogs and corrected the calls
647 to them (fsetflags takes a char*, setflags an open fd!).
648
649 3. (f)setflags is called only if the flags aren't empty. If the
650 file is a special file, a warning is printed, because changing
651 flags implies opening the device. Normally, a special file
652 should not have any flag... (Debian bug #29775, patch provided
653 by Abhijit Dasgupta <abhijit@ans.net>).
654
655 4. Made possible to dump a file system not mentioned in /etc/fstab.
656 (Debian bug #11904, patch provided by Eirik Fuller <eirik@netcom.com>).
657
658 5. Changed the default behaviour to not create dumpdates
659 unless 'u' option is specified. Removed the old "debian-patch"
660 which provided the same thing. (Debian bug #38136, #33818).
661
662 6. Removed all those dump*announce, since they were getting old...
663
664 7. Added warning messages if dumpdates does not exist and
665 when an inferior level dump does not exist (except for a level 0
666 dump).
667
668 8. Debugged the glob calls in interactive mode: restore used a
669 dirent struct which was different from the /usr/include/dirent.h
670 one (this used to work, is it a glibc2 change?), so none of the
671 compat glob (which used /usr/include/dirent.h) or the system glob
672 worked. Restore use now the system dirent (and the system
673 DT_* constants), which are compatible with BSD ones.
674
675 9. Added a configure flag (--with-dumpdatespath) to specify
676 the location of dumpdates file. By default, it is
677 /etc/dumpdates.
678
679 10. Added the "AUTHOR" and "AVAILABILITY" sections and
680 included the current date/version in man pages.
681
682 11. Corrected the estimation of remaining time when
683 the operator doesn't change the tapes quickly enough. This
684 was an old bug, I thought I corrected it, and discovered
685 that in fact it was corrected in two different places, so
686 the results canceled each other...
687
688 Changes between versions 0.4b5 and 0.4b6 (released October 1, 1999)
689 ===================================================================
690
691 1. Integrated multiple patches from RedHat, Debian and SuSE:
692
693 - tweak dump/itime.c to not try to read dumpdates if the 'u' option
694 isn't specified.
695 - several fixes in the man pages.
696 - update the default tape device to /dev/st0.
697 - many updates for Linux Alpha (byte ordering, size_t etc).
698 - buffer overruns.
699 - use environment variable for TMPDIR (instead of /tmp).
700 - use sigjmp_buf instead of jmp_buf (RedHat bug #3260).
701 - workaround egcs bug (RedHat bugs #4281 and #2989).
702 - wire $(OPT) throughout Makefile's.
703
704 2. Upgrade the dump revision to 1, making possible to dump filesystems
705 made with e2fsprogs-1.15 or newer. Nothing seems to break...
706
707 3. Fix some compile warnings, prototype all functions.
708
709 4. Use glibc err/glob instead of internal compatibility
710 routines (only if available).
711
712 5. Fix a compile error on Linux 2.2.7 / libc5 (5.4.44) (patch provided
713 by Bernhard Sadlowski <sadlowsk@mathematik.uni-bielefeld.de>).
714
715 Changes between versions 0.4b4 and 0.4b5 (released September 22, 1999)
716 ======================================================================
717
718 1. Integrated the changes from FreeBSD-3.1-RELEASE
719 (mostly bug fixes, buffer overruns, dump has now an "automatic
720 tape length calculation" flag, dump/restore can use kerberos now
721 (this is NOT tested), use environment variables for TAPE and
722 RMT etc.).
723
724 2. Integrated three RedHat patches ("glibc", "kernel" and "bread" patches)
725
726 3. Corrected a bug in restore when using 'C' option with multi-volumes
727 tapes (files splited accros two tapes give "size changed" errors
728 when comparing).
729
730 4. Corrected the long standing bug when dumping multiple tapes.
731 This works for me, needs further testing.
732
733 Changes between versions 0.4b3 and 0.4b4 (released January 17, 1997)
734 ====================================================================
735
736 1. Dump now runs correctly on kernels 2.1.x
737 Fix made by Gerald Peters <gapeters@worldnet.att.net>
738
739 Changes between versions 0.4b2 and 0.4b3
740 ========================================
741
742 1. Use realpath() if available
743
744 2. Report statistics
745
746 Changes between versions 0.4b1 and 0.4b2
747 ========================================
748
749 1. Fixed the bug fix from Greg Lutz (I had made a mistake when integrating
750 the patch)
751
752 2. Fixed restore to make it able to read FreeBSD 2.x dumps again
753
754 3. Fixed configure.in to correctly handle --enable-rmt
755
756 Changes between versions 0.3 and 0.4b1
757 ======================================
758
759 1. Integrated the changes from 4.4BSD-Lite2
760
761 2. Integrated the patches from Debian and Red Hat
762
763 3. Portability changes: use the __u32, __u16, __s32, and __s16 types
764
765 4. Changed dump to use the Ext2fs library to get block addresses. This
766 should solve the endianness problem on SparcLinux.
767
768 5. Created a configure.in file (shamelessly stolen from the e2fsprogs
769 distribution's one) to use autoconf
770
771 6. Fixed a few minor bugs
772
773 Changes between versions 0.2e and 0.2f
774 ======================================
775
776 1. Added the creation of named pipes (fifos) in restore.
777
778 2. Added the -N flag in the restore manual page.
779
780 3. Added the file kernel.patch which contains the llseek() optimization
781 patch for 1.2.x kernels.
782
783 4. Fixed a bug in the restoration of symbolic links: owner and group were
784 not restored.
785
786 5. Integrated some changes from FreeBSD 2.2.
787
788 6. Added a call to ftruncate() after restoring each file to restore
789 correctly files ending by a hole.
790
791 Changes between versions 0.2d and 0.2e
792 ======================================
793
794 1. Fixed a bug in the "set owner/mode" process. Every file was restored
795 with owner = root (0) and group = root/wheel/whatever (0).
796
797 Changes between versions 0.2c and 0.2d
798 ======================================
799
800 1. Dump is now able to backup 2GB+ filesystems.
801
802 2. Dump and restore can now be linked as static binaries.
803
804 Changes between versions 0.2b and 0.2c
805 ======================================
806
807 1. Fixed a bug when dumping ``slow'' (i.e. normal) symbolic links.
808
809 Changes between versions 0.2a and 0.2b
810 ======================================
811
812 1. Really fixed the bug that I should have corrected in 0.2a.
813
814 2. Enabled optimization again.
815
816 Changes between versions 0.2 and 0.2a
817 =====================================
818
819 1. Disabled the optimization during compilation.
820
821 Changes between versions 0.1 and 0.2
822 ====================================
823
824 1. Fixed a bug in fstab.c which caused a null pointer to be stored in
825 the fs_type field (actually, I modified the file fstab.c to make it
826 use the mntent functions).
827
828 2. Dump and restore now use a 4.3 BSD compatible dump format. Backups
829 made by dump should be readable by the BSD restore and backups made
830 by the BSD dump should be readable by restore. Unfortunately, this
831 means that the dump format has changed between version 0.1 and version
832 0.2 :-(
833
834 3. Dump is now able to backup a subtree, it is no longer limited to whole
835 filesystems like the BSD version.
836
837 4. Dump now uses ext2_llseek() so it is able to backup filesystems bigger
838 than 2 GB.
839
840 Changes between versions 0.0 and 0.1
841 ====================================
842
843 1. Now create links rdump and rrestore during the `make install' step.
844
845 2. Linux port specific bugs added to the manual pages
846
847 3. Incorrect estimation of the number of tapes blocks fixed when doing
848 incremental backups.
849
850 4. Better ls-like format in restore in interactive mode.