]> 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:29:09 +0000 (20:29 +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>
src/openvpn/tun.c

index 9e853c0036889ec2e5f54b6c3739a9fa649f9191..e479d4d177dd553a3bc707bc1b4a0cff90b3a14d 100644 (file)
@@ -403,23 +403,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)