Message ID | 20250617084136.10215-1-gert@greenie.muc.de |
---|---|
State | New |
Headers | show |
Series | [Openvpn-devel,v1] Preserve socket protocol during float processing | expand |
Explanation is very reasonable - good catch, "just adding a field to the mroute" was far less trivial than the original patch made us assume. Since it has an +2 from Giaan I have not further tested it, just stared a bit at the change and it makes sense. The server test framework does not currently test floating, which is unfortunately and I really need to address this (but it's somewhat tricky to get right with the t_client framework). mail-archive.com is not cooperating (it seems to categorize all the patches I relay from gerrit to the list as "spam" - the mails from gerrit itself are there but the patch I sent is not...?) - so I recorded the gerrit URL and the initial patch submission URL instead. Your patch has been applied to the master branch. commit db9632f7f976a5e0b810d76173a38f76879d99c0 Author: Ralf Lici Date: Tue Jun 17 10:41:28 2025 +0200 Preserve socket protocol during float processing Signed-off-by: Ralf Lici <ralf@mandelbit.com> Acked-by: Gianmarco De Gregori <gianmarco@mandelbit.com> Message-Id: <20250617084136.10215-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg31902.html URL: https://gerrit.openvpn.net/c/openvpn/+/1063 Signed-off-by: Gert Doering <gert@greenie.muc.de> -- kind regards, Gert Doering
diff --git a/src/openvpn/multi.c b/src/openvpn/multi.c index 169af43..a760e07 100644 --- a/src/openvpn/multi.c +++ b/src/openvpn/multi.c @@ -3217,6 +3217,12 @@ struct hash *hash = m->hash; struct gc_arena gc = gc_new(); + if (mi->real.type & MR_WITH_PROTO) + { + real.type |= MR_WITH_PROTO; + real.proto = sock->info.proto; + } + if (!mroute_extract_openvpn_sockaddr(&real, &m->top.c2.from.dest, true)) { goto done;