44 lines
902 B
Bash
44 lines
902 B
Bash
#!/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/lib64/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
|