Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 1 | # $OpenBSD: agent-ptrace.sh,v 1.1 2002/12/09 15:38:30 markus Exp $ |
| 2 | # Placed in the Public Domain. |
| 3 | |
| 4 | tid="disallow agent ptrace attach" |
| 5 | |
Darren Tucker | 5569759 | 2003-09-04 13:55:25 +1000 | [diff] [blame] | 6 | if [ -x `which uname 2>&1` ]; then |
| 7 | case `uname` in |
Darren Tucker | 77d07e9 | 2003-09-04 22:06:16 +1000 | [diff] [blame^] | 8 | Linux|HP-UX|SunOS|NetBSD|AIX|CYGWIN*) |
| 9 | echo "skipped (not supported on this platform)" |
Darren Tucker | 5569759 | 2003-09-04 13:55:25 +1000 | [diff] [blame] | 10 | exit 0 |
| 11 | ;; |
| 12 | esac |
| 13 | fi |
| 14 | |
| 15 | if [ ! -x `which gdb 2>&1` ]; then |
| 16 | echo "skipped (gdb not found)" |
| 17 | exit 0 |
| 18 | fi |
| 19 | |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 20 | trace "start agent" |
| 21 | eval `${SSHAGENT} -s` > /dev/null |
| 22 | r=$? |
| 23 | if [ $r -ne 0 ]; then |
| 24 | fail "could not start ssh-agent: exit code $r" |
| 25 | else |
| 26 | # ls -l ${SSH_AUTH_SOCK} |
| 27 | gdb ${SSHAGENT} ${SSH_AGENT_PID} > ${OBJ}/gdb.out 2>&1 << EOF |
| 28 | quit |
| 29 | EOF |
| 30 | if [ $? -ne 0 ]; then |
| 31 | fail "gdb failed: exit code $?" |
| 32 | fi |
Darren Tucker | 58f89bc | 2003-09-04 15:07:59 +1000 | [diff] [blame] | 33 | grep 'ptrace: Operation not permitted.' >/dev/null ${OBJ}/gdb.out |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 34 | r=$? |
| 35 | rm -f ${OBJ}/gdb.out |
| 36 | if [ $r -ne 0 ]; then |
| 37 | fail "ptrace succeeded?: exit code $r" |
| 38 | fi |
| 39 | |
| 40 | trace "kill agent" |
| 41 | ${SSHAGENT} -k > /dev/null |
| 42 | fi |