From: Arne Schwabe Date: Wed, 17 Mar 2021 16:00:36 +0000 (+0100) Subject: Move restoring pre pull options to initialising of c2 context X-Git-Tag: v2.6_beta1~591 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=528a78fb144ff6a3d5865c871a402ba98fdfe21e;p=thirdparty%2Fopenvpn.git Move restoring pre pull options to initialising of c2 context We currently delay restoring these options until we actually must restore them. Since there is no reason to do so apart from the very minor saving to not have to execute that code when a connection fails, move them it into the general context_2 initialisation. Patch V2: rebase on master. Signed-off-by: Arne Schwabe Acked-by: Antonio Quartulli Message-Id: <20210317160038.25828-1-arne@rfc2549.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21676.html Signed-off-by: Gert Doering --- diff --git a/src/openvpn/init.c b/src/openvpn/init.c index c56dac879..a07e7404c 100644 --- a/src/openvpn/init.c +++ b/src/openvpn/init.c @@ -4167,6 +4167,11 @@ init_instance(struct context *c, const struct env_set *env, const unsigned int f } } + if (c->options.pull) + { + pre_pull_restore(&c->options, &c->c2.gc); + } + /* map in current connection entry */ next_connection_entry(c); diff --git a/src/openvpn/openvpn.h b/src/openvpn/openvpn.h index e9bc7dad1..436c10eeb 100644 --- a/src/openvpn/openvpn.h +++ b/src/openvpn/openvpn.h @@ -463,7 +463,6 @@ struct context_2 struct event_timeout push_request_interval; time_t push_request_timeout; - bool did_pre_pull_restore; /* hash of pulled options, so we can compare when options change */ bool pulled_options_digest_init_done; diff --git a/src/openvpn/push.c b/src/openvpn/push.c index a65195574..18d7c1e00 100644 --- a/src/openvpn/push.c +++ b/src/openvpn/push.c @@ -930,11 +930,6 @@ process_incoming_push_reply(struct context *c, md_ctx_init(c->c2.pulled_options_state, md_kt_get("SHA256")); c->c2.pulled_options_digest_init_done = true; } - if (!c->c2.did_pre_pull_restore) - { - pre_pull_restore(&c->options, &c->c2.gc); - c->c2.did_pre_pull_restore = true; - } if (apply_push_options(&c->options, buf, permission_mask,