blob: d5ae2d6e27833914c8335c5a721e6f3e5be044bf [file] [log] [blame]
Darren Tucker62ee2222013-05-17 20:46:00 +10001# $OpenBSD: agent-getpeereid.sh,v 1.5 2013/05/17 10:33:09 dtucker Exp $
Damien Miller8b9cde72003-01-22 17:53:16 +11002# Placed in the Public Domain.
3
4tid="disallow agent attach from other uid"
5
6UNPRIV=nobody
7ASOCK=${OBJ}/agent
Damien Millerd666d8e2008-03-12 23:58:55 +11008SSH_AUTH_SOCK=/nonexistent
Damien Miller8b9cde72003-01-22 17:53:16 +11009
Tim Rice6dfcd342011-01-16 22:53:56 -080010if config_defined HAVE_GETPEEREID HAVE_GETPEERUCRED HAVE_SO_PEERCRED ; then
11 :
12else
Darren Tucker2297ac42003-09-04 13:49:30 +100013 echo "skipped (not supported on this platform)"
14 exit 0
15fi
Damien Miller7b1877c2006-07-24 15:31:41 +100016if [ -z "$SUDO" ]; then
17 echo "skipped: need SUDO to switch to uid $UNPRIV"
18 exit 0
19fi
20
Damien Miller8b9cde72003-01-22 17:53:16 +110021trace "start agent"
22eval `${SSHAGENT} -s -a ${ASOCK}` > /dev/null
23r=$?
24if [ $r -ne 0 ]; then
25 fail "could not start ssh-agent: exit code $r"
26else
27 chmod 644 ${SSH_AUTH_SOCK}
28
29 ssh-add -l > /dev/null 2>&1
30 r=$?
31 if [ $r -ne 1 ]; then
32 fail "ssh-add failed with $r != 1"
33 fi
34
Damien Miller1ccbfa82011-01-17 11:52:40 +110035 < /dev/null ${SUDO} -S -u ${UNPRIV} ssh-add -l 2>/dev/null
Damien Miller8b9cde72003-01-22 17:53:16 +110036 r=$?
37 if [ $r -lt 2 ]; then
38 fail "ssh-add did not fail for ${UNPRIV}: $r < 2"
39 fi
40
41 trace "kill agent"
42 ${SSHAGENT} -k > /dev/null
43fi
44
45rm -f ${OBJ}/agent