aboutsummaryrefslogtreecommitdiffstats
path: root/src/interface/mod.rs
diff options
context:
space:
mode:
authorJake McGinty <me@jake.su>2018-02-09 17:02:56 +0000
committerJake McGinty <me@jake.su>2018-02-09 17:02:56 +0000
commit1a982b1c040870a3d261a061f4622ca9d4d4393b (patch)
treee135c41009e2e04f5502095b78c7eb052e5e3f70 /src/interface/mod.rs
parentrouter refactoring (diff)
downloadwireguard-rs-1a982b1c040870a3d261a061f4622ca9d4d4393b.tar.xz
wireguard-rs-1a982b1c040870a3d261a061f4622ca9d4d4393b.zip
consolidate handshake crypto
Diffstat (limited to 'src/interface/mod.rs')
-rw-r--r--src/interface/mod.rs12
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());