mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-19 10:53:58 +00:00
Test for EACCES also when opening FIFO or directory.
This commit is contained in:
parent
482fdb1334
commit
ce2decb660
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=210955
@ -6,7 +6,7 @@ desc="open returns EACCES when the required permissions (for reading and/or writ
|
||||
dir=`dirname $0`
|
||||
. ${dir}/../misc.sh
|
||||
|
||||
echo "1..65"
|
||||
echo "1..144"
|
||||
|
||||
n0=`namegen`
|
||||
n1=`namegen`
|
||||
@ -16,47 +16,104 @@ expect 0 chown ${n0} 65534 65534
|
||||
cdir=`pwd`
|
||||
cd ${n0}
|
||||
|
||||
# Regular file.
|
||||
|
||||
expect 0 -u 65534 -g 65534 create ${n1} 0644
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0600
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDWR
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY,
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0060
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDWR
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY,
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0006
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDWR
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY,
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDWR,
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0477
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0747
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0774
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR,
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0277
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0727
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0772
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR,
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0177
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0717
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0771
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR,
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0077
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0707
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR,
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0770
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY,
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR,
|
||||
|
||||
expect 0 -u 65534 -g 65534 unlink ${n1}
|
||||
|
||||
# FIFO.
|
||||
|
||||
expect 0 -u 65534 -g 65534 mkfifo ${n1} 0644
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0600
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDWR,O_NONBLOCK
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0060
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDWR,O_NONBLOCK
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0006
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,O_NONBLOCK
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDWR,O_NONBLOCK
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0477
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0747
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0774
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,O_NONBLOCK
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0277
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0727
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0772
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0177
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
|
||||
@ -85,5 +142,46 @@ expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
|
||||
|
||||
expect 0 -u 65534 -g 65534 unlink ${n1}
|
||||
|
||||
# Directory.
|
||||
|
||||
expect 0 -u 65534 -g 65534 mkdir ${n1} 0755
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0600
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0060
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0006
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0477
|
||||
expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0747
|
||||
expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0774
|
||||
expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0277
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0727
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0772
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0177
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0717
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0771
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
|
||||
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0077
|
||||
expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0707
|
||||
expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
|
||||
expect 0 -u 65534 -g 65534 chmod ${n1} 0770
|
||||
expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
|
||||
|
||||
expect 0 -u 65534 -g 65534 rmdir ${n1}
|
||||
|
||||
cd ${cdir}
|
||||
expect 0 rmdir ${n0}
|
||||
|
Loading…
Reference in New Issue
Block a user