[Openvpn-devel,v5] Refactor early initialisation and uninitialisation into methods
Commit Message
This put the early initialisation and uninitialisation that needs to
happen between option parsing and post processing into small methods.
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
---
src/openvpn/openvpn.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
Comments
Hi,
On 06/11/2021 19:00, Arne Schwabe wrote:
> This put the early initialisation and uninitialisation that needs to
> happen between option parsing and post processing into small methods.
>
> Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Change looks good, no error/warning upon compilation and a basic
connectivity test just worked with both sitnl and iproute2.
Acked-by: Antonio Quartulli <a@unbstable.cc>
Took us long enough for such a "simple" refactoring task... pesky
language, this "C" stuff :-)
Thanks, Antonio, for verifying the sitnl stuff.
(GCC on Linux actually found and errored on the v4 bit with the missing
"&", I just did not look at the compile result because I saw the mismatch
in the diff earlier... now, no more warnings, and success on Linux/sitnl
with the v5 patch)
Your patch has been applied to the master branch.
commit 97056dbf936b01b367a66ea78cca3dadc41bdf64
Author: Arne Schwabe
Date: Sat Nov 6 19:00:55 2021 +0100
Refactor early initialisation and uninitialisation into methods
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Antonio Quartulli <antonio@openvpn.net>
Message-Id: <20211106180055.3073072-1-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg23110.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
@@ -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);
}