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