Diff for /badi/public_scripts/switchgate/switchgate between versions 1.6 and 1.8

version 1.6, 2010/08/18 10:40:25 version 1.8, 2017/03/28 21:44:24
Line 1 Line 1
 #!/bin/bash  #!/bin/bash
   
 # switchhgate 0.0.3  # switchhgate 0.0.5
 # (c) 2005 under GPL by Adrian Zaugg  # (c) 2005-2010 under GPL by Adrian Zaugg
   
 # switchgate pings a set of hosts to determine the state of the internet connectivity. If  # switchgate pings a set of hosts to determine the state of the internet connectivity. If
 # the connection is down, it can change the default gateway to an alternative gateway.  # the connection is down, it can change the default gateway to an alternative gateway.
Line 18  DHCP_TMP_DIR=/tmp/switchgate Line 18  DHCP_TMP_DIR=/tmp/switchgate
   
 # eMail address to send alert messages, if not operating on the  # eMail address to send alert messages, if not operating on the
 # standard default gateway  # standard default gateway
 ALERT_EMAIL="adi@ente.limmat.ch, hauswartung@dasdreieck.ch"  ALERT_EMAIL="adi@ente.limmat.ch"
   
 # Host set to ping. A file containing IP addresses, each on a single line.  # Host set to ping. A file containing IP addresses, each on a single line.
 # Do not include any local hosts, list only hosts located behind your gateways.  # Do not include any local hosts, list only hosts located behind your gateways.
Line 28  HOSTSET_FILE="$CONFIG_PATH/hostset" Line 28  HOSTSET_FILE="$CONFIG_PATH/hostset"
 GATEWAYS_FILE="$CONFIG_PATH/gateways"  GATEWAYS_FILE="$CONFIG_PATH/gateways"
   
 # path to fping  # path to fping
 PING=/usr/sbin/fping  PING=/usr/bin/fping
   
 # answer of fping to reachable hosts  # answer of fping to reachable hosts
 ALIVE_ANSWER="is alive"  ALIVE_ANSWER="is alive"
Line 59  function readgwlist { Line 59  function readgwlist {
                 fi                  fi
   
                 allgates=`grep -ve "^[  ]*[\#]\+.*$" "$GATEWAYS_FILE" | xargs`                  allgates=`grep -ve "^[  ]*[\#]\+.*$" "$GATEWAYS_FILE" | xargs`
                   alldhcpgates=""
                 for gate in $allgates; do                  for gate in $allgates; do
                         if [[ $(echo "$gate" | grep -c -e "^[:space:]*dhcp\..*$") -eq 1 && \                          if [[ $(echo "$gate" | grep -c -e "^[[:space:]]*dhcp\..*$") -eq 1 && \
                               -f "$CONFIG_PATH/$gate" ]]; then                                -f "$DHCP_TMP_DIR/$gate" ]]; then
                                 # Read dhcp supplied gate for a specific interface                                  # Read dhcp supplied gate for a specific interface
                                 alldhcpgates=`grep -e "^[^\#].*$" "$CONFIG_PATH/$gate" | xargs`                                  alldhcpgates="$alldhcpgates `grep -e "^[^\#].*$" "$DHCP_TMP_DIR/$gate" | xargs`"
                         elif [[ $(echo "$gate" | grep -c -e "^[:space:]*dhcp[:space:]*$") -eq 1 ]]; then                          elif [[ $(echo "$gate" | grep -c -e "^[[:space:]]*dhcp[[:space:]]*$") -eq 1 ]]; then
                                 # Read all dhcp files                                  # Read all dhcp files
                                 alldhcpgates=""                                  for dhcpfile in $(echo -n $(ls -1 $DHCP_TMP_DIR/dhcp* 2>/dev/null)); do
                                 for dhcpfile in $(echo -n $(ls -1 $DHCP_TMP_DIR/dhcp* 2>/dev/null)); do   
                                         alldhcpgates="$alldhcpgates `grep -e "^[^\#].*$" "$dhcpfile" | xargs`"                                          alldhcpgates="$alldhcpgates `grep -e "^[^\#].*$" "$dhcpfile" | xargs`"
                                 done                                  done
                         else                          else
Line 370  elif [ "$CURRENTGW_ID" != 0 ]; then Line 370  elif [ "$CURRENTGW_ID" != 0 ]; then
         fi          fi
 fi  fi
   
 if [ "$DEBUG" = "low" ]; then  if [ "$DEBUG" = "low" -o "$DEBUG" = "choke" ]; then
    echo          if [ -n "$UP" ]; then
    echo "Current Default Gateway: $CURRENTGW ($CURRENTGW_ID)"             echo
    echo             echo "Current Default Gateway: $CURRENTGW ($CURRENTGW_ID)"
              echo
           else
              echo
              echo "No connection."
              echo
           fi
 fi  fi
 exit 0  exit 0

Removed from v.1.6  
changed lines
  Added in v.1.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>