diff options
-rw-r--r-- | src/interface/peer_server.rs | 8 | ||||
-rw-r--r-- | src/peer.rs | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/interface/peer_server.rs b/src/interface/peer_server.rs index 6e91477..3ab4a37 100644 --- a/src/interface/peer_server.rs +++ b/src/interface/peer_server.rs @@ -180,20 +180,22 @@ 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(*WIPE_AFTER_TIME, TimerMessage::Wipe(peer_ref.clone())); match peer.info.keepalive { Some(keepalive) if keepalive > 0 => { self.timer.spawn_delayed(Duration::from_secs(u64::from(keepalive)), TimerMessage::PersistentKeepAlive(peer_ref.clone(), our_index)); - }, _ => {} + }, + _ => { + self.timer.spawn_delayed(*KEEPALIVE_TIMEOUT, + TimerMessage::PassiveKeepAlive(peer_ref.clone(), our_index)); + } } Ok(()) } fn handle_ingress_cookie_reply(&mut self, _addr: SocketAddr, packet: &[u8]) -> Result<(), Error> { - debug!("cookie len wheee {}", packet.len()); let state = self.shared_state.borrow_mut(); let our_index = LittleEndian::read_u32(&packet[4..]); let peer_ref = state.index_map.get(&our_index).ok_or_else(|| err_msg("unknown our_index"))?.clone(); diff --git a/src/peer.rs b/src/peer.rs index e6712ed..e329886 100644 --- a/src/peer.rs +++ b/src/peer.rs @@ -264,7 +264,7 @@ impl Peer { let response_packet = self.get_response_packet(&mut next_session)?; // TODO return and dispose of killed "next" session if exists let _ = mem::replace(&mut self.sessions.next, Some(next_session.into_transport_mode()?)); - self.info.endpoint = Some(addr); + self.info.endpoint = Some(addr); self.last_handshake_tai64n = Some(timestamp); Ok(response_packet) |