Skip to content

Commit 67fc2a3

Browse files
authored
Override manual DNS servers when using DoH/DoT (#283)
1 parent aec7f8e commit 67fc2a3

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

PassepartoutLibrary/Sources/PassepartoutVPN/Extensions/WireGuardSettings+VPNConfiguration.swift

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,23 @@ extension WireGuard.ConfigurationBuilder {
9494
break
9595

9696
case .manual:
97+
let isDNSEnabled = settings.configurationType != .disabled
98+
9799
switch settings.configurationType {
98100
case .plain:
101+
break
102+
103+
case .https:
104+
dnsHTTPSURL = settings.dnsHTTPSURL
105+
106+
case .tls:
107+
dnsTLSServerName = settings.dnsTLSServerName
108+
109+
case .disabled:
110+
break
111+
}
112+
113+
if isDNSEnabled {
99114
dnsServers = settings.dnsServers ?? []
100115
var allDomains: [String] = []
101116
if let domain = settings.dnsDomain {
@@ -105,14 +120,7 @@ extension WireGuard.ConfigurationBuilder {
105120
allDomains.append(contentsOf: searchDomains)
106121
}
107122
dnsSearchDomains = allDomains.filter { !$0.isEmpty }
108-
109-
case .https:
110-
dnsHTTPSURL = settings.dnsHTTPSURL
111-
112-
case .tls:
113-
dnsTLSServerName = settings.dnsTLSServerName
114-
115-
case .disabled:
123+
} else {
116124
dnsServers = []
117125
dnsSearchDomains = []
118126
}

0 commit comments

Comments
 (0)