You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current implementation of what happens when the peer connects
to an anchor peer has a flawed logic.
It assumes that if the probe is successful, the sending is also.
That's too optimistic.
Another problem is that after the handshake is performed, the remote peer
may not distinguish between the closing of the connection of the handshake
and the closing of the new connection that sends the MembershipRequest,
since we only support 1 connection between each peer (to prevent DOS).
I re-implemented the logic to do the following:
1) First, perform a handshake to know whether the remote peer is from
our org or not.
Peers in different orgs should not know of our internal endpoints).
The handshake is performed until it succeeds or too many attempts
are made.
2) Now, construct a MembershipRequest and send it until you get
acked from the remote peer, or when attempts are exhausted.
Added a test that simulates the flow.
Change-Id: I72370d9be816105fdc5af7577ce578faf6e5abdc
Signed-off-by: Yacov Manevich <[email protected]>
0 commit comments