Hopefully the final patch!

Neither sockets nor pipes had their attributes verified correctly when
doing restore -C.
diff -urN dump-0.4b47.orig/restore/tape.c dump-0.4b47/restore/tape.c
--- dump-0.4b47.orig/restore/tape.c	2022-05-03 10:02:27.000000000 +0000
+++ dump-0.4b47/restore/tape.c	2022-05-03 10:02:27.000000000 +0000
@@ -1807,12 +1807,6 @@
 	uid = curfile.dip->di_uid;
 	gid =  curfile.dip->di_gid;
 
-	if ((mode & IFMT) == IFSOCK) {
-		Vprintf(stdout, "skipped socket %s\n", name);
-		skipfile();
-		return;
-	}
-
 	if ((r = lstat(name, &sb)) != 0) {
 		warn("unable to stat %s", name);
 		do_compare_error;
@@ -1859,13 +1853,12 @@
 	}
 	switch (mode & IFMT) {
 	default:
+		fprintf(stderr, "%s: unknown file mode 0%o\n", name, mode);
 		skipfile();
 		return;
 
 	case IFSOCK:
-		skipfile();
-		return;
-
+	case IFIFO:
 	case IFDIR:
 		skipfile();
 		compareattr(name);

Reply via email to