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