summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/networking/vpnc/default.nix4
-rw-r--r--pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch12
2 files changed, 14 insertions, 2 deletions
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index 5d8971e5c6f..c62d5addb59 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchsvn, nettools, libgcrypt, openssl, openresolv, perl, gawk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "vpnc-rev550";
+  name = "vpnc-0.5.3-post-r550";
   src = fetchsvn {
     url = "http://svn.unix-ag.uni-kl.de/vpnc";
     rev = "550";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     rm -r $sourceRoot/{trunk,branches,tags}
   '';
 
-  patches = [ ./makefile.patch ];
+  patches = [ ./makefile.patch ./no_default_route_when_netmask.patch ];
 
   # The `etc/vpnc/vpnc-script' script relies on `which' and on
   # `ifconfig' as found in net-tools (not GNU Inetutils).
diff --git a/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch b/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch
new file mode 100644
index 00000000000..fa12abe9b77
--- /dev/null
+++ b/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch
@@ -0,0 +1,12 @@
+diff -uNr a/vpnc-script b/vpnc-script
+--- a/vpnc-script	2015-09-06 13:19:11.408661526 +0200
++++ b/vpnc-script	2015-09-06 14:47:40.260871556 +0200
+@@ -647,7 +647,7 @@
+ 			echo "$i" | grep : >/dev/null || \
+ 				set_network_route "$i" "255.255.255.255" "32"
+ 		done
+-	elif [ -n "$INTERNAL_IP4_ADDRESS" ]; then
++	elif [ -n "$INTERNAL_IP4_ADDRESS" -a -z "$INTERNAL_IP4_NETMASK" ]; then
+ 		set_default_route
+ 	fi
+ 	if [ -n "$CISCO_IPV6_SPLIT_INC" ]; then