-$Id: CHANGES,v 1.313 2010/06/10 12:17:35 stelian Exp $
+$Id: CHANGES,v 1.314 2010/06/11 09:51:59 stelian Exp $
Changes between versions 0.4b42 and 0.4b43 (released ?????????????)
===================================================================
Kieran Clancy <codebeard@users.sourceforge.net> for reporting the
bug (Sourceforge bug #2999207).
+12. Extract dumped UNIX sockets as dummy files, instead of not
+ restoring them at all. This will correct some warnings during
+ the restoration of incrementals, if the inodes previously occupied
+ by sockets gets reused by other files. See Sourceforge bug
+ #3007216 for details.
+
Changes between versions 0.4b41 and 0.4b42 (released June 18, 2009)
===================================================================
#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.96 2010/03/22 15:40:55 stelian Exp $";
+ "$Id: tape.c,v 1.97 2010/06/11 09:51:59 stelian Exp $";
#endif /* not lint */
#include <config.h>
return (FAIL);
case IFSOCK:
- Vprintf(stdout, "skipped socket %s\n", name);
+ {
+ uid_t luid = curfile.dip->di_uid;
+ gid_t lgid = curfile.dip->di_gid;
+
+ Vprintf(stdout, "extract socket as dummy file %s\n", name);
skipfile();
+ if (Nflag)
+ return (GOOD);
+ if (! (spcl.c_flags & DR_METAONLY)) {
+ int fd;
+ if (uflag)
+ (void)unlink(name);
+ if ((fd = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) {
+ warn("%s: cannot create dummy file", name);
+ return (FAIL);
+ }
+ close(fd);
+ }
+ (void) chown(name, luid, lgid);
+ (void) chmod(name, mode);
+ extractattr(name);
+ utimes(name, timep);
+ if (flags)
+#ifdef __linux__
+ (void) lsetflags(name, flags);
+#else
+#ifdef sunos
+ {
+ warn("%s: cannot call chflags", name);
+ /* (void) chflags(name, flags); */
+ }
+#else
+ (void) chflags(name, flags);
+#endif
+#endif
return (GOOD);
+ }
case IFDIR:
{