From ff780b5bff6ddbee7acca0ba235c95bbe2824c8b Mon Sep 17 00:00:00 2001 From: Toralf Wittner Date: Fri, 10 Jan 2020 15:09:36 +0100 Subject: [PATCH] Make InboundUpgrade for IK pattern more generic. (#1379) The current implementation defines the InboundUpgrade only for `R = ()` so notably a `NoiseConfig` created by `NoiseConfig::ik_dialer` can not be an `InboundUpgrade`. Fixes #1378. --- protocols/noise/src/lib.rs | 4 ++-- protocols/noise/src/protocol/x25519.rs | 11 +---------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/protocols/noise/src/lib.rs b/protocols/noise/src/lib.rs index 379dfb1d..1a9b4134 100644 --- a/protocols/noise/src/lib.rs +++ b/protocols/noise/src/lib.rs @@ -244,9 +244,9 @@ where // Handshake pattern IK ///////////////////////////////////////////////////// -impl InboundUpgrade for NoiseConfig +impl InboundUpgrade for NoiseConfig where - NoiseConfig: UpgradeInfo, + NoiseConfig: UpgradeInfo, T: AsyncRead + AsyncWrite + Unpin + Send + 'static, C: Protocol + AsRef<[u8]> + Zeroize + Send + 'static, { diff --git a/protocols/noise/src/protocol/x25519.rs b/protocols/noise/src/protocol/x25519.rs index 99fc06e5..de414a36 100644 --- a/protocols/noise/src/protocol/x25519.rs +++ b/protocols/noise/src/protocol/x25519.rs @@ -83,16 +83,7 @@ impl UpgradeInfo for NoiseConfig { } } -impl UpgradeInfo for NoiseConfig { - type Info = &'static [u8]; - type InfoIter = std::iter::Once; - - fn protocol_info(&self) -> Self::InfoIter { - std::iter::once(b"/noise/ik/25519/chachapoly/sha256/0.1.0") - } -} - -impl UpgradeInfo for NoiseConfig, identity::PublicKey)> { +impl UpgradeInfo for NoiseConfig { type Info = &'static [u8]; type InfoIter = std::iter::Once;