From: Fabian Knittel Date: Sat, 11 Jul 2020 09:36:45 +0000 (+0200) Subject: client-connect: Move multi_client_connect_setenv into early_setup X-Git-Tag: v2.5_beta1~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=380a142a6b397e615ef809a94c5e6be7fcddad06;p=thirdparty%2Fopenvpn.git client-connect: Move multi_client_connect_setenv into early_setup This patch moves multi_client_connect_setenv into multi_client_connect_early_setup and makes sure that every client-connect handling function updates the virtual address selection. Background: This unifies how the client-connect handling functions work. Signed-off-by: Fabian Knittel Signed-off-by: Arne Schwabe Patch V5: Rebase on master Signed-off-by: Arne Schwabe Acked-by: Gert Doering Message-Id: <20200711093655.23686-4-arne@rfc2549.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg20288.html Signed-off-by: Gert Doering --- diff --git a/src/openvpn/multi.c b/src/openvpn/multi.c index 7d360221e..aa7ff5ce1 100644 --- a/src/openvpn/multi.c +++ b/src/openvpn/multi.c @@ -2159,6 +2159,12 @@ multi_client_connect_early_setup(struct multi_context *m, /* reset pool handle to null */ mi->vaddr_handle = -1; + + /* do --client-connect setenvs */ + multi_select_virtual_addr(m, mi); + + multi_client_connect_setenv(m, mi); + } /** @@ -2204,6 +2210,13 @@ multi_client_connect_source_ccd(struct multi_context *m, CLIENT_CONNECT_OPT_MASK, option_types_found, mi->context.c2.es); + /* + * Select a virtual address from either --ifconfig-push in + * --client-config-dir file or --ifconfig-pool. + */ + multi_select_virtual_addr(m, mi); + + multi_client_connect_setenv(m, mi); } gc_free(&gc); } @@ -2245,15 +2258,6 @@ multi_connection_established(struct multi_context *m, struct multi_instance *mi) multi_client_connect_source_ccd(m, mi, &option_types_found); - /* - * Select a virtual address from either --ifconfig-push in - * --client-config-dir file or --ifconfig-pool. - */ - multi_select_virtual_addr(m, mi); - - /* do --client-connect setenvs */ - multi_client_connect_setenv(m, mi); - multi_client_connect_call_plugin_v1(m, mi, &option_types_found, &cc_succeeded, &cc_succeeded_count);