From 7b285112d22f74c19dd5b1476ddbf1bd83339c84 Mon Sep 17 00:00:00 2001 From: Gert Doering Date: Sat, 23 May 2015 19:35:05 +0200 Subject: repair --dev null breakage caused by db950be85d37 "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 Acked-by: Steffan Karger 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 (cherry picked from commit 970c4bd2e473f625699bd56db44c1970a9e10ed9) --- 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 088527e..291d8c9 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -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) -- cgit