#! /bin/bash
# Author: [email protected]
#
# Script: /usr/local/bin/connectiontest
#
# Version: 7.3.1
#
# Requires: +online--7.3.3+, +reconnect--7.3.1+, +dual--7.3.1+, +single--7.3.1+, bash
#
# Public: yes
# Copyright (C) 2002 "Dirk-Lueder Kreie"
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the
#
# Free Software Foundation, Inc.
# 59 Temple Place, Suite 330
# Boston, MA 02111-1307
# USA.
lckfile="/var/sysflags/connectiontest"
trap "rm $lckfile; exit" SIGHUP SIGINT SIGTERM
if [ "`find $lckfile -cmin +15 2>&1`" = "$lckfile" ]; then
test -e $lckfile && rm $lckfile
echo `date`" - Warning: old lockfile \"$lckfile\" exists"
fi
if [ -e $lckfile ]; then
echo `date`" - Fatal: lockfile \"$lckfile\" exists"
exit 1
fi
touch $lckfile
chmod 666 $lckfile
EXT_IF=$(for I in $(/sbin/route -n|grep ^0.0.0.0); do echo $I; done | tail -n1)
if echo $EXT_IF | grep -q ppp; then
echo $EXT_IF | grep -q ppp0 || /etc/init.d/net.ppp0 restart
fi
/usr/local/bin/online 4 20 || /etc/init.d/net.ppp0 restart
if /usr/local/bin/masquerade status | grep MASQUERADE >/dev/null; then
true
else
echo "NAT is OFF"
/usr/local/bin/masquerade restart
fi
rm $lckfile