summary refs log tree commit diff
path: root/pkgs/tools/networking/vpnc
diff options
context:
space:
mode:
authorThomas Strobel <ts468@cam.ac.uk>2015-08-05 21:00:05 +0200
committerThomas Strobel <ts468@cam.ac.uk>2015-08-05 21:16:35 +0200
commit531e93eaf49229c19a83ee6ceda83b31e7575d11 (patch)
treec9c4e9cf3e9f964fd11419e33ee70569d1470ccd /pkgs/tools/networking/vpnc
parent661e1016b19eaa1f8d3453ad3e0d8e29778244e1 (diff)
downloadnixpkgs-531e93eaf49229c19a83ee6ceda83b31e7575d11.tar
nixpkgs-531e93eaf49229c19a83ee6ceda83b31e7575d11.tar.gz
nixpkgs-531e93eaf49229c19a83ee6ceda83b31e7575d11.tar.bz2
nixpkgs-531e93eaf49229c19a83ee6ceda83b31e7575d11.tar.lz
nixpkgs-531e93eaf49229c19a83ee6ceda83b31e7575d11.tar.xz
nixpkgs-531e93eaf49229c19a83ee6ceda83b31e7575d11.tar.zst
nixpkgs-531e93eaf49229c19a83ee6ceda83b31e7575d11.zip
vpnc: 0.5.3 -> svn-rev-550
also, change default local port from 500 to random to avoid
clashes with other IPSec services like, e.g., strongSwan
Diffstat (limited to 'pkgs/tools/networking/vpnc')
-rw-r--r--pkgs/tools/networking/vpnc/default.nix31
-rw-r--r--pkgs/tools/networking/vpnc/vpnc-script.patch12
2 files changed, 22 insertions, 21 deletions
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index 1386f7133e5..bde93dfdd48 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -1,30 +1,43 @@
-{ stdenv, fetchurl, nettools, libgcrypt, perl, gawk, makeWrapper }:
+{ stdenv, fetchsvn, nettools, libgcrypt, openssl, openresolv, perl, gawk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "vpnc-0.5.3";
-  src = fetchurl {
-    url = "http://www.unix-ag.uni-kl.de/~massar/vpnc/${name}.tar.gz";
-    sha256 = "1128860lis89g1s21hqxvap2nq426c9j4bvgghncc1zj0ays7kj6";
+  name = "vpnc-rev550";
+  src = fetchsvn {
+    url = "http://svn.unix-ag.uni-kl.de/vpnc";
+    rev = "550";
+    sha256 = "0x4ckfv9lpykwmh28v1kyzz91y1j2v48fi8q5nsawrba4q0wlrls";
   };
 
-  patches = [ ./makefile.patch ./vpnc-script.patch ];
+  postUnpack = ''
+    mv $sourceRoot/trunk/* $sourceRoot/.
+    rm -r $sourceRoot/{trunk,branches,tags}
+  '';
+
+  patches = [ ./makefile.patch ];
 
   # The `etc/vpnc/vpnc-script' script relies on `which' and on
   # `ifconfig' as found in net-tools (not GNU Inetutils).
   propagatedBuildInputs = [ nettools ];
 
-  buildInputs = [libgcrypt perl makeWrapper];
+  buildInputs = [libgcrypt perl makeWrapper openssl ];
 
   preConfigure = ''
-    substituteInPlace "vpnc-script.in" \
+    sed -i 's|^#OPENSSL|OPENSSL|g' Makefile
+
+    substituteInPlace "vpnc-script" \
       --replace "which" "type -P" \
-      --replace "awk" "${gawk}/bin/awk"
+      --replace "awk" "${gawk}/bin/awk" \
+      --replace "/sbin/resolvconf" "${openresolv}/bin/resolvconf"
 
     substituteInPlace "config.c" \
       --replace "/etc/vpnc/vpnc-script" "$out/etc/vpnc/vpnc-script"
 
     substituteInPlace "pcf2vpnc" \
       --replace "/usr/bin/perl" "${perl}/bin/perl"
+
+    # use random local port by default to reduce clashes with
+    # other IPSec services like, e.g., strongSwan
+    echo "Local Port 0" >> vpnc.conf
   '';
 
   postInstall = ''
diff --git a/pkgs/tools/networking/vpnc/vpnc-script.patch b/pkgs/tools/networking/vpnc/vpnc-script.patch
deleted file mode 100644
index 67a86d5d58f..00000000000
--- a/pkgs/tools/networking/vpnc/vpnc-script.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ubr vpnc-0.5.3-orig/vpnc-script.in vpnc-0.5.3/vpnc-script.in
---- vpnc-0.5.3-orig/vpnc-script.in	2012-02-29 23:03:35.289636602 +0100
-+++ vpnc-0.5.3/vpnc-script.in	2012-02-29 23:03:59.597307445 +0100
-@@ -116,7 +116,7 @@
- 
- if [ -n "$IPROUTE" ]; then
- 	fix_ip_get_output () {
--		sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g;s/hoplimit [0-9]\+//g'
-+		sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g;s/hoplimit [0-9]\+//g;s/ipid 0x....//g'
- 	}
- 
- 	set_vpngateway_route() {