Enable browsers to connect to public server nodes without those server nodes
providing a TLS certificate within the browser's trustchain.
Co-authored-by: Chinmay Kousik <chinmaykousik1@gmail.com>
Co-authored-by: Anton Kaliaev
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* add a draft for the WebTransport spec
* describe the HTTP endpoint
* improve introduction
Co-authored-by: Melanie Riise <mark.riise26@gmail.com>
* use Noise to check end-to-end encryption of the WebTransport connection
* define protobuf to encode certificate hashes
* use a separate multiaddr component for certificate hashes
* remove server mode using CA signed certificates
* apply suggestions from code review
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Max Inden <mail@max-inden.de>
* webtransport: move certhash verification to the client (#455)
* webtransport: remove confusion around Noise handshake completion
* webtransport: update certificate generation logic
* webtransport: link to Noise Extensions spec
* webtransport: move spec to Candidate Recommendation
* webtransport: remove misleading mention of hole punching
* webtransport: fix typos
* webtransport: add interest group
* webtransport: add link to Firefox meta-issue
* webtransport: soften language around URL multiaddr encoding
* webtransport: clarify that WebTransport over HTTP/3 is meant
* webtransport: fix typo
Co-authored-by: Elena Frank <elena.frank@protonmail.com>
* webtransport: clarify certificate regeneration logic
* webtransport: fix typos
Co-authored-by: Elena Frank <elena.frank@protonmail.com>
* webtransport: allow use of CA-signed certificates
* address minor issues raised in code review
* clarify that servers with a CA-signed certificate don't use /certhash
Co-authored-by: Melanie Riise <mark.riise26@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Elena Frank <elena.frank@protonmail.com>
* noise: introduce an extension registry
* noise: remove WebRTC and stream muxer from NoiseExtensions
* don't specify how many Noise extensions there are
* improve description of extensions
* noise: add Changelog
First off this pull requests changes the text based format to a table based
format. In addition it references the recent WebTransport effort. Lastly it
updates outdated information in regards to WebRTC, based on the recent
discussions in https://github.com/libp2p/specs/pull/412.
- Introduce "Done" section.
- Reduce scope of "Unprecedented global connectivity" to hole punching on QUIC
and TCP.
- Move item down to "Done" section.
* add our metrics effort to the short-term roadmap
* remove resource manager metrics
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Max Inden <mail@max-inden.de>
The mplex multiplexer does not provide backpressure on a stream. Yamux does.
Given that this is a fundamental feature of a stream multiplexer, this commit
changes the spec to recommend yamux over mplex.
While yamux is not ideal, e.g. lacks backpressure on the connection level and
the number of streams, it is superior in all cases to mplex.