|
@@ -0,0 +1,63 @@
|
|
|
+#! /bin/sh
|
|
|
+# Unreadable directories yielded error despite --ignore-failed-read.
|
|
|
+
|
|
|
+. ./preset
|
|
|
+. $srcdir/before
|
|
|
+
|
|
|
+> check-uid
|
|
|
+set - x`ls -l check-uid`
|
|
|
+if test $3 = root; then
|
|
|
+
|
|
|
+ # The test is meaningless for super-user.
|
|
|
+ rm check-uid
|
|
|
+
|
|
|
+else
|
|
|
+
|
|
|
+ touch file
|
|
|
+ mkdir directory
|
|
|
+ touch directory/file
|
|
|
+
|
|
|
+ echo 1>&2 -----
|
|
|
+ chmod 000 file
|
|
|
+ tar cf archive file
|
|
|
+ status=$?
|
|
|
+ chmod 600 file
|
|
|
+ test $status = 2 || exit 1
|
|
|
+
|
|
|
+ echo 1>&2 -----
|
|
|
+ chmod 000 file
|
|
|
+ tar cf archive --ignore-failed-read file || exit 1
|
|
|
+ status=$?
|
|
|
+ chmod 600 file
|
|
|
+ test $status = 0 || exit 1
|
|
|
+
|
|
|
+ echo 1>&2 -----
|
|
|
+ chmod 000 directory
|
|
|
+ tar cf archive directory
|
|
|
+ status=$?
|
|
|
+ chmod 700 directory
|
|
|
+ test $status = 2 || exit 1
|
|
|
+
|
|
|
+ echo 1>&2 -----
|
|
|
+ chmod 000 directory
|
|
|
+ tar cf archive --ignore-failed-read directory || exit 1
|
|
|
+ status=$?
|
|
|
+ chmod 700 directory
|
|
|
+ test $status = 0 || exit 1
|
|
|
+
|
|
|
+ err="\
|
|
|
+-----
|
|
|
+tar: Cannot add file file: Permission denied
|
|
|
+tar: Error exit delayed from previous errors
|
|
|
+-----
|
|
|
+tar: Cannot add file file: Permission denied
|
|
|
+-----
|
|
|
+tar: Cannot add directory directory: Permission denied
|
|
|
+tar: Error exit delayed from previous errors
|
|
|
+-----
|
|
|
+tar: Cannot add directory directory: Permission denied
|
|
|
+"
|
|
|
+
|
|
|
+fi
|
|
|
+
|
|
|
+. $srcdir/after
|