Mailing List Archive

svn commit: vpnc r484 - /branches/vpnc-nortel/vpnc-script /trunk/vpnc-script
Author: Antonio Borneo
Date: Sat Jan 14 08:54:34 2012
New Revision: 484

Log:
Make basic vpnc-script work with Solaris

Add -interface flag when adding routes, specify gateway for default
route when deleting it.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

Modified:
branches/vpnc-nortel/vpnc-script
trunk/vpnc-script

Modified: branches/vpnc-nortel/vpnc-script
==============================================================================
--- branches/vpnc-nortel/vpnc-script (original)
+++ branches/vpnc-nortel/vpnc-script Sat Jan 14 08:54:34 2012
@@ -71,6 +71,11 @@
route_syntax_del="delete"
route_syntax_netmask="-netmask"
fi
+if [ "$OS" = "SunOS" ]; then
+ route_syntax_interface="-interface"
+else
+ route_syntax_interface=""
+fi

if [ -x /sbin/resolvconf ]; then # Optional tool on Debian, Ubuntu, Gentoo
MODIFYRESOLVCONF=modify_resolvconf_manager
@@ -171,14 +176,15 @@
}

del_vpngateway_route() {
- route $route_syntax_del -host "$VPNGATEWAY"
+ vpngw_route=`netstat -r -n | awk '/:/ { next; } /^(default|0\.0\.0\.0)/ { print $2; }'`
+ route $route_syntax_del -host "$VPNGATEWAY" $route_syntax_gw "$vpngw_route"
}

set_default_route() {
DEFAULTGW="`get_default_gw`"
echo "$DEFAULTGW" > "$DEFAULT_ROUTE_FILE"
- route $route_syntax_del default
- route add default $route_syntax_gw "$INTERNAL_IP4_ADDRESS"
+ route $route_syntax_del default $route_syntax_gw "`get_default_gw`"
+ route add default $route_syntax_gw "$INTERNAL_IP4_ADDRESS" $route_syntax_interface
}

set_network_route() {
@@ -186,12 +192,12 @@
NETMASK="$2"
NETMASKLEN="$3"
del_network_route "$NETWORK" "$NETMASK" "$NETMASKLEN"
- route add -net "$NETWORK" $route_syntax_netmask "$NETMASK" $route_syntax_gw "$INTERNAL_IP4_ADDRESS"
+ route add -net "$NETWORK" $route_syntax_netmask "$NETMASK" $route_syntax_gw "$INTERNAL_IP4_ADDRESS" $route_syntax_interface
}

reset_default_route() {
if [ -s "$DEFAULT_ROUTE_FILE" ]; then
- route $route_syntax_del default
+ route $route_syntax_del default $route_syntax_gw "`get_default_gw`" $route_syntax_interface
route add default $route_syntax_gw `cat "$DEFAULT_ROUTE_FILE"`
rm -f -- "$DEFAULT_ROUTE_FILE"
fi
@@ -199,7 +205,7 @@

del_network_route() {
case "$OS" in
- Linux|NetBSD|Darwin) # and probably others...
+ Linux|NetBSD|Darwin|SunOS) # and probably others...
# routes are deleted automatically on device shutdown
return
;;

Modified: trunk/vpnc-script
==============================================================================
--- trunk/vpnc-script (original)
+++ trunk/vpnc-script Sat Jan 14 08:54:34 2012
@@ -71,6 +71,11 @@
route_syntax_del="delete"
route_syntax_netmask="-netmask"
fi
+if [ "$OS" = "SunOS" ]; then
+ route_syntax_interface="-interface"
+else
+ route_syntax_interface=""
+fi

if [ -x /sbin/resolvconf ]; then # Optional tool on Debian, Ubuntu, Gentoo
MODIFYRESOLVCONF=modify_resolvconf_manager
@@ -171,14 +176,15 @@
}

del_vpngateway_route() {
- route $route_syntax_del -host "$VPNGATEWAY"
+ vpngw_route=`netstat -r -n | awk '/:/ { next; } /^(default|0\.0\.0\.0)/ { print $2; }'`
+ route $route_syntax_del -host "$VPNGATEWAY" $route_syntax_gw "$vpngw_route"
}

set_default_route() {
DEFAULTGW="`get_default_gw`"
echo "$DEFAULTGW" > "$DEFAULT_ROUTE_FILE"
- route $route_syntax_del default
- route add default $route_syntax_gw "$INTERNAL_IP4_ADDRESS"
+ route $route_syntax_del default $route_syntax_gw "`get_default_gw`"
+ route add default $route_syntax_gw "$INTERNAL_IP4_ADDRESS" $route_syntax_interface
}

set_network_route() {
@@ -186,12 +192,12 @@
NETMASK="$2"
NETMASKLEN="$3"
del_network_route "$NETWORK" "$NETMASK" "$NETMASKLEN"
- route add -net "$NETWORK" $route_syntax_netmask "$NETMASK" $route_syntax_gw "$INTERNAL_IP4_ADDRESS"
+ route add -net "$NETWORK" $route_syntax_netmask "$NETMASK" $route_syntax_gw "$INTERNAL_IP4_ADDRESS" $route_syntax_interface
}

reset_default_route() {
if [ -s "$DEFAULT_ROUTE_FILE" ]; then
- route $route_syntax_del default
+ route $route_syntax_del default $route_syntax_gw "`get_default_gw`" $route_syntax_interface
route add default $route_syntax_gw `cat "$DEFAULT_ROUTE_FILE"`
rm -f -- "$DEFAULT_ROUTE_FILE"
fi
@@ -199,7 +205,7 @@

del_network_route() {
case "$OS" in
- Linux|NetBSD|Darwin) # and probably others...
+ Linux|NetBSD|Darwin|SunOS) # and probably others...
# routes are deleted automatically on device shutdown
return
;;

_______________________________________________
vpnc-devel mailing list
vpnc-devel@unix-ag.uni-kl.de
https://lists.unix-ag.uni-kl.de/mailman/listinfo/vpnc-devel
http://www.unix-ag.uni-kl.de/~massar/vpnc/