diff options
author | Jake McGinty <me@jake.su> | 2018-02-26 18:19:59 +0000 |
---|---|---|
committer | Jake McGinty <me@jake.su> | 2018-03-04 01:22:03 +0000 |
commit | e9d2743cf18eb33424bdb62183acc6e36084652b (patch) | |
tree | 1c88f3958c93b405cc45a5486c0b4167699139f5 /src/interface/peer_server.rs | |
parent | redirect daemonized stdout/stderr to a log file (diff) | |
download | wireguard-rs-e9d2743cf18eb33424bdb62183acc6e36084652b.tar.xz wireguard-rs-e9d2743cf18eb33424bdb62183acc6e36084652b.zip |
peer: enforce REJECT_AFTER_TIME in transport methods not as a timer
Diffstat (limited to 'src/interface/peer_server.rs')
-rw-r--r-- | src/interface/peer_server.rs | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/interface/peer_server.rs b/src/interface/peer_server.rs index c7feb73..cf868a7 100644 --- a/src/interface/peer_server.rs +++ b/src/interface/peer_server.rs @@ -1,5 +1,5 @@ -use consts::{REKEY_TIMEOUT, REJECT_AFTER_TIME, REKEY_ATTEMPT_TIME, KEEPALIVE_TIMEOUT, - STALE_SESSION_TIMEOUT, MAX_CONTENT_SIZE, WIPE_AFTER_TIME}; +use consts::{REKEY_TIMEOUT, REKEY_ATTEMPT_TIME, KEEPALIVE_TIMEOUT, STALE_SESSION_TIMEOUT, + MAX_CONTENT_SIZE, WIPE_AFTER_TIME}; use cookie; use interface::{SharedPeer, SharedState, State, UtunPacket, config}; use peer::{Peer, SessionType}; @@ -225,7 +225,6 @@ impl PeerServer { info!("handshake response received, current session now {}", our_index); self.timer.spawn_delayed(*KEEPALIVE_TIMEOUT, TimerMessage::PassiveKeepAlive(peer_ref.clone(), our_index)); - self.timer.spawn_delayed(*REJECT_AFTER_TIME, TimerMessage::Reject(peer_ref.clone(), our_index)); self.timer.spawn_delayed(*WIPE_AFTER_TIME, TimerMessage::Wipe(peer_ref.clone())); match peer.info.keepalive { @@ -272,7 +271,6 @@ impl PeerServer { let our_new_index = peer.sessions.current.as_ref().unwrap().our_index; self.timer.spawn_delayed(*KEEPALIVE_TIMEOUT, TimerMessage::PassiveKeepAlive(peer_ref.clone(), our_new_index)); - self.timer.spawn_delayed(*REJECT_AFTER_TIME, TimerMessage::Reject(peer_ref.clone(), our_new_index)); self.timer.spawn_delayed(*WIPE_AFTER_TIME, TimerMessage::Wipe(peer_ref.clone())); } (raw_packet, peer.needs_new_handshake(false)) @@ -377,20 +375,6 @@ impl PeerServer { let new_index = self.send_handshake_init(&peer_ref)?; debug!("sent handshake init (Rekey timer) ({} -> {})", our_index, new_index); }, - Reject(peer_ref, our_index) => { - let mut peer = peer_ref.borrow_mut(); - let mut state = self.shared_state.borrow_mut(); - - debug!("rejection timeout for session {}, ejecting", our_index); - - match peer.find_session(our_index) { - Some((_, SessionType::Next)) => { peer.sessions.next = None; }, - Some((_, SessionType::Current)) => { peer.sessions.current = None; }, - Some((_, SessionType::Past)) => { peer.sessions.past = None; }, - None => debug!("reject timeout for already-killed session") - } - let _ = state.index_map.remove(&our_index); - }, PassiveKeepAlive(peer_ref, our_index) => { let mut peer = peer_ref.borrow_mut(); { |