$OpenBSD: patch-vpnc-script,v 1.1 2005/11/11 19:38:07 sturm Exp $ --- vpnc-script.orig Thu Nov 3 23:39:23 2005 +++ vpnc-script Thu Nov 3 23:51:02 2005 @@ -70,7 +70,7 @@ do_ifconfig() { ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask 255.255.255.255 mtu 1412 up } -if [ -n "$IPROUTE" ]; then +if [ -x "$IPROUTE" ]; then fix_ip_get_output () { sed 's/cache//;s/metric[0-9]\+ [0-9]\+//g' } @@ -117,7 +117,11 @@ if [ -n "$IPROUTE" ]; then } else get_default_gw() { - netstat -r -n | grep '^0.0.0.0' | awk '{print $2}' + if [ "$OS" = "OpenBSD" ]; then + netstat -r -n | grep '^default' | awk '{print $2}' + else + netstat -r -n | grep '^0.0.0.0' | awk '{print $2}' + fi } set_vpngateway_route() { @@ -215,15 +219,21 @@ do_connect() { echo "$CISCO_BANNER" | while read LINE ; do echo "|" "$LINE" ; done echo fi - + + if [ ! -d /var/run/vpnc ]; then + mkdir /var/run/vpnc || exit $? + fi + do_ifconfig set_vpngateway_route if [ -n "$CISCO_SPLIT_INC" ]; then - for ((i = 0 ; i < CISCO_SPLIT_INC ; i++ )) ; do + i=0 + while [ $i -lt $CISCO_SPLIT_INC ]; do eval NETWORK="\${CISCO_SPLIT_INC_${i}_ADDR}" eval NETMASK="\${CISCO_SPLIT_INC_${i}_MASK}" eval NETMASKLEN="\${CISCO_SPLIT_INC_${i}_MASKLEN}" set_network_route "$NETWORK" "$NETMASK" "$NETMASKLEN" + i=`expr $i + 1` done for i in $INTERNAL_IP4_DNS ; do set_network_route "$i" "255.255.255.255" "32" @@ -239,11 +249,13 @@ do_connect() { do_disconnect() { if [ -n "$CISCO_SPLIT_INC" ]; then - for ((i = 0 ; i < CISCO_SPLIT_INC ; i++ )) ; do + i=0 + while [ $i -lt $CISCO_SPLIT_INC ]; do eval NETWORK="\${CISCO_SPLIT_INC_${i}_ADDR}" eval NETMASK="\${CISCO_SPLIT_INC_${i}_MASK}" eval NETMASKLEN="\${CISCO_SPLIT_INC_${i}_MASKLEN}" del_network_route "$NETWORK" "$NETMASK" "$NETMASKLEN" + i=`expr $i + 1` done for i in $INTERNAL_IP4_DNS ; do del_network_route "$i" "255.255.255.255" "32"