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