]> git.wh0rd.org - dump.git/blob - CHANGES
Specified the default blocksize in the dump manpage.
[dump.git] / CHANGES
1 $Id: CHANGES,v 1.70 2000/08/19 22:08:53 stelian Exp $
2
3 Changes between versions 0.4b17 and 0.4b19 (released ?????????????)
4 ===================================================================
5
6 1. Fixed the signal handling in dump (which I broke in 0.4b17)
7 which was causing several strange dump failures (dump
8 hanged or segmentation faults etc).
9
10 2. Specified the default blocksize in the dump man page.
11
12 Changes between versions 0.4b17 and 0.4b18 (released June 30, 2000)
13 ===================================================================
14
15 1. Fixed a potential buffer overflow in restore. Thanks
16 to Stan Bubrouski <satan@fastdial.net> for reporting
17 the bug.
18
19 2. Fixed a readline-related bug which prevented
20 'cat DUMPFILE | restore -i -f -' from working. Thanks
21 to Charles Karney <karney@users.sourceforge.net>
22 for the bug report.
23
24 3. Changed a few "panic" into "exit", causing restore to
25 be more stable against some attacks (like the last one
26 reported on Bugtraq, although the last version of restore
27 was not vulnerable - just dumped core). Thanks to
28 Andreas Hasenack <andreas@conectiva.com.br> for reporting
29 the bugs to me.
30
31 4. Removed the suid-root bit on dump and restore in the
32 default build (and generated RPMs). It should be safer
33 now. Users who need the suid-root capabilities in order
34 to make network backups should read first the man page
35 of dump and enable the suid bit manually.
36
37 5. Added -ltermcap to the compile parameters for restore
38 when using readline support, in order to make the compile
39 process work on some systems (SuSE ?). Thanks to
40 Patrik Schindler <poc@pocnet.net> for reporting the bug.
41
42 Changes between versions 0.4b16 and 0.4b17 (released June 1st, 2000)
43 ====================================================================
44
45 1. The -F script is called now *only* at the end of a tape,
46 not at the end of the dump. Thanks to Christian Haul
47 <haul@informatik.tu-darmstadt.de> for the bug report.
48
49 Normally, the device name and the current volume number
50 are passed on the command line of the script. However,
51 if you want the old style script (with no arguments
52 passed on the command line), you can enable it in
53 configure with the --enable-oldstylefscript.
54
55 2. Use posix signal handling to preserve dump functionality
56 with libc5. Thanks to Jeff Johnson <jbj@redhat.com> for
57 the patch.
58
59 3. Made the exit code of restore in case of a 'C'ompare
60 command reflect the result of the compare. An exit status
61 of 0 means the dump archive is correct, 1 means tape errors,
62 2 means that some files were modified. Thanks to Kenneth Porter
63 <shiva@well.com> for the suggestion.
64
65 4. Made (finally) quotes work in interactive restore.
66
67 5. Small fixes in order to allow dump to compile with a
68 really old e2fsprogs version. Thanks to Ian Zimmerman
69 <itz@speakeasy.org> for the bug report.
70
71 6. Add GNU readline capabilities to interactive restore.
72 Use configure's --enable-readline flag to enable this feature.
73 Thanks to Patrik Schindler <poc@pocnet.net> for the
74 suggestion.
75
76 7. Do the compare on the fly in restore 'C' mode (this will
77 allow not to exhaust the available /tmp space when
78 ccmparing large files). Thanks to Kenneth Porter
79 <shiva@well.com> for the suggestion.
80
81 Changes between versions 0.4b15 and 0.4b16 (released March 11, 2000)
82 ====================================================================
83
84 1. Fixed some several duplicate 'DUMP: DUMP:' in the
85 output of dump.
86
87 2. Corrected the estimation of blocks to dump. Note that
88 this is still wrong for large directory inodes, due
89 to the size of a BSD directory entry on the tape
90 (estimation is based on the size of the ext2 directory,
91 which is smaller because it doesn't contain the null
92 character at the end).
93
94 3. Made dump report the total number of MB written to
95 tape at the end of run. Thanks to W. Reilly Cooley
96 <wcooley@nakedape.cc> for the patch.
97
98 4. Added the -X option to restore giving the possibility
99 to read the names of the files to be extracted/listed
100 from a text file (in addition of the command line).
101 Thanks to Dejan Muhamedagic <dejan@quant-x.com> for the
102 patch.
103
104 5. Added the device name and the current volume number
105 as arguments to the end of tape script (dump -F option).
106
107 6. Made the multi-volume dump work again (after having
108 broken it in 0.4b15).
109
110 Changes between versions 0.4b14 and 0.4b15 (released March 2, 2000)
111 ===================================================================
112
113 1. Added a prompt command in interactive restore mode. Thanks
114 to Andreas Dilger <adilger@home.com> for the patch.
115
116 2. Fixed a buffer overflow problem in dump (caused by
117 not checking the size of the filesystem parameter).
118 Thanks to Kim Yong-jun <loveyou@hackerslab.org> for
119 reporting this on Bugtraq (and to several dump users
120 who forwarded me his mail).
121
122 3. Added the '-F script' option to dump in order to
123 launch a script at the end of each tape (to be used
124 with a tape changer, or to notify the sysadmin by
125 pager etc.).
126
127 4. Fixed a bug in restore compare code caused by the changes
128 I made in 0.4b14.
129
130 5. Fixed the treatment of options using the old BSD syntax
131 in both dump and restore.
132
133 Changes between versions 0.4b13 and 0.4b14 (released February 10, 2000)
134 =======================================================================
135
136 1. Fixed a bug in dump which may have caused invalid deleted
137 directories to be dumped out if they were deleted after the
138 mapping pass. This could occure on active filesystem and lead
139 to heap corruption (causing dump malfunction in many possible ways).
140 Thanks to Jan Sanislo <oystr@cs.washington.edu> for finding this
141 bug and submitting the patch.
142
143 2. Fixed the handling of the filesystem parameter in dump. A
144 '/mnt/disk' parameter caused the disk contents to be dumped,
145 but a '/mnt/disk/' parameter caused the mountpoint directory
146 to be dumped (generally an empty directory).
147
148 3. Improved the output of dump in order to tell which directory
149 it is currently dumping (when dumping a subtree).
150
151 4. Added the '-e' exclude inode option to dump. Thanks to
152 Isaac Chuang <ike@isl.stanford.edu> for contributing with the patch.
153
154 5. Added a REPORTING-BUGS file in order to provide a guide
155 on how to correctly report a bug in dump/restore.
156
157 6. Fixed a restore problem when restoring a hard link to an inode
158 having the immutable or append-only attribute set. Thanks to
159 Ambrose Li <acli@mingpaoxpress.com> for submitting the patch.
160
161 7. Fixed a compatibility problem between dumps made on little
162 endian machines (the format was correct) and big endian
163 machines (the format was incorrect). This fix break the
164 compatibility with the older dumps made on big endian
165 machines (sparc, m86k, ppc etc). For the first time in
166 linux dump's history (I believe), the dumps made by *BSD,
167 Linux/alpha, Linux/sparc and Linux/x86 are compatible,
168 so interchangeable. Thanks to Rob Cermak
169 <cermak@ahab.rutgers.edu> for submitting the bug and
170 helping me test the fix.
171
172 8. Fixed the way dump reports the remaining percent/time, if
173 the number of blocks actually dumped exceeds the estimated
174 number of blocks. Thanks to Jean-Paul van der Jagt
175 <jeanpaul@dutepp0.et.tudelft.nl> for reporting the bug.
176
177 Changes between versions 0.4b12 and 0.4b13 (released January 21, 2000)
178 ======================================================================
179
180 1. Small Y2K fix in the man pages :). Thanks to Bernhard Sadlowski
181 <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug.
182
183 2. Removed the requirement to build the RPM as root from the
184 spec file. Thanks to Christian Weisgerber
185 <naddy@mips.rhein-neckar.de> for submitting this.
186
187 3. Fixed a bug in dump related to the 'filetype' feature of ext2fs,
188 causing dump to block when dumping really huge filesystems.
189 Many thanks to Patrik Schindler <poc@pocnet.net> for
190 helping me find this bug.
191
192 4. Fixed the treatment for an interrupt signal when dump access
193 the remote tape through RSH. Thanks to Christian Weisgerber
194 <naddy@mips.rhein-neckar.de> for providing the patch.
195
196 5. Fixed a bug which was causing dump/restore to display
197 garbage characters instead of the remote host name.
198
199 Changes between versions 0.4b11 and 0.4b12 (released January 8, 2000)
200 =====================================================================
201
202 1. Small fix in the dump man page. Thanks to Thorsten Kukuk
203 <kukuk@suse.de> for submitting the patch.
204
205 2. Fix for the exit code when using the size estimate option of
206 dump. Thanks to Matti Taskinen <mkt@rni.helsinki.fi> for
207 submitting the patch.
208
209 3. Handle EINTR in atomical reads/writes in dump, which was causing
210 dump to fail on some systems. Thanks to Eric Jergensen
211 <eric@dvns.com> for reporting the bug and submitting the patch.
212
213 4. Handle more than 16 characters for the device names in dumpdates.
214 (up to 255 now). Thanks to Rainer Clasen <bj@ncc.cicely.de> for
215 tracking down the problem and proposing the solution.
216
217 5. Fixed a bug in dump which prevented the creation of the
218 dumpdates file when doing a 0-level dump without already
219 having a dumpdates file. Thanks to Patrik Schindler
220 <poc@pocnet.net> for reporting the bug.
221
222 6. Changed the way dump 'S' flag reports the size estimate
223 from number of blocks into bytes (making it compatible
224 with the Solaris version, and simplifying things for
225 amanda users). Thanks to Jason L Tibbitts III
226 <tibbs@math.uh.edu> for reporting the bug.
227
228 7. Fixed a compatibility problem in linux/alpha dump tape format.
229 Now the linux/alpha dump are (again) compatible with the
230 other dump formats. But this breaks compatibility with
231 older dumps made on alpha. Thanks to Mike Tibor
232 <tibor@lib.uaa.alaska.edu> for helping me in finding this bug.
233
234 Changes between versions 0.4b10 and 0.4b11 (released December 5, 1999)
235 ======================================================================
236
237 1. Added a '--enable-kerberos' to configure.
238
239 2. Added a 'S' option to dump which determines the amount of space
240 that is needed to perform the dump without actually doing it, similar
241 to the Sun's ufsdump 'S' option. Patch contributed by Rob Cermak
242 <cermak@ahab.rutgers.edu>.
243
244 3. Added a 'M' multi-volume option to dump and restore which enables
245 dumping to multiple files (useful when dumping to an ext2
246 partition to make several dump files in order to bypass the 2GB
247 file size limitation). The 'f' argument is treated as a prefix and
248 the output files will be named <prefix>001, <prefix>002 etc. With
249 the 'M' flag, restore automatically selects the right file without
250 asking to enter a new tape each time.
251
252 4. Fixed a memory leak which was causing dump to grow very big
253 (270MB when dumping a 10GB filesystem...). Thanks to Jason
254 Fearon <jasonf@netrider.org.au> for reporting the bug.
255
256 Changes between versions 0.4b9 and 0.4b10 (released November 21, 1999)
257 ======================================================================
258
259 1. Make configure test if the system glob routines support
260 extended syntax (ALTDIRFUNC). If not, use the internal glob
261 routines instead of system ones. Thanks to Bernhard Sadlowski
262 <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug
263 and helping me resolve this and other minor libc5 compiling
264 glitches.
265
266 2. Fix a problem when dumping a ext2fs with the 'filetype'
267 feature enabled. Thanks to Patrick J. LoPresti
268 <patl@cag.lcs.mit.edu> for reporting the bug and to
269 Theodore Y. Ts'o <tytso@mit.edu> for providing the patch.
270
271 3. Made the nodump flag work on directories. A directory which
272 has the nodump flag gets never dumped, regardless of its
273 contents.
274
275 4. Integrate a patch from Jeremy Fitzhardinge <jeremy@goop.org>
276 which allows dump on an active ext3 filesystem. However, this
277 is a "quick and dirty" patch which enables backup of an ext3
278 filesystem through the ext2 compatibility (by ignoring the
279 NEEDS_RECOVERY bit). The journal file is not recognized and
280 it is dumped (it should not).
281
282 5. Test the superblock compatibility flags when dumping, in order
283 to be sure that we know how to deal with specific features.
284
285 Changes between versions 0.4b8 and 0.4b9 (released November 5, 1999)
286 ====================================================================
287
288 1. Use lchown instead of chown, fixing a possible security problem
289 when restoring symlinks (a malicious user could use this
290 to deliberately corrupt the ownership of important system files).
291 Thanks to Chris Siebenmann <cks@utcc.utoronto.ca> for detecting
292 this and providing the patch.
293
294 Changes between versions 0.4b7 and 0.4b8 (released November 3, 1999)
295 ====================================================================
296
297 1. Put dump sources under CVS, added Id tags in all files so
298 one can use 'ident' on binary files.
299
300 2. Added the dump/restore version in the usage text so one can
301 easily verify the version he is using.
302
303 3. Small patch from Nuno Oliveira <nuno@eq.uc.pt> which fixes
304 a va_start/va_end problem on linux-ppc (always call va_start
305 va_end in pairs each time we use a vararg function).
306
307 4. Added again the DT_* constants because old libc does not
308 contain them :(. Thanks to Eric Maisonobe <virnet@nat.fr>
309 for submitting the bug report.
310
311 5. Use ext2fs_llseek instead of llseek. With recent e2fsprogs
312 this should enable dumping big (huge) filesystems.
313
314 6. Added the RSH environment variable in order to be able to
315 use a rsh replacement like ssh when doing remote backups (and
316 bypass the security limitations of rcmd). Now you can do remote
317 backups without being root (or making dump setuid root).
318
319 7. Modified again the way dumpdates works. For incremental dumps,
320 we need to read dumpdates even if we are not using 'u' option.
321 Thanks to Bdale Garbee <bdale@gag.com> for his ideas on how
322 this should work.
323
324 Changes between versions 0.4b6 and 0.4b7 (released October 8, 1999)
325 ===================================================================
326
327 1. Removed the 'k' flag from the restore 'about' text if kerberos
328 was not compiled in.
329
330 2. Prototyped (f)setflags from e2fsprogs and corrected the calls
331 to them (fsetflags takes a char*, setflags an open fd!).
332
333 3. (f)setflags is called only if the flags aren't empty. If the
334 file is a special file, a warning is printed, because changing
335 flags implies opening the device. Normally, a special file
336 should not have any flag... (Debian bug #29775, patch provided
337 by Abhijit Dasgupta <abhijit@ans.net>).
338
339 4. Made possible to dump a file system not mentioned in /etc/fstab.
340 (Debian bug #11904, patch provided by Eirik Fuller <eirik@netcom.com>).
341
342 5. Changed the default behaviour to not create dumpdates
343 unless 'u' option is specified. Removed the old "debian-patch"
344 which provided the same thing. (Debian bug #38136, #33818).
345
346 6. Removed all those dump*announce, since they were getting old...
347
348 7. Added warning messages if dumpdates does not exist and
349 when an inferior level dump does not exist (except for a level 0
350 dump).
351
352 8. Debugged the glob calls in interactive mode: restore used a
353 dirent struct which was different from the /usr/include/dirent.h
354 one (this used to work, is it a glibc2 change?), so none of the
355 compat glob (which used /usr/include/dirent.h) or the system glob
356 worked. Restore use now the system dirent (and the system
357 DT_* constants), which are compatible with BSD ones.
358
359 9. Added a configure flag (--with-dumpdatespath) to specify
360 the location of dumpdates file. By default, it is
361 /etc/dumpdates.
362
363 10. Added the "AUTHOR" and "AVAILABILITY" sections and
364 included the current date/version in man pages.
365
366 11. Corrected the estimation of remaining time when
367 the operator doesn't change the tapes quickly enough. This
368 was an old bug, I thought I corrected it, and discovered
369 that in fact it was corrected in two different places, so
370 the results canceled each other...
371
372 Changes between versions 0.4b5 and 0.4b6 (released October 1, 1999)
373 ===================================================================
374
375 1. Integrated multiple patches from RedHat, Debian and SuSE:
376
377 - tweak dump/itime.c to not try to read dumpdates if the 'u' option
378 isn't specified.
379 - several fixes in the man pages.
380 - update the default tape device to /dev/st0.
381 - many updates for Linux Alpha (byte ordering, size_t etc).
382 - buffer overruns.
383 - use environment variable for TMPDIR (instead of /tmp).
384 - use sigjmp_buf instead of jmp_buf (RedHat bug #3260).
385 - workaround egcs bug (RedHat bugs #4281 and #2989).
386 - wire $(OPT) throughout Makefile's.
387
388 2. Upgrade the dump revision to 1, making possible to dump filesystems
389 made with e2fsprogs-1.15 or newer. Nothing seems to break...
390
391 3. Fix some compile warnings, prototype all functions.
392
393 4. Use glibc err/glob instead of internal compatibility
394 routines (only if available).
395
396 5. Fix a compile error on Linux 2.2.7 / libc5 (5.4.44) (patch provided
397 by Bernhard Sadlowski <sadlowsk@mathematik.uni-bielefeld.de>).
398
399 Changes between versions 0.4b4 and 0.4b5 (released September 22, 1999)
400 ======================================================================
401
402 1. Integrated the changes from FreeBSD-3.1-RELEASE
403 (mostly bug fixes, buffer overruns, dump has now an "automatic
404 tape length calculation" flag, dump/restore can use kerberos now
405 (this is NOT tested), use environment variables for TAPE and
406 RMT etc.).
407
408 2. Integrated three RedHat patches ("glibc", "kernel" and "bread" patches)
409
410 3. Corrected a bug in restore when using 'C' option with multi-volumes
411 tapes (files splited accros two tapes give "size changed" errors
412 when comparing).
413
414 4. Corrected the long standing bug when dumping multiple tapes.
415 This works for me, needs further testing.
416
417 Changes between versions 0.4b3 and 0.4b4 (released January 17, 1997)
418 ====================================================================
419
420 1. Dump now runs correctly on kernels 2.1.x
421 Fix made by Gerald Peters <gapeters@worldnet.att.net>
422
423 Changes between versions 0.4b2 and 0.4b3
424 ========================================
425
426 1. Use realpath() if available
427
428 2. Report statistics
429
430 Changes between versions 0.4b1 and 0.4b2
431 ========================================
432
433 1. Fixed the bug fix from Greg Lutz (I had made a mistake when integrating
434 the patch)
435
436 2. Fixed restore to make it able to read FreeBSD 2.x dumps again
437
438 3. Fixed configure.in to correctly handle --enable-rmt
439
440 Changes between versions 0.3 and 0.4b1
441 ======================================
442
443 1. Integrated the changes from 4.4BSD-Lite2
444
445 2. Integrated the patches from Debian and Red Hat
446
447 3. Portability changes: use the __u32, __u16, __s32, and __s16 types
448
449 4. Changed dump to use the Ext2fs library to get block addresses. This
450 should solve the endianness problem on SparcLinux.
451
452 5. Created a configure.in file (shamelessly stolen from the e2fsprogs
453 distribution's one) to use autoconf
454
455 6. Fixed a few minor bugs
456
457 Changes between versions 0.2e and 0.2f
458 ======================================
459
460 1. Added the creation of named pipes (fifos) in restore.
461
462 2. Added the -N flag in the restore manual page.
463
464 3. Added the file kernel.patch which contains the llseek() optimization
465 patch for 1.2.x kernels.
466
467 4. Fixed a bug in the restoration of symbolic links: owner and group were
468 not restored.
469
470 5. Integrated some changes from FreeBSD 2.2.
471
472 6. Added a call to ftruncate() after restoring each file to restore
473 correctly files ending by a hole.
474
475 Changes between versions 0.2d and 0.2e
476 ======================================
477
478 1. Fixed a bug in the "set owner/mode" process. Every file was restored
479 with owner = root (0) and group = root/wheel/whatever (0).
480
481 Changes between versions 0.2c and 0.2d
482 ======================================
483
484 1. Dump is now able to backup 2GB+ filesystems.
485
486 2. Dump and restore can now be linked as static binaries.
487
488 Changes between versions 0.2b and 0.2c
489 ======================================
490
491 1. Fixed a bug when dumping ``slow'' (i.e. normal) symbolic links.
492
493 Changes between versions 0.2a and 0.2b
494 ======================================
495
496 1. Really fixed the bug that I should have corrected in 0.2a.
497
498 2. Enabled optimization again.
499
500 Changes between versions 0.2 and 0.2a
501 =====================================
502
503 1. Disabled the optimization during compilation.
504
505 Changes between versions 0.1 and 0.2
506 ====================================
507
508 1. Fixed a bug in fstab.c which caused a null pointer to be stored in
509 the fs_type field (actually, I modified the file fstab.c to make it
510 use the mntent functions).
511
512 2. Dump and restore now use a 4.3 BSD compatible dump format. Backups
513 made by dump should be readable by the BSD restore and backups made
514 by the BSD dump should be readable by restore. Unfortunately, this
515 means that the dump format has changed between version 0.1 and version
516 0.2 :-(
517
518 3. Dump is now able to backup a subtree, it is no longer limited to whole
519 filesystems like the BSD version.
520
521 4. Dump now uses ext2_llseek() so it is able to backup filesystems bigger
522 than 2 GB.
523
524 Changes between versions 0.0 and 0.1
525 ====================================
526
527 1. Now create links rdump and rrestore during the `make install' step.
528
529 2. Linux port specific bugs added to the manual pages
530
531 3. Incorrect estimation of the number of tapes blocks fixed when doing
532 incremental backups.
533
534 4. Better ls-like format in restore in interactive mode.