agent-getpeereid.sh revision 124208
1113908Sdes#	$OpenBSD: agent-getpeereid.sh,v 1.1 2002/12/09 16:05:02 markus Exp $
2113908Sdes#	Placed in the Public Domain.
3113908Sdes
4113908Sdestid="disallow agent attach from other uid"
5113908Sdes
6113908SdesUNPRIV=nobody
7113908SdesASOCK=${OBJ}/agent
8113908SdesSSH_AUTH_SOCK=/nonexistant
9113908Sdes
10124208Sdesif grep "#undef.*HAVE_GETPEEREID" ${BUILDDIR}/config.h >/dev/null 2>&1
11124208Sdesthen
12124208Sdes	echo "skipped (not supported on this platform)"
13124208Sdes	exit 0
14124208Sdesfi
15124208Sdes
16113908Sdestrace "start agent"
17113908Sdeseval `${SSHAGENT} -s -a ${ASOCK}` > /dev/null
18113908Sdesr=$?
19113908Sdesif [ $r -ne 0 ]; then
20113908Sdes	fail "could not start ssh-agent: exit code $r"
21113908Sdeselse
22113908Sdes	chmod 644 ${SSH_AUTH_SOCK}
23113908Sdes
24113908Sdes	ssh-add -l > /dev/null 2>&1
25113908Sdes	r=$?
26113908Sdes	if [ $r -ne 1 ]; then
27113908Sdes		fail "ssh-add failed with $r != 1"
28113908Sdes	fi
29113908Sdes
30113908Sdes	< /dev/null sudo -S -u ${UNPRIV} ssh-add -l > /dev/null 2>&1
31113908Sdes	r=$?
32113908Sdes	if [ $r -lt 2 ]; then
33113908Sdes		fail "ssh-add did not fail for ${UNPRIV}: $r < 2"
34113908Sdes	fi
35113908Sdes
36113908Sdes	trace "kill agent"
37113908Sdes	${SSHAGENT} -k > /dev/null
38113908Sdesfi
39113908Sdes
40113908Sdesrm -f ${OBJ}/agent
41