Hi, On Wed, Oct 12, 2022 at 03:34:55PM +0200, Arne Schwabe wrote: > The lifetime and state machine of multi->peer_id does not exactly the > lifetime/state of DCO. This is especially for p2p NCP where a reconnection > can change the peer id. Also use this new field with value -1 to mean > not installed, replacing the dco_peer_added field.
The code seems to disagree with itself whether it's -1 or 0, if I
read this correctly...
> @@ -461,10 +461,10 @@ dco_remove_peer(struct context *c)
> return;
> }
>
> - if (c->c1.tuntap && c->c2.tls_multi && c->c2.tls_multi->dco_peer_added)
> + if (c->c1.tuntap && c->c2.tls_multi && c->c2.tls_multi->dco_peer_id)
> {
This checks for "not 0"...
> - dco_del_peer(&c->c1.tuntap->dco, c->c2.tls_multi->peer_id);
> - c->c2.tls_multi->dco_peer_added = false;
> + dco_del_peer(&c->c1.tuntap->dco, c->c2.tls_multi->dco_peer_id);
> + c->c2.tls_multi->dco_peer_id = -1;
... but sets -1 here, which would evaluate to "true"...?
(All the rest sets "-1", AFAICS, just the if() here is weird)
gert
--
"If was one thing all people took for granted, was conviction that if you
feed honest figures into a computer, honest figures come out. Never doubted
it myself till I met a computer with a sense of humor."
Robert A. Heinlein, The Moon is a Harsh Mistress
Gert Doering - Munich, Germany [email protected]
signature.asc
Description: PGP signature
_______________________________________________ Openvpn-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openvpn-devel
