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