V3 handshaking state change doesn't use "connection_or_change_state()"
When an OR connection acting as a server changes to state OR_CONN_STATE_OR_HANDSHAKING_V3
, it does so by setting conn->base_.state
directly and not using connection_or_change_state()
, so afaict this state change is never passed to pubsub or to the channel object.
On the other hand, when changing to that same state when acting as a client, it does use connection_or_change_state()
as expected.
This seems to me to be a bug, but maybe there was a good reason for doing it this way. Also it seems no one has complained about it since the code was added, so having it changed doesn't seem to be important. But documenting here anyways since someone may want to take a look at it at some point.