Signed-off-by: Arne Schwabe <a...@rfc2549.org>
---
 src/openvpn/options.c | 6 ++++++
 src/openvpn/options.h | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index 5934b0b84..10078a4d6 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -3571,6 +3571,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;
@@ -3619,6 +3622,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);
diff --git a/src/openvpn/options.h b/src/openvpn/options.h
index ee3fd7e50..ef59f0a99 100644
--- a/src/openvpn/options.h
+++ b/src/openvpn/options.h
@@ -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;
 
-- 
2.31.1



_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to