aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Schwabe2022-05-12 14:14:23 +0200
committerGert Doering2022-05-13 08:08:41 +0200
commit3f25bf7f7c1f32c2d3ef5b52443c97553a6c8977 (patch)
tree6fa8365b0a5e35501a990a8afa987854525a3839
parent4e5b14012550bf934dcf850547b542afa4d6605a (diff)
downloadopenvpn-3f25bf7f7c1f32c2d3ef5b52443c97553a6c8977.zip
openvpn-3f25bf7f7c1f32c2d3ef5b52443c97553a6c8977.tar.gz
Refactor early initialisation and uninitialisation into methods
This put the early initialisation and uninitialisation that needs to happen between option parsing and post processing into small methods. Cherry-pick of 97056dbf9 as prerequirement for the provider patch Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <20220512121429.2096164-2-arne@rfc2549.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24328.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
-rw-r--r--src/openvpn/openvpn.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/openvpn/openvpn.c b/src/openvpn/openvpn.c
index a21b21e..e03d254 100644
--- a/src/openvpn/openvpn.c
+++ b/src/openvpn/openvpn.c
@@ -105,6 +105,20 @@ tunnel_point_to_point(struct context *c)
#undef PROCESS_SIGNAL_P2P
+void init_early(struct context *c)
+{
+ net_ctx_init(c, &c->net_ctx);
+
+ /* init verbosity and mute levels */
+ init_verb_mute(c, IVM_LEVEL_1);
+
+}
+
+static void uninit_early(struct context *c)
+{
+ net_ctx_free(&c->net_ctx);
+}
+
/**************************************************************************/
/**
@@ -193,10 +207,9 @@ openvpn_main(int argc, char *argv[])
open_plugins(&c, true, OPENVPN_PLUGIN_INIT_PRE_CONFIG_PARSE);
#endif
- net_ctx_init(&c, &c.net_ctx);
-
- /* init verbosity and mute levels */
- init_verb_mute(&c, IVM_LEVEL_1);
+ /* Early initialisation that need to happen before option
+ * post processing and other early startup but after parsing */
+ init_early(&c);
/* set dev options */
init_options_dev(&c.options);
@@ -308,7 +321,7 @@ openvpn_main(int argc, char *argv[])
env_set_destroy(c.es);
uninit_options(&c.options);
gc_reset(&c.gc);
- net_ctx_free(&c.net_ctx);
+ uninit_early(&c);
}
while (c.sig->signal_received == SIGHUP);
}