1166065Spjd#!/bin/sh
2166065Spjd# $FreeBSD$
3166065Spjd
4166065Spjddesc="rename returns EACCES when the requested link requires writing in a directory with a mode that denies write permission"
5166065Spjd
6166065Spjddir=`dirname $0`
7166065Spjd. ${dir}/../misc.sh
8166065Spjd
9166065Spjdecho "1..17"
10166065Spjd
11166065Spjdn0=`namegen`
12166065Spjdn1=`namegen`
13166065Spjdn2=`namegen`
14166065Spjdn3=`namegen`
15166065Spjdn4=`namegen`
16166065Spjd
17166065Spjdexpect 0 mkdir ${n0} 0755
18166065Spjdcdir=`pwd`
19166065Spjdcd ${n0}
20166065Spjd
21166065Spjdexpect 0 mkdir ${n1} 0755
22166065Spjdexpect 0 chown ${n1} 65534 65534
23166065Spjdexpect 0 mkdir ${n2} 0755
24166065Spjdexpect 0 chown ${n2} 65534 65534
25166065Spjdexpect 0 -u 65534 -g 65534 create ${n1}/${n3} 0644
26166065Spjd
27166065Spjdexpect 0 -u 65534 -g 65534 rename ${n1}/${n3} ${n2}/${n4}
28166065Spjdexpect 0 -u 65534 -g 65534 rename ${n2}/${n4} ${n1}/${n3}
29166065Spjd
30166065Spjdexpect 0 chmod ${n2} 0555
31166065Spjdexpect EACCES -u 65534 -g 65534 rename ${n1}/${n3} ${n2}/${n4}
32166065Spjdexpect 0 chmod ${n1} 0555
33166065Spjdexpect EACCES -u 65534 -g 65534 rename ${n1}/${n3} ${n1}/${n4}
34166065Spjdexpect 0 chmod ${n1} 0755
35166065Spjd
36166065Spjdexpect 0 unlink ${n1}/${n3}
37166065Spjdexpect 0 rmdir ${n1}
38166065Spjdexpect 0 rmdir ${n2}
39166065Spjd
40166065Spjdcd ${cdir}
41166065Spjdexpect 0 rmdir ${n0}
42