]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Also restore/save route-gateway options on SIGUSR1 reconnects
authorArne Schwabe <arne@rfc2549.org>
Fri, 16 Apr 2021 13:35:12 +0000 (15:35 +0200)
committerGert Doering <gert@greenie.muc.de>
Sat, 17 Apr 2021 09:43:05 +0000 (11:43 +0200)
Trac: #1396

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20210416133512.1176870-1-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg22132.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/options.c
src/openvpn/options.h

index 7457d0c5bf30e5d430df676d5f551c5e2aefd19f..3dd22d5287d7323e374b1a8ef233027291664e77 100644 (file)
@@ -3585,6 +3585,9 @@ pre_connect_save(struct options *o)
         o->pre_connect->client_nat_defined = true;
     }
 
+    o->pre_connect->route_default_gateway = o->route_default_gateway;
+    o->pre_connect->route_ipv6_default_gateway = o->route_ipv6_default_gateway;
+
     /* NCP related options that can be overwritten by a push */
     o->pre_connect->ciphername = o->ciphername;
     o->pre_connect->authname = o->authname;
@@ -3632,6 +3635,9 @@ pre_connect_restore(struct options *o, struct gc_arena *gc)
             o->routes_ipv6 = NULL;
         }
 
+        o->route_default_gateway = pp->route_default_gateway;
+        o->route_ipv6_default_gateway = pp->route_ipv6_default_gateway;
+
         if (pp->client_nat_defined)
         {
             cnol_check_alloc(o);
index 96dfe0780b0e1da704cee9450cbc26b3876b7c35..c55384c7b1d6658f8e3c2e80da90d99384efd876 100644 (file)
@@ -70,6 +70,9 @@ struct options_pre_connect
     bool routes_ipv6_defined;
     struct route_ipv6_option_list *routes_ipv6;
 
+    const char *route_default_gateway;
+    const char *route_ipv6_default_gateway;
+
     bool client_nat_defined;
     struct client_nat_option_list *client_nat;