summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2020-10-21 19:09:45 +0200
committerDavid Lönnhager <david.l@mullvad.net>2020-10-22 14:47:32 +0200
commitd150bd718093d71a21cf7456371b41016004097a (patch)
tree3f5ee082ee0b17f3d18c90e014bef934dcbf9e3e
parent5b047ea38aff6cf72a4eaba87e87314171241050 (diff)
downloadmullvadvpn-d150bd718093d71a21cf7456371b41016004097a.tar.xz
mullvadvpn-d150bd718093d71a21cf7456371b41016004097a.zip
Only apply dnscache policy on Windows 10
-rw-r--r--talpid-core/src/dns/windows/mod.rs38
1 files changed, 24 insertions, 14 deletions
diff --git a/talpid-core/src/dns/windows/mod.rs b/talpid-core/src/dns/windows/mod.rs
index dbebcfc3e9..e3c71dab12 100644
--- a/talpid-core/src/dns/windows/mod.rs
+++ b/talpid-core/src/dns/windows/mod.rs
@@ -49,11 +49,13 @@ impl super::DnsMonitorT for DnsMonitor {
fn new(cache_dir: impl AsRef<Path>) -> Result<Self, Error> {
unsafe { WinDns_Initialize(Some(log_sink), b"WinDns\0".as_ptr()).into_result()? };
- if let Err(error) = reset_dns_cache_policy() {
- error!(
- "{}",
- error.display_chain_with_msg("Failed to reset DNS cache policy")
- );
+ if is_minimum_windows10() {
+ if let Err(error) = reset_dns_cache_policy() {
+ error!(
+ "{}",
+ error.display_chain_with_msg("Failed to reset DNS cache policy")
+ );
+ }
}
let backup_writer = SystemStateWriter::new(
@@ -101,16 +103,22 @@ impl super::DnsMonitorT for DnsMonitor {
.into_result()
}?;
- if let Err(error) = set_dns_cache_policy(servers) {
- error!("{}", error.display_chain());
- warn!("DNS resolution may be slowed down");
+ if is_minimum_windows10() {
+ if let Err(error) = set_dns_cache_policy(servers) {
+ error!("{}", error.display_chain());
+ warn!("DNS resolution may be slowed down");
+ }
}
Ok(())
}
fn reset(&mut self) -> Result<(), Error> {
- reset_dns_cache_policy()
+ if is_minimum_windows10() {
+ reset_dns_cache_policy()
+ } else {
+ Ok(())
+ }
}
}
@@ -120,11 +128,13 @@ fn ip_to_widestring(ip: &IpAddr) -> WideCString {
impl Drop for DnsMonitor {
fn drop(&mut self) {
- if let Err(error) = reset_dns_cache_policy() {
- warn!(
- "{}",
- error.display_chain_with_msg("Failed to reset DNS cache policy")
- );
+ if is_minimum_windows10() {
+ if let Err(error) = reset_dns_cache_policy() {
+ warn!(
+ "{}",
+ error.display_chain_with_msg("Failed to reset DNS cache policy")
+ );
+ }
}
if unsafe { WinDns_Deinitialize().into_result().is_ok() } {