Deleted Added
full compact
11.t (185173) 11.t (211180)
1#!/bin/sh
1#!/bin/sh
2# $FreeBSD: head/tools/regression/fstest/tests/chflags/11.t 185173 2008-11-22 13:27:15Z pjd $
2# $FreeBSD: head/tools/regression/fstest/tests/chflags/11.t 211180 2010-08-11 16:34:44Z pjd $
3
4desc="chflags returns EPERM if a user tries to set or remove the SF_SNAPSHOT flag"
5
6dir=`dirname $0`
7. ${dir}/../misc.sh
8
9require chflags_SF_SNAPSHOT
10
3
4desc="chflags returns EPERM if a user tries to set or remove the SF_SNAPSHOT flag"
5
6dir=`dirname $0`
7. ${dir}/../misc.sh
8
9require chflags_SF_SNAPSHOT
10
11echo "1..46"
11echo "1..158"
12
13n0=`namegen`
14n1=`namegen`
15n2=`namegen`
16
17expect 0 mkdir ${n0} 0755
18cdir=`pwd`
19cd ${n0}
20
12
13n0=`namegen`
14n1=`namegen`
15n2=`namegen`
16
17expect 0 mkdir ${n0} 0755
18cdir=`pwd`
19cd ${n0}
20
21expect 0 create ${n1} 0644
22expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
23expect none stat ${n1} flags
24expect EPERM chflags ${n1} SF_SNAPSHOT
25expect none stat ${n1} flags
26expect 0 chown ${n1} 65534 65534
27expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
28expect none stat ${n1} flags
29expect EPERM chflags ${n1} SF_SNAPSHOT
30expect none stat ${n1} flags
31expect 0 unlink ${n1}
21for type in regular dir fifo block char socket symlink; do
22 if [ "${type}" != "symlink" ]; then
23 create_file ${type} ${n1} 0 0
24 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
25 expect none stat ${n1} flags
26 expect EPERM chflags ${n1} SF_SNAPSHOT
27 expect none stat ${n1} flags
28 expect 0 chown ${n1} 65534 65534
29 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
30 expect none stat ${n1} flags
31 expect EPERM chflags ${n1} SF_SNAPSHOT
32 expect none stat ${n1} flags
33 if [ "${type}" = "dir" ]; then
34 expect 0 rmdir ${n1}
35 else
36 expect 0 unlink ${n1}
37 fi
38 fi
32
39
33expect 0 mkdir ${n1} 0644
34expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
35expect none stat ${n1} flags
36expect EPERM chflags ${n1} SF_SNAPSHOT
37expect none stat ${n1} flags
38expect 0 chown ${n1} 65534 65534
39expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
40expect none stat ${n1} flags
41expect EPERM chflags ${n1} SF_SNAPSHOT
42expect none stat ${n1} flags
43expect 0 rmdir ${n1}
40 create_file ${type} ${n1} 0 0
41 expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT
42 expect none lstat ${n1} flags
43 expect EPERM lchflags ${n1} SF_SNAPSHOT
44 expect none lstat ${n1} flags
45 expect 0 lchown ${n1} 65534 65534
46 expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT
47 expect none lstat ${n1} flags
48 expect EPERM lchflags ${n1} SF_SNAPSHOT
49 expect none lstat ${n1} flags
50 if [ "${type}" = "dir" ]; then
51 expect 0 rmdir ${n1}
52 else
53 expect 0 unlink ${n1}
54 fi
55done
44
56
45expect 0 mkfifo ${n1} 0644
46expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
47expect none stat ${n1} flags
48expect EPERM chflags ${n1} SF_SNAPSHOT
49expect none stat ${n1} flags
50expect 0 chown ${n1} 65534 65534
51expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
52expect none stat ${n1} flags
53expect EPERM chflags ${n1} SF_SNAPSHOT
54expect none stat ${n1} flags
55expect 0 unlink ${n1}
56
57expect 0 symlink ${n2} ${n1}
58expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT
59expect none lstat ${n1} flags
60expect EPERM lchflags ${n1} SF_SNAPSHOT
61expect none lstat ${n1} flags
62expect 0 lchown ${n1} 65534 65534
63expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT
64expect none lstat ${n1} flags
65expect EPERM lchflags ${n1} SF_SNAPSHOT
66expect none lstat ${n1} flags
67expect 0 unlink ${n1}
68
69cd ${cdir}
70expect 0 rmdir ${n0}
57cd ${cdir}
58expect 0 rmdir ${n0}