-
Notifications
You must be signed in to change notification settings - Fork 996
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
feat(noise): deprecate non-compliant implementation #3227
Conversation
This pull request has merge conflicts. Could you please resolve them @thomaseizinger? 🙏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @thomaseizinger. Good idea.
What do you think of deprecating LegacyConfig
as well?
rust-libp2p/transports/noise/src/lib.rs
Lines 572 to 585 in 76abab9
/// Legacy configuration options. | |
#[derive(Clone, Copy, Default)] | |
pub struct LegacyConfig { | |
/// Whether to continue sending legacy handshake payloads, | |
/// i.e. length-prefixed protobuf payloads inside a length-prefixed | |
/// noise frame. These payloads are not interoperable with other | |
/// libp2p implementations. | |
pub send_legacy_handshake: bool, | |
/// Whether to support receiving legacy handshake payloads, | |
/// i.e. length-prefixed protobuf payloads inside a length-prefixed | |
/// noise frame. These payloads are not interoperable with other | |
/// libp2p implementations. | |
pub recv_legacy_handshake: bool, | |
} |
Great changelog spelunking! |
Yep, that is a good one to remove too! I'll send a PR. |
Description
For the last two years, we have been carrying around a non-compliant implementation of the noise protocol for libp2p. It is time to follow through on the announcement in that changelog entry and deprecate it. Users should use the spec compliant implementation instead.
libsodium
to test cryptography that is only part of the non-compliant implementation.rust-libp2p
because users cannot accidentally choose the wrong implementation.Notes
Links to any relevant issues
Open Questions
Change checklist