Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NAT traversal: Implement support for simultaneous open in mulstistream #712

Closed
5 tasks
vyzo opened this issue Aug 26, 2019 · 4 comments
Closed
5 tasks

NAT traversal: Implement support for simultaneous open in mulstistream #712

vyzo opened this issue Aug 26, 2019 · 4 comments
Assignees

Comments

@marten-seemann
Copy link
Contributor

Continuing the discussion started in libp2p/go-libp2p-tls#38 (comment) here.

@vyzo, it seems like our suggested interface changes for solving simultaneous open in ms-1.0 are very similar, but slightly different: I was suggesting to change the SecureTransport.SecureOutbound function, whereas in libp2p/go-conn-security-multistream#14 you're changing the SecureMuxer.SecureOutbound function.

If I understand things correctly, changing SecureMuxer.SecureOutbound only works if you negotiate the roles before actually starting the cryptographic handshake. So it's a perfectly fine thing to do for multistream-1.0, but unfortunately will not work with multiselect-2.0, since we there discover during the handshake that a simultaneous open occurred.

@vyzo
Copy link
Contributor Author

vyzo commented Nov 26, 2019

Yeah, that was required for multiselect/1.1 because we negotiate the role.
We'll have to figure out something slightly different for ms/2.0.

@marten-seemann
Copy link
Contributor

It would be nice if we only had to change one of the interfaces to make it work for both ms-1.1 and ms-2.0 though. Arguably, dealing with simultaneous open belongs more into the transport than in the muxer, so I was wondering if libp2p/specs#196 could also be implemented that way.

@aarshkshah1992 aarshkshah1992 changed the title Implement support for simultaneous open NAT traversal: Implement support for simultaneous open in mulstistream Nov 5, 2020
@aarshkshah1992
Copy link
Contributor

aarshkshah1992 commented Jan 21, 2021

This is now being tracked as part of #1039.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants