updown: Explicitly pass caller PATH to updown script
authorMartin Willi <martin@revosec.ch>
Wed, 22 Oct 2014 12:50:09 +0000 (14:50 +0200)
committerMartin Willi <martin@revosec.ch>
Wed, 22 Oct 2014 12:53:36 +0000 (14:53 +0200)
When invoking /bin/sh, its default PATH is used. On some systems, that does
not include the PATH where the ipsec script is installed, as charon is invoked
with a custom PATH. Explicitly setting the PATH of charon should fix this
case, properly invoking the (default) updown script.

Fixes #745.

src/libcharon/plugins/updown/updown_listener.c

index 1d15cc5..be65d59 100644 (file)
@@ -243,6 +243,7 @@ static void invoke_once(private_updown_listener_t *this, ike_sa_t *ike_sa,
        me = ike_sa->get_my_host(ike_sa);
        other = ike_sa->get_other_host(ike_sa);
 
+       push_env(envp, countof(envp), "PATH=%s", getenv("PATH"));
        push_env(envp, countof(envp), "PLUTO_VERSION=1.1");
        is_host = my_ts->is_host(my_ts, me);
        if (is_host)