Fix dcutr roles in holepunching #3171
Labels
exp/expert
Having worked on the specific codebase is important
help wanted
Seeking public contribution on this issue
P2
Medium: Good to have, but can wait until someone steps up
We did the opposite thing of what the spec says to do. This meant that we would fail to hole-punch with rust nodes because both sides would attempt to be the dialer.
The spec is a bit confusing since roles get flipped in the middle. But essentially:
/libp2p/dcutr
protocol.This means the side handling the stream is the client, and the side initiating the stream should be the server.
#3044 exposes a flag to enable the spec behavior, but it is default set to legacy behavior. There are no backwards compatible migrations in that PR.
To close this issue we should implement a backwards compatible change. One suggestion by Sukun is:
The text was updated successfully, but these errors were encountered: