summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2016-05-03 14:41:04 +0000
committerDamien Miller <djm@mindrot.org>2016-06-08 11:42:39 +1000
commit07d5608bb237e9b3fe86a2aeaa429392230faebf (patch)
treec3d0426a4a10c3037463f71ce4062ad73cb600de
parent01cabf10adc7676cba5f40536a34d3b246edb73f (diff)
upstream commit
support doas Upstream-Regress-ID: 8d5572b27ea810394eeda432d8b4e9e1064a7c38
-rw-r--r--regress/agent-getpeereid.sh25
1 files changed, 18 insertions, 7 deletions
diff --git a/regress/agent-getpeereid.sh b/regress/agent-getpeereid.sh
index d5ae2d6e..24b71f45 100644
--- a/regress/agent-getpeereid.sh
+++ b/regress/agent-getpeereid.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: agent-getpeereid.sh,v 1.5 2013/05/17 10:33:09 dtucker Exp $
+# $OpenBSD: agent-getpeereid.sh,v 1.6 2016/05/03 14:41:04 djm Exp $
# Placed in the Public Domain.
tid="disallow agent attach from other uid"
@@ -13,10 +13,16 @@ else
echo "skipped (not supported on this platform)"
exit 0
fi
-if [ -z "$SUDO" ]; then
- echo "skipped: need SUDO to switch to uid $UNPRIV"
- exit 0
-fi
+case "x$SUDO" in
+ xsudo) sudo=1;;
+ xdoas) ;;
+ x)
+ echo "need SUDO to switch to uid $UNPRIV"
+ exit 0 ;;
+ *)
+ echo "unsupported $SUDO - "doas" and "sudo" are allowed"
+ exit 0 ;;
+esac
trace "start agent"
eval `${SSHAGENT} -s -a ${ASOCK}` > /dev/null
@@ -31,8 +37,13 @@ else
if [ $r -ne 1 ]; then
fail "ssh-add failed with $r != 1"
fi
-
- < /dev/null ${SUDO} -S -u ${UNPRIV} ssh-add -l 2>/dev/null
+ if test -z "$sudo" ; then
+ # doas
+ ${SUDO} -n -u ${UNPRIV} ssh-add -l 2>/dev/null
+ else
+ # sudo
+ < /dev/null ${SUDO} -S -u ${UNPRIV} ssh-add -l 2>/dev/null
+ fi
r=$?
if [ $r -lt 2 ]; then
fail "ssh-add did not fail for ${UNPRIV}: $r < 2"