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