summary refs log tree commit diff
path: root/pkgs/tools/networking/strongswan
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-12-22 19:55:01 +0000
committerIgor Pashev <pashev.igor@gmail.com>2014-12-22 20:20:58 +0000
commit17d8029150b246d9cd67174120900ea6bdbedda4 (patch)
treeef54b99678c25639eb9bd1eb27e08d12bc040bb9 /pkgs/tools/networking/strongswan
parent2b91b9b5941d9ef31ab4e0772ffa03c023abd2cc (diff)
downloadnixpkgs-17d8029150b246d9cd67174120900ea6bdbedda4.tar
nixpkgs-17d8029150b246d9cd67174120900ea6bdbedda4.tar.gz
nixpkgs-17d8029150b246d9cd67174120900ea6bdbedda4.tar.bz2
nixpkgs-17d8029150b246d9cd67174120900ea6bdbedda4.tar.lz
nixpkgs-17d8029150b246d9cd67174120900ea6bdbedda4.tar.xz
nixpkgs-17d8029150b246d9cd67174120900ea6bdbedda4.tar.zst
nixpkgs-17d8029150b246d9cd67174120900ea6bdbedda4.zip
Strongswan: preserve PATH
Diffstat (limited to 'pkgs/tools/networking/strongswan')
-rw-r--r--pkgs/tools/networking/strongswan/default.nix2
-rw-r--r--pkgs/tools/networking/strongswan/ext_auth-path.patch13
-rw-r--r--pkgs/tools/networking/strongswan/updown-path.patch26
3 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index c8cdac76f41..871cd3e8f47 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -13,7 +13,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ gmp pkgconfig python autoreconfHook ];
 
   patches = [
+    ./ext_auth-path.patch
     ./firewall_defaults.patch
+    ./updown-path.patch
   ];
 
   configureFlags = [ "--enable-swanctl" "--enable-cmd" ];
diff --git a/pkgs/tools/networking/strongswan/ext_auth-path.patch b/pkgs/tools/networking/strongswan/ext_auth-path.patch
new file mode 100644
index 00000000000..397537ad8d8
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/ext_auth-path.patch
@@ -0,0 +1,13 @@
+Index: strongswan-5.2.1/src/libcharon/plugins/ext_auth/ext_auth_listener.c
+===================================================================
+--- strongswan-5.2.1.orig/src/libcharon/plugins/ext_auth/ext_auth_listener.c
++++ strongswan-5.2.1/src/libcharon/plugins/ext_auth/ext_auth_listener.c
+@@ -101,6 +101,8 @@ METHOD(listener_t, authorize, bool,
+ 
+ 		*success = FALSE;
+ 
++		push_env(envp, countof(envp), "PATH=%s", getenv("PATH"));
++
+ 		push_env(envp, countof(envp), "IKE_UNIQUE_ID=%u",
+ 				 ike_sa->get_unique_id(ike_sa));
+ 		push_env(envp, countof(envp), "IKE_NAME=%s",
diff --git a/pkgs/tools/networking/strongswan/updown-path.patch b/pkgs/tools/networking/strongswan/updown-path.patch
new file mode 100644
index 00000000000..f01da7d7bce
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/updown-path.patch
@@ -0,0 +1,26 @@
+Index: strongswan-5.2.1/src/_updown/_updown.in
+===================================================================
+--- strongswan-5.2.1.orig/src/_updown/_updown.in
++++ strongswan-5.2.1/src/_updown/_updown.in
+@@ -125,7 +125,7 @@
+ #
+ 
+ # define a minimum PATH environment in case it is not set
+-PATH="/sbin:/bin:/usr/sbin:/usr/bin:@sbindir@"
++PATH="${PATH:-/sbin:/bin:/usr/sbin:/usr/bin}"
+ export PATH
+ 
+ # uncomment to log VPN connections
+Index: strongswan-5.2.1/src/libcharon/plugins/updown/updown_listener.c
+===================================================================
+--- strongswan-5.2.1.orig/src/libcharon/plugins/updown/updown_listener.c
++++ strongswan-5.2.1/src/libcharon/plugins/updown/updown_listener.c
+@@ -240,6 +240,8 @@ static void invoke_once(private_updown_l
+ 	process_t *process;
+ 	char *envp[128] = {};
+ 
++	push_env(envp, countof(envp), "PATH=%s", getenv("PATH"));
++
+ 	me = ike_sa->get_my_host(ike_sa);
+ 	other = ike_sa->get_other_host(ike_sa);
+