]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
repair --dev null breakage caused by db950be85d37
authorGert Doering <gert@greenie.muc.de>
Sat, 23 May 2015 17:35:05 +0000 (19:35 +0200)
committerGert Doering <gert@greenie.muc.de>
Sat, 23 May 2015 18:31:39 +0000 (20:31 +0200)
"make check" self-test was broken after commit db950be85d37 due to
do_ifconfig_setenv() not checking whether tt->did_ifconfig_setup
was set (which isn't, for "dev null" type setups)

Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: Steffan Karger <steffan@karger.me>
Message-Id: <1432404098-29401-1-git-send-email-gert@greenie.muc.de>
URL: http://article.gmane.org/gmane.network.openvpn.devel/9718
Signed-off-by: Gert Doering <gert@greenie.muc.de>
(cherry picked from commit 970c4bd2e473f625699bd56db44c1970a9e10ed9)

src/openvpn/tun.c

index 088527e3b53aa9b9e2b078112ffdcae6bc4b42f8..291d8c9b2549aaf47c1b26a39eab5b0433dbca55 100644 (file)
@@ -402,23 +402,27 @@ void
 do_ifconfig_setenv (const struct tuntap *tt, struct env_set *es)
 {
     struct gc_arena gc = gc_new ();
-    bool tun = is_tun_p2p (tt);
     const char *ifconfig_local = print_in_addr_t (tt->local, 0, &gc);
     const char *ifconfig_remote_netmask = print_in_addr_t (tt->remote_netmask, 0, &gc);
 
     /*
      * Set environmental variables with ifconfig parameters.
      */
-    setenv_str (es, "ifconfig_local", ifconfig_local);
-    if (tun)
+    if (tt->did_ifconfig_setup)
     {
-       setenv_str (es, "ifconfig_remote", ifconfig_remote_netmask);
-    }
-    else
-    {
-       const char *ifconfig_broadcast = print_in_addr_t (tt->broadcast, 0, &gc);
-       setenv_str (es, "ifconfig_netmask", ifconfig_remote_netmask);
-       setenv_str (es, "ifconfig_broadcast", ifconfig_broadcast);
+       bool tun = is_tun_p2p (tt);
+
+       setenv_str (es, "ifconfig_local", ifconfig_local);
+       if (tun)
+       {
+           setenv_str (es, "ifconfig_remote", ifconfig_remote_netmask);
+       }
+       else
+       {
+           const char *ifconfig_broadcast = print_in_addr_t (tt->broadcast, 0, &gc);
+           setenv_str (es, "ifconfig_netmask", ifconfig_remote_netmask);
+           setenv_str (es, "ifconfig_broadcast", ifconfig_broadcast);
+       }
     }
 
     if (tt->did_ifconfig_ipv6_setup)