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