summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2017-09-06 15:32:36 +0200
committerLinus Färnstrand <linus@mullvad.net>2017-09-06 19:46:25 +0200
commit2a9fa82c8b5631992f391d4a0022e1920e366ce3 (patch)
tree76cb25fdc7630985e6d8b0351f42ebf21439ba8e
parent3e65f6b6e435ed562a417a7f962fc5e167aa7f51 (diff)
downloadmullvadvpn-2a9fa82c8b5631992f391d4a0022e1920e366ce3.tar.xz
mullvadvpn-2a9fa82c8b5631992f391d4a0022e1920e366ce3.zip
Handle tunnel up event with new dev field
-rw-r--r--mullvad-daemon/src/main.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/mullvad-daemon/src/main.rs b/mullvad-daemon/src/main.rs
index e92d6aa7ae..7341653768 100644
--- a/mullvad-daemon/src/main.rs
+++ b/mullvad-daemon/src/main.rs
@@ -261,11 +261,15 @@ impl Daemon {
}
fn handle_tunnel_event(&mut self, tunnel_event: TunnelEvent) -> Result<()> {
- info!("Tunnel event: {:?}", tunnel_event);
- if self.state == TunnelState::Connecting && tunnel_event == TunnelEvent::Up {
- self.tunnel_interface = Some(String::from("utun1"));
- self.set_security_policy()?;
- self.set_state(TunnelState::Connected)
+ debug!("Tunnel event: {:?}", tunnel_event);
+ if self.state == TunnelState::Connecting {
+ if let TunnelEvent::Up { dev } = tunnel_event {
+ self.tunnel_interface = Some(dev);
+ self.set_security_policy()?;
+ self.set_state(TunnelState::Connected)
+ } else {
+ Ok(())
+ }
} else if self.state == TunnelState::Connected && tunnel_event == TunnelEvent::Down {
self.kill_tunnel()
} else {