diff options
author | Jake McGinty <me@jake.su> | 2018-02-09 17:02:56 +0000 |
---|---|---|
committer | Jake McGinty <me@jake.su> | 2018-02-09 17:02:56 +0000 |
commit | 1a982b1c040870a3d261a061f4622ca9d4d4393b (patch) | |
tree | e135c41009e2e04f5502095b78c7eb052e5e3f70 /src/interface/mod.rs | |
parent | router refactoring (diff) | |
download | wireguard-rs-1a982b1c040870a3d261a061f4622ca9d4d4393b.tar.xz wireguard-rs-1a982b1c040870a3d261a061f4622ca9d4d4393b.zip |
consolidate handshake crypto
Diffstat (limited to 'src/interface/mod.rs')
-rw-r--r-- | src/interface/mod.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/interface/mod.rs b/src/interface/mod.rs index 6d51902..edbe4b0 100644 --- a/src/interface/mod.rs +++ b/src/interface/mod.rs @@ -7,9 +7,9 @@ use router::Router; use base64; use hex; +use noise::Noise; use byteorder::{ByteOrder, BigEndian, LittleEndian}; use failure::Error; -use snow::NoiseBuilder; use protocol::Peer; use std::io; use std::rc::Rc; @@ -199,12 +199,10 @@ impl Interface { }, UpdateEvent::UpdatePeer(info) => { info!("added new peer: {}", info); - let mut noise = NoiseBuilder::new("Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s".parse().unwrap()) - .local_private_key(&state.interface_info.private_key.expect("no private key!")) - .remote_public_key(&info.pub_key) - .prologue("WireGuard v1 zx2c4 Jason@zx2c4.com".as_bytes()) - .psk(2, &info.psk.unwrap_or_else(|| [0u8; 32])) - .build_initiator().unwrap(); + let noise = Noise::build_initiator( + &state.interface_info.private_key.expect("no private key!"), + &info.pub_key, + &info.psk).unwrap(); let mut peer = Peer::new(info.clone()); peer.set_next_session(noise.into()); |