1166065Spjd#!/bin/sh 2166065Spjd# $FreeBSD$ 3166065Spjd 4166065Spjddesc="open returns EACCES when O_TRUNC is specified and write permission is denied" 5166065Spjd 6166065Spjddir=`dirname $0` 7166065Spjd. ${dir}/../misc.sh 8166065Spjd 9166065Spjdecho "1..23" 10166065Spjd 11166065Spjdn0=`namegen` 12166065Spjdn1=`namegen` 13166065Spjd 14166065Spjdexpect 0 mkdir ${n0} 0755 15166065Spjdexpect 0 chown ${n0} 65534 65534 16166065Spjdcdir=`pwd` 17166065Spjdcd ${n0} 18166065Spjd 19166065Spjdexpect 0 -u 65534 -g 65534 create ${n1} 0644 20166065Spjd 21166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0477 22166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC 23166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0747 24166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC 25166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0774 26166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC 27166065Spjd 28166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0177 29166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC 30166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0717 31166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC 32166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0771 33166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC 34166065Spjd 35166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0077 36166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC 37166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0707 38166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC 39166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0770 40166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC 41166065Spjd 42166065Spjdexpect 0 -u 65534 -g 65534 unlink ${n1} 43166065Spjd 44166065Spjdcd ${cdir} 45166065Spjdexpect 0 rmdir ${n0} 46