"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 <g...@greenie.muc.de>
---
 src/openvpn/tun.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c
index 9e853c0..e479d4d 100644
--- a/src/openvpn/tun.c
+++ b/src/openvpn/tun.c
@@ -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)
-- 
2.3.6


Reply via email to