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