diff options
Diffstat (limited to 'security/openvpn/files/patch-git-38b46e6bf65489c2c5d75da1c02a3a1c33e6da88')
-rw-r--r-- | security/openvpn/files/patch-git-38b46e6bf65489c2c5d75da1c02a3a1c33e6da88 | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/security/openvpn/files/patch-git-38b46e6bf65489c2c5d75da1c02a3a1c33e6da88 b/security/openvpn/files/patch-git-38b46e6bf65489c2c5d75da1c02a3a1c33e6da88 deleted file mode 100644 index f798c6cd897b..000000000000 --- a/security/openvpn/files/patch-git-38b46e6bf65489c2c5d75da1c02a3a1c33e6da88 +++ /dev/null @@ -1,61 +0,0 @@ -From 38b46e6bf65489c2c5d75da1c02a3a1c33e6da88 Mon Sep 17 00:00:00 2001 -From: Selva Nair <selva.nair@gmail.com> -Date: Thu, 20 Feb 2020 22:00:28 -0500 -Subject: [PATCH] Persist management-query-remote and proxy prompts - -Currently this prompt is only output once, not re-written to the -management interface when the management client connects. It is thus -not seen by a client that connects after the prompt is output or one that -disconnects and reconnects. This leads to a deadlock: the daemon waiting -for the "remote" command from the client, the latter not aware of it. - -Resolve by adding the ">REMOTE" and ">PROXY" prompt to -man.persist.special_state_msg as done for other persisted prompts such -as ">PASSWORD" - -Signed-off-by: Selva Nair <selva.nair@gmail.com> -Acked-by: Gert Doering <gert@greenie.muc.de> -Message-Id: <1582254028-7763-1-git-send-email-selva.nair@gmail.com> -URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg19497.html -Signed-off-by: Gert Doering <gert@greenie.muc.de> -(cherry picked from commit 93ba6ccddafcc87f336f50dadde144ea4f6178ad) ---- - src/openvpn/init.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/openvpn/init.c b/src/openvpn/init.c -index 8bac74f97..e153682ed 100644 ---- ./src/openvpn/init.c -+++ ./src/openvpn/init.c -@@ -269,6 +269,7 @@ ce_management_query_proxy(struct context *c) - buf_printf(&out, ">PROXY:%u,%s,%s", (l ? l->current : 0) + 1, - (proto_is_udp(ce->proto) ? "UDP" : "TCP"), np(ce->remote)); - management_notify_generic(management, BSTR(&out)); -+ management->persist.special_state_msg = BSTR(&out); - } - ce->flags |= CE_MAN_QUERY_PROXY; - while (ce->flags & CE_MAN_QUERY_PROXY) -@@ -280,6 +281,7 @@ ce_management_query_proxy(struct context *c) - break; - } - } -+ management->persist.special_state_msg = NULL; - gc_free(&gc); - } - -@@ -349,6 +351,7 @@ ce_management_query_remote(struct context *c) - buf_printf(&out, ">REMOTE:%s,%s,%s", np(ce->remote), ce->remote_port, - proto2ascii(ce->proto, ce->af, false)); - management_notify_generic(management, BSTR(&out)); -+ management->persist.special_state_msg = BSTR(&out); - - ce->flags &= ~(CE_MAN_QUERY_REMOTE_MASK << CE_MAN_QUERY_REMOTE_SHIFT); - ce->flags |= (CE_MAN_QUERY_REMOTE_QUERY << CE_MAN_QUERY_REMOTE_SHIFT); -@@ -362,6 +365,7 @@ ce_management_query_remote(struct context *c) - break; - } - } -+ management->persist.special_state_msg = NULL; - } - gc_free(&gc); - |