diff options
| author | David Lönnhager <david.l@mullvad.net> | 2021-09-02 10:14:45 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2021-09-02 13:18:36 +0200 |
| commit | fb92fd0a2ef6a2b65ec52f2a8203cbcddbe59423 (patch) | |
| tree | e17c7d13eeb9446737460823f167c8f4a1078e32 /mullvad-daemon/src | |
| parent | 76a3a9b2575d6f041d7dadc1cba712fd96ccf9e7 (diff) | |
| download | mullvadvpn-fb92fd0a2ef6a2b65ec52f2a8203cbcddbe59423.tar.xz mullvadvpn-fb92fd0a2ef6a2b65ec52f2a8203cbcddbe59423.zip | |
Simplify tunnel state machine arguments
Diffstat (limited to 'mullvad-daemon/src')
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index c2f2cfd42c..7394604f87 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -540,13 +540,15 @@ where let (tunnel_state_machine_shutdown_tx, tunnel_state_machine_shutdown_signal) = oneshot::channel(); + let runtime = tokio::runtime::Handle::current(); + let (internal_event_tx, internal_event_rx) = command_channel.destructure(); let (address_change_tx, mut address_change_rx) = mpsc::channel(0); let address_change_tx = std::sync::Mutex::new(address_change_tx); - let address_change_runtime = tokio::runtime::Handle::current(); + let address_change_runtime = runtime.clone(); let mut rpc_runtime = mullvad_rpc::MullvadRpcRuntime::with_cache( - tokio::runtime::Handle::current(), + runtime.clone(), Some(&resource_dir), &cache_dir, true, @@ -654,7 +656,7 @@ where TransportProtocol::Tcp, ); #[cfg(windows)] - let exclude_apps = if settings.split_tunnel.enable_exclusions { + let exclude_paths = if settings.split_tunnel.enable_exclusions { settings .split_tunnel .apps @@ -666,21 +668,24 @@ where }; let tunnel_command_tx = tunnel_state_machine::spawn( - settings.allow_lan, - settings.block_when_disconnected, - Self::get_dns_resolvers(&settings.tunnel_options.dns_options), - initial_api_endpoint, + runtime, + tunnel_state_machine::InitialTunnelState { + allow_lan: settings.allow_lan, + block_when_disconnected: settings.block_when_disconnected, + dns_servers: Self::get_dns_resolvers(&settings.tunnel_options.dns_options), + allowed_endpoint: initial_api_endpoint, + reset_firewall: initial_target_state != TargetState::Secured, + #[cfg(windows)] + exclude_paths, + }, tunnel_parameters_generator, log_dir, resource_dir, cache_dir.clone(), internal_event_tx.to_specialized_sender(), tunnel_state_machine_shutdown_tx, - initial_target_state != TargetState::Secured, #[cfg(target_os = "android")] android_context, - #[cfg(windows)] - exclude_apps, ) .await .map_err(Error::TunnelError)?; |
