summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2020-10-14 12:00:22 +0200
committerDavid Lönnhager <david.l@mullvad.net>2020-10-22 09:33:58 +0200
commitf84ac368b9b993ff1511c2a8ce180369bfba2165 (patch)
treef3102e7bef42efede8f67100767dee722f6970a2
parent14c46291a04797be58a59db556d96cc1330944ea (diff)
downloadmullvadvpn-f84ac368b9b993ff1511c2a8ce180369bfba2165.tar.xz
mullvadvpn-f84ac368b9b993ff1511c2a8ce180369bfba2165.zip
Use custom DNS servers
-rw-r--r--talpid-core/src/tunnel_state_machine/connected_state.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/talpid-core/src/tunnel_state_machine/connected_state.rs b/talpid-core/src/tunnel_state_machine/connected_state.rs
index a36093d51c..87068783e1 100644
--- a/talpid-core/src/tunnel_state_machine/connected_state.rs
+++ b/talpid-core/src/tunnel_state_machine/connected_state.rs
@@ -91,9 +91,16 @@ impl ConnectedState {
}
fn set_dns(&self, shared_values: &mut SharedTunnelStateValues) -> Result<(), BoxedError> {
- let mut dns_ips = vec![self.metadata.ipv4_gateway.into()];
- if let Some(ipv6_gateway) = self.metadata.ipv6_gateway {
- dns_ips.push(ipv6_gateway.into());
+ let mut default_dns = vec![];
+
+ let dns_ips = if let Some(ref servers) = shared_values.custom_dns {
+ servers
+ } else {
+ default_dns.push(self.metadata.ipv4_gateway.into());
+ if let Some(ipv6_gateway) = self.metadata.ipv6_gateway {
+ default_dns.push(ipv6_gateway.into());
+ };
+ &default_dns
};
shared_values