Muxer selection in security handshake (#446)

* Muxer selection in security handshake spec

* Add cross version and security sections

* Add security and more sections

* Address review feedback points, add protobuf.

* Address some more review points.

Update Noise handshake section, Revise muxer string in examples.

* Correct some typos

* Address feedback points and update noise section

* update Noise extention protobuf

* Remove TBD item

* Remove some redandant info

* add alternative options considered

* Update noise registration with NoiseExtensions field for muxers.

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Max Inden <mail@max-inden.de>

* Revise noise handshake section to reflect early data carrier msg change.

* Correct sequence example in noise handshake

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* replace nextproto with ALPN extension

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update title

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* address some review points

* Revise some typos

* Revise the Noise selection process so that the selection of muxer is based on the responder's priority
and fix some typos

* Editorial

* formatting

* Update muxer-sel-in-sec-handshake.md

* Update muxer-sel-in-sec-handshake.md

* Update muxer-sel-in-sec-handshake.md

Consolidate some sections and clarify backward compatibility section.

* Consolidate some sections again and simplify some descriptiosn.

* remove accidentally checked file

* Editorial changes

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Apply some suggestions from code review

* add myself to list of authors

* rewrite the Security section

* use the client's preference in Noise

* rename document, link to it from connections README

* remove section describing current muxer selection

* remove repetitive section introducing muxer selection

* improve TLS section

* condense Noise section

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

* bump revisions

* Apply suggestions from code review

Co-authored-by: Elena Frank <elena.frank@protonmail.com>

Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>
Co-authored-by: Elena Frank <elena.frank@protonmail.com>
This commit is contained in:
julian88110
2022-12-12 13:18:38 -08:00
committed by GitHub
parent 9a646c0283
commit 41d5104513
3 changed files with 137 additions and 2 deletions

View File

@@ -2,7 +2,7 @@
| Lifecycle Stage | Maturity | Status | Latest Revision |
|-----------------|---------------|--------|-----------------|
| 1A | Working Draft | Active | r0, 2019-06-20 |
| 1A | Working Draft | Active | r1, 2022-12-07 |
Authors: [@yusefnapora]
@@ -234,6 +234,11 @@ Note: In the case where both peers initially act as initiators, e.g. during NAT
hole punching, tie-breaking is done via the [multistream-select simultaneous
open protocol extension][simopen].
### Inlining Muxer Negotiation
If both peers support it, it's possible to shortcut the muxer selection by moving
it into the security handshake. Details are specified in [inlined-muxer-negotiation].
## Opening New Streams Over a Connection
@@ -409,3 +414,4 @@ updated to incorporate the changes.
[simopen]: ./simopen.md
[resource-manager-issue]: https://github.com/libp2p/go-libp2p/issues/635
[hole-punching]: ./hole-punching.md
[inlined-muxer-selection]: ./inlined-muxer-negotiation.md