From: Ralf Lici <r...@mandelbit.com> During a float operation, we remove the old `mroute` object corresponding to the current multi instance from the hash table and insert a new one. With the introduction of the multi-socket feature, the `mroute` structure gained a `proto` field, which must also be set in the new instance, otherwise, hash table lookups will fail.
This commit ensures that the `proto` field is propagated from the original to the new `mroute` object during float processing. Change-Id: I0e17d9aea32eab7f44ed95037f077ae6dec52053 Signed-off-by: Ralf Lici <r...@mandelbit.com> Acked-by: Gianmarco De Gregori <gianma...@mandelbit.com> --- This change was reviewed on Gerrit and approved by at least one developer. I request to merge it to master. Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1063 This mail reflects revision 1 of this Change. Acked-by according to Gerrit (reflected above): Gianmarco De Gregori <gianma...@mandelbit.com> 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; _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel