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);