1166065Spjd#!/bin/sh
2166065Spjd# $FreeBSD$
3166065Spjd
4166065Spjddesc="chown returns EACCES when search permission is denied for a component of the path prefix"
5166065Spjd
6166065Spjddir=`dirname $0`
7166065Spjd. ${dir}/../misc.sh
8166065Spjd
9211410Spjdecho "1..18"
10166065Spjd
11166065Spjdn0=`namegen`
12166065Spjdn1=`namegen`
13166065Spjdn2=`namegen`
14166065Spjd
15166065Spjdexpect 0 mkdir ${n0} 0755
16166065Spjdcdir=`pwd`
17166065Spjdcd ${n0}
18166065Spjdexpect 0 mkdir ${n1} 0755
19166065Spjdexpect 0 chown ${n1} 65534 65534
20166065Spjdexpect 0 -u 65534 -g 65534 create ${n1}/${n2} 0644
21185227Spjdexpect 0 -u 65534 -g 65533,65534 -- chown ${n1}/${n2} -1 65533
22166065Spjdexpect 65534,65533 -u 65534 -g 65534 stat ${n1}/${n2} uid,gid
23166065Spjdexpect 0 chmod ${n1} 0644
24185227Spjdexpect EACCES -u 65534 -g 65533,65534 -- chown ${n1}/${n2} -1 65534
25211410Spjdexpect EACCES -u 65534 -g 65533,65534 -- lchown ${n1}/${n2} -1 65534
26166065Spjdexpect 0 chmod ${n1} 0755
27166065Spjdexpect 65534,65533 -u 65534 -g 65534 stat ${n1}/${n2} uid,gid
28185227Spjdexpect 0 -u 65534 -g 65533,65534 -- chown ${n1}/${n2} -1 65534
29166065Spjdexpect 65534,65534 -u 65534 -g 65534 stat ${n1}/${n2} uid,gid
30211410Spjdexpect 0 -u 65534 -g 65533,65534 -- lchown ${n1}/${n2} -1 65533
31211410Spjdexpect 65534,65533 -u 65534 -g 65533 stat ${n1}/${n2} uid,gid
32211410Spjdexpect 0 unlink ${n1}/${n2}
33166065Spjdexpect 0 rmdir ${n1}
34166065Spjdcd ${cdir}
35166065Spjdexpect 0 rmdir ${n0}
36