(fallback bool)
| 8 | ) |
| 9 | |
| 10 | func (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 | } |
no test coverage detected