MCPcopy
hub / github.com/passteque/gluetun / useUnencryptedDNS

Method useUnencryptedDNS

internal/dns/plaintext.go:10–37  ·  view source on GitHub ↗
(fallback bool)

Source from the content-addressed store, hash-verified

8)
9
10func (l *Loop) useUnencryptedDNS(fallback bool) {
11 settings := l.GetSettings()
12
13 targetIP := settings.GetFirstPlaintextIPv4()
14
15 if fallback {
16 l.logger.Info("falling back on plaintext DNS at address " + targetIP.String())
17 } else {
18 l.logger.Info("using plaintext DNS at address " + targetIP.String())
19 }
20
21 const dialTimeout = 3 * time.Second
22 const defaultDNSPort = 53
23 settingsInternalDNS := nameserver.SettingsInternalDNS{
24 AddrPort: netip.AddrPortFrom(targetIP, defaultDNSPort),
25 Timeout: dialTimeout,
26 }
27 nameserver.UseDNSInternally(settingsInternalDNS)
28
29 settingsSystemWide := nameserver.SettingsSystemDNS{
30 IPs: []netip.Addr{targetIP},
31 ResolvPath: l.resolvConf,
32 }
33 err := nameserver.UseDNSSystemWide(settingsSystemWide)
34 if err != nil {
35 l.logger.Error(err.Error())
36 }
37}

Callers 2

RunMethod · 0.95
runWaitMethod · 0.95

Calls 5

GetSettingsMethod · 0.95
GetFirstPlaintextIPv4Method · 0.80
InfoMethod · 0.65
StringMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected