diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-10-14 11:54:39 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2020-10-22 09:33:58 +0200 |
| commit | 14c46291a04797be58a59db556d96cc1330944ea (patch) | |
| tree | 4c5d3fc36c0f7f09283f948fb451af4e5501f2e3 /talpid-core/src | |
| parent | 6acc15839065118654334bcec763515288deab50 (diff) | |
| download | mullvadvpn-14c46291a04797be58a59db556d96cc1330944ea.tar.xz mullvadvpn-14c46291a04797be58a59db556d96cc1330944ea.zip | |
Add custom DNS setting
Diffstat (limited to 'talpid-core/src')
| -rw-r--r-- | talpid-core/src/tunnel_state_machine/mod.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/talpid-core/src/tunnel_state_machine/mod.rs b/talpid-core/src/tunnel_state_machine/mod.rs index 37a27ae58f..1793093580 100644 --- a/talpid-core/src/tunnel_state_machine/mod.rs +++ b/talpid-core/src/tunnel_state_machine/mod.rs @@ -27,6 +27,7 @@ use futures::{ use std::{ collections::HashSet, io, + net::IpAddr, path::{Path, PathBuf}, sync::{mpsc as sync_mpsc, Arc}, }; @@ -74,6 +75,7 @@ pub enum Error { pub async fn spawn( allow_lan: bool, block_when_disconnected: bool, + custom_dns: Option<Vec<IpAddr>>, tunnel_parameters_generator: impl TunnelParametersGenerator, log_dir: Option<PathBuf>, resource_dir: PathBuf, @@ -109,6 +111,7 @@ pub async fn spawn( allow_lan, block_when_disconnected, is_offline, + custom_dns, tunnel_parameters_generator, tun_provider, log_dir, @@ -184,6 +187,7 @@ impl TunnelStateMachine { allow_lan: bool, block_when_disconnected: bool, is_offline: bool, + custom_dns: Option<Vec<IpAddr>>, tunnel_parameters_generator: impl TunnelParametersGenerator, tun_provider: TunProvider, log_dir: Option<PathBuf>, @@ -208,6 +212,7 @@ impl TunnelStateMachine { allow_lan, block_when_disconnected, is_offline, + custom_dns, tunnel_parameters_generator: Box::new(tunnel_parameters_generator), tun_provider, log_dir, @@ -277,6 +282,8 @@ struct SharedTunnelStateValues { block_when_disconnected: bool, /// True when the computer is known to be offline. is_offline: bool, + /// Custom DNS servers to use. + custom_dns: Option<Vec<IpAddr>>, /// The generator of new `TunnelParameter`s tunnel_parameters_generator: Box<dyn TunnelParametersGenerator>, /// The provider of tunnel devices. |
