[Openvpn-devel,3/3] tun: get rid of tt->did_ifconfig member

Message ID 20180613081218.1834-5-a@unstable.cc
State Changes Requested
Headers show
Series
  • pre-ipv6-only clean up patchset
Related show

Commit Message

Antonio Quartulli June 13, 2018, 8:12 a.m.
From: Antonio Quartulli <antonio@openvpn.net>

tt->did_ifconfig is currently only read by the Linux platform, but
it is currently iuselessly set also by every other system.

The Linux platform does not actually even need this member and can
directly rely on tt->did_ifconfig_setup.

For the reasons above, remove the tt->did_ifconfig at all and use
tt->did_ifconfig_setup where needed (close_tun() on Linux).

Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
---
 src/openvpn/tun.c | 12 +-----------
 src/openvpn/tun.h |  1 -
 2 files changed, 1 insertion(+), 12 deletions(-)

Comments

Gert Doering June 13, 2018, 11:29 a.m. | #1
Hi,

On Wed, Jun 13, 2018 at 04:12:18PM +0800, Antonio Quartulli wrote:
> From: Antonio Quartulli <antonio@openvpn.net>
> 
> tt->did_ifconfig is currently only read by the Linux platform, but
> it is currently iuselessly set also by every other system.
                  ^
If you're respinning v2 of this set, there is a small typo here :-)

Otherwise, ACK.  Thanks.

gert
Antonio Quartulli June 13, 2018, 11:42 a.m. | #2
On 13/06/18 19:29, Gert Doering wrote:
> Hi,
> 
> On Wed, Jun 13, 2018 at 04:12:18PM +0800, Antonio Quartulli wrote:
>> From: Antonio Quartulli <antonio@openvpn.net>
>>
>> tt->did_ifconfig is currently only read by the Linux platform, but
>> it is currently iuselessly set also by every other system.
>                   ^
> If you're respinning v2 of this set, there is a small typo here :-)

Thanks for spotting this.

> 
> Otherwise, ACK.  Thanks.
> 

will resend the entire patchset as v2.

Cheers,

Patch

diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c
index 932c9d2d..36429204 100644
--- a/src/openvpn/tun.c
+++ b/src/openvpn/tun.c
@@ -987,7 +987,6 @@  do_ifconfig(struct tuntap *tt,
             argv_msg(M_INFO, &argv);
             openvpn_execve_check(&argv, es, S_FATAL, "Linux ip -6 addr add failed");
         }
-        tt->did_ifconfig = true;
 #else  /* ifdef ENABLE_IPROUTE */
         if (tun)
         {
@@ -1026,7 +1025,6 @@  do_ifconfig(struct tuntap *tt,
             argv_msg(M_INFO, &argv);
             openvpn_execve_check(&argv, es, S_FATAL, "Linux ifconfig inet6 failed");
         }
-        tt->did_ifconfig = true;
 
 #endif /*ENABLE_IPROUTE*/
 #elif defined(TARGET_ANDROID)
@@ -1186,8 +1184,6 @@  do_ifconfig(struct tuntap *tt,
             add_route(&r, tt, 0, NULL, es);
         }
 
-        tt->did_ifconfig = true;
-
 #elif defined(TARGET_OPENBSD)
 
         in_addr_t remote_end;           /* for "virtual" subnet topology */
@@ -1265,7 +1261,6 @@  do_ifconfig(struct tuntap *tt,
             /* and, hooray, we explicitely need to add a route... */
             add_route_connected_v6_net(tt, es);
         }
-        tt->did_ifconfig = true;
 
 #elif defined(TARGET_NETBSD)
 
@@ -1327,7 +1322,6 @@  do_ifconfig(struct tuntap *tt,
             /* and, hooray, we explicitely need to add a route... */
             add_route_connected_v6_net(tt, es);
         }
-        tt->did_ifconfig = true;
 
 #elif defined(TARGET_DARWIN)
         /*
@@ -1384,7 +1378,6 @@  do_ifconfig(struct tuntap *tt,
 
         argv_msg(M_INFO, &argv);
         openvpn_execve_check(&argv, es, S_FATAL, "Mac OS X ifconfig failed");
-        tt->did_ifconfig = true;
 
         /* Add a network route for the local tun interface */
         if (!tun && tt->topology == TOP_SUBNET)
@@ -1457,7 +1450,6 @@  do_ifconfig(struct tuntap *tt,
 
         argv_msg(M_INFO, &argv);
         openvpn_execve_check(&argv, es, S_FATAL, "FreeBSD ifconfig failed");
-        tt->did_ifconfig = true;
 
         /* Add a network route for the local tun interface */
         if (!tun && tt->topology == TOP_SUBNET)
@@ -1507,7 +1499,6 @@  do_ifconfig(struct tuntap *tt,
 
             argv_msg(M_INFO, &argv);
             openvpn_execve_check(&argv, aix_es, S_FATAL, "AIX ifconfig failed");
-            tt->did_ifconfig = true;
 
             if (do_ipv6)
             {
@@ -1545,7 +1536,6 @@  do_ifconfig(struct tuntap *tt,
 
                     break;
             }
-            tt->did_ifconfig = true;
         }
 
         if (do_ipv6)
@@ -2104,7 +2094,7 @@  close_tun(struct tuntap *tt)
 {
     ASSERT(tt);
 
-    if (tt->type != DEV_TYPE_NULL && tt->did_ifconfig)
+    if (tt->type != DEV_TYPE_NULL && tt->did_ifconfig_setup)
     {
         struct argv argv = argv_new();
         struct gc_arena gc = gc_new();
diff --git a/src/openvpn/tun.h b/src/openvpn/tun.h
index 6c57ad0d..9495d602 100644
--- a/src/openvpn/tun.h
+++ b/src/openvpn/tun.h
@@ -138,7 +138,6 @@  struct tuntap
 
     bool did_ifconfig_setup;
     bool did_ifconfig_ipv6_setup;
-    bool did_ifconfig;
 
     bool persistent_if;         /* if existed before, keep on program end */