* Muxer selection in TLS handshake first cut
* Clean up some part of the code
* Change earlydata to ConnectionState for security connection.
* resolve merging conflicts
* Add stubs for noise
* clean up code
* Switch over to passing muxers to security transport constructors
* Address feedback points
* Update p2p/net/upgrader/upgrader.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* clean up accidental checked file.
* Review points round 2
* Address some go nit points
* Update tls transport test to address review points
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* noise: make it possible for the server to send early data
* noise: use separate early data handlers for initiator and responder
* noise: use a 2 kb buffer for all handshake operations
* Add comments around EarlyData(Handler)
* noise: send early data with 2nd and 3rd handshake message
* Update p2p/security/noise/session_transport.go
Co-authored-by: Marco Munizaga <git@marcopolo.io>
With WebTransport's /webtransport/certhash/xyz addresses, the assumption that
the last component of a multiaddr identifies the transport to use for dialing
doesn't hold any more.
Note that WebRTC will probably also use the certhash multiaddr component to
encode its certificate hashes.
* Add Resolver interface to transport
* Move resolve test to swarm_dial_test
* Use proper peer id in test
* Only import go-multiaddr once
* Cleanup
* Use SNI in websocket
* Update go-multiaddr
* Update p2p/net/swarm/swarm.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* PR comments on websocket.go
* Use unresolved/resolved map
* Set sni
* Refactor websocket multiaddr parsing code, add server test
* Delete superflous helpers
* Update callsites
* Fix typo in p2p/transport/websocket/websocket.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com>