#!/bin/sh
|
|
|
|
# This script wraps openconnect in order to obtain the password
|
|
# file from cmd.
|
|
|
|
# $1 password file
|
|
# $2... are passed to openconnect
|
|
|
|
test -z "$1" && exit 1
|
|
|
|
pwfile=$1
|
|
shift
|
|
|
|
pidfile=/var/run/ocwrap-$$.pid
|
|
|
|
cleanup()
|
|
{
|
|
if ! test -z "$pid";then
|
|
kill $pid
|
|
wait $pid
|
|
fi
|
|
exit 0
|
|
}
|
|
|
|
cleanup2()
|
|
{
|
|
if ! test -z "$pid";then
|
|
kill -2 $pid
|
|
wait $pid
|
|
fi
|
|
exit 0
|
|
}
|
|
|
|
trap cleanup2 2
|
|
trap cleanup 1 3 6 15
|
|
|
|
rm -f "$pidfile"
|
|
/usr/sbin/openconnect $* <$pwfile &
|
|
pid=$!
|
|
|
|
wait $pid
|