45 lines
900 B
Text
45 lines
900 B
Text
|
#!/bin/bash
|
||
|
#
|
||
|
# 29-02-2012
|
||
|
# Author: Christos Triantafyllidis <christos.triantafyllidis@gmail.com>
|
||
|
#
|
||
|
|
||
|
# Default values
|
||
|
STUNNEL_EXEC=${STUNNEL_EXEC:-/usr/bin/stunnel}
|
||
|
CHECK_DIG_EXEC=${CHECK_DIG_EXEC:-/usr/lib/nagios/plugins/check_dig}
|
||
|
lport=8443
|
||
|
|
||
|
ARGS=""
|
||
|
while getopts "L:H:p:l:T:a:A:w:c:t:v" options
|
||
|
do
|
||
|
case $options in
|
||
|
L ) lport=$OPTARG ;;
|
||
|
H ) host=$OPTARG ;;
|
||
|
p ) port=$OPTARG ;;
|
||
|
* ) ARGS="$ARGS -$options $OPTARG";;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
# Create a ssl tunnel to the request socket
|
||
|
TMPFILE=`mktemp /tmp/$(basename $0)_${host}_${port}_XXXXX`
|
||
|
echo "
|
||
|
client = yes
|
||
|
verify = 0
|
||
|
syslog = no
|
||
|
pid=$TMPFILE.pid
|
||
|
[${host}_${port}]
|
||
|
accept=${lport}
|
||
|
connect=${host}:${port}
|
||
|
" > $TMPFILE
|
||
|
|
||
|
$STUNNEL_EXEC $TMPFILE
|
||
|
|
||
|
# Use check_dig via the stunnel
|
||
|
$CHECK_DIG_EXEC -H localhost -p ${lport} $ARGS
|
||
|
e_status=$?
|
||
|
|
||
|
# cleanup
|
||
|
kill -9 `cat $TMPFILE.pid`
|
||
|
rm -f $TMPFILE $TMPFILE.pid
|
||
|
exit $e_status
|