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