libp2p / specs

Technical specifications for the libp2p networking stack
https://libp2p.io
1.54k stars 273 forks source link

TLS spec doesn't mention `ALPN` `libp2p` used by implementations #607

Open Jorropo opened 6 months ago

Jorropo commented 6 months ago

See https://grep.app/search?q=alpn&filter[repo.pattern][0]=libp2p. Implementations use the libp2p ALPN which allows to route TLS streams to libp2p and non libp2p connections on the same listener (or libp2p over quic vs libp2p over webtransport for quic).

I don't know if current implementations can handle arbitrary ALPNs and this is just a nice to have client sends or if it's actually required for it to function.

A quick CTRL + F ALPN in https://github.com/libp2p/specs/blob/master/tls/tls.md yields no results. Same for looking at all the occurrences of the libp2p string in the same file.

MarcoPolo commented 5 months ago

I'm pretty sure it's required. You're right, it should be documented in tls.md. It is documented in our quic spec.