aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJake McGinty <me@jake.su>2018-02-01 15:41:15 +0000
committerJake McGinty <me@jake.su>2018-02-01 15:41:15 +0000
commit3341298937c3c7c2db93a9bb87757800c930b374 (patch)
tree6460ce4b7d783f94c9ac53e89ddfaa1acff3ac85 /src
parentratchet session upon sending successful handshake response (diff)
downloadwireguard-rs-3341298937c3c7c2db93a9bb87757800c930b374.tar.xz
wireguard-rs-3341298937c3c7c2db93a9bb87757800c930b374.zip
handle no-psk case
Diffstat (limited to 'src')
-rw-r--r--src/interface/mod.rs2
-rw-r--r--src/interface/peer_server.rs4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/interface/mod.rs b/src/interface/mod.rs
index e10ce8e..1cce00e 100644
--- a/src/interface/mod.rs
+++ b/src/interface/mod.rs
@@ -175,7 +175,7 @@ impl Interface {
.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.expect("no psk!"))
+ .psk(2, &info.psk.unwrap_or_else(|| [0u8; 32]))
.build_initiator().unwrap();
let mut peer = Peer::new(info.clone());
diff --git a/src/interface/peer_server.rs b/src/interface/peer_server.rs
index 7b5f3ff..e4d442a 100644
--- a/src/interface/peer_server.rs
+++ b/src/interface/peer_server.rs
@@ -125,7 +125,7 @@ impl PeerServer {
// TODO: hacked up API until it's officially supported in snow.
match noise {
snow::Session::Handshake(ref mut handshake_state) => {
- handshake_state.set_psk(2, &peer.info.psk.expect("no psk!"));
+ handshake_state.set_psk(2, &peer.info.psk.unwrap_or_else(|| [0u8; 32]));
},
_ => unreachable!()
}
@@ -224,7 +224,7 @@ impl PeerServer {
.local_private_key(&state.interface_info.private_key.expect("no private key!"))
.remote_public_key(&peer.info.pub_key)
.prologue("WireGuard v1 zx2c4 Jason@zx2c4.com".as_bytes())
- .psk(2, &peer.info.psk.expect("no psk!"))
+ .psk(2, &peer.info.psk.unwrap_or_else(|| [0u8; 32]))
.build_initiator().unwrap();
peer.set_next_session(noise.into());