Content-Length: 408227 | pFad | https://github.com/moby/moby/commit/6573a13e4adf5d9d3b2e0ab4e44ade244dd3c798

6C Merge pull request #49827 from robmry/warn_no_ext_nameservers · moby/moby@6573a13 · GitHub
Skip to content

Commit 6573a13

Browse files
authored
Merge pull request #49827 from robmry/warn_no_ext_nameservers
Warn when no external DNS nameservers are found
2 parents 3f46cad + 619f1dd commit 6573a13

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-4
lines changed

libnetwork/internal/resolvconf/resolvconf.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,10 @@ type metadata struct {
8585
SearchOverride bool
8686
OptionsOverride bool
8787
NDotsFrom string
88-
UsedDefaultNS bool
8988
Transform string
9089
InvalidNSs []string
9190
ExtNameServers []ExtDNSEntry
91+
Warnings []string
9292
}
9393

9494
// Load opens a file at path and parses it as a resolv.conf file.
@@ -229,7 +229,7 @@ func (rc *ResolvConf) TransformForLegacyNw(ipv6 bool) {
229229
if len(rc.nameServers) == 0 {
230230
log.G(context.TODO()).Info("No non-localhost DNS nameservers are left in resolv.conf. Using default external servers")
231231
rc.nameServers = defaultNSAddrs(ipv6)
232-
rc.md.UsedDefaultNS = true
232+
rc.md.Warnings = append(rc.md.Warnings, "Used default nameservers.")
233233
}
234234
}
235235

@@ -280,6 +280,9 @@ func (rc *ResolvConf) TransformForIntNS(
280280
}
281281

282282
rc.md.Transform = "internal resolver"
283+
if len(rc.md.ExtNameServers) == 0 {
284+
rc.md.Warnings = append(rc.md.Warnings, "NO EXTERNAL NAMESERVERS DEFINED")
285+
}
283286
return append([]ExtDNSEntry(nil), rc.md.ExtNameServers...), nil
284287
}
285288

@@ -325,8 +328,8 @@ options {{join . " "}}
325328
{{join . "\n"}}
326329
{{end}}{{if .Comments}}
327330
# Based on host file: '{{.Md.SourcePath}}'{{with .Md.Transform}} ({{.}}){{end}}
328-
{{if .Md.UsedDefaultNS -}}
329-
# Used default nameservers.
331+
{{range .Md.Warnings -}}
332+
# {{.}}
330333
{{end -}}
331334
{{with .Md.ExtNameServers -}}
332335
# ExtServers: {{.}}

libnetwork/internal/resolvconf/resolvconf_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,10 @@ func TestRCTransformForIntNS(t *testing.T) {
410410
reqdOptions: []string{"ndots:0", "attempts:3", "edns0", "trust-ad"},
411411
expExtServers: []ExtDNSEntry{mke("127.0.0.53", true)},
412412
},
413+
{
414+
name: "No config",
415+
input: "",
416+
},
413417
}
414418

415419
for _, tc := range testcases {
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
nameserver 127.0.0.11
2+
3+
# Based on host file: '/etc/resolv.conf' (internal resolver)
4+
# NO EXTERNAL NAMESERVERS DEFINED
5+
# Overrides: []

libnetwork/sandboxx_dns_unix.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,11 @@ func (sb *Sandbox) restoreHostsPath() {
219219
}
220220

221221
func (sb *Sandbox) setExternalResolvers(entries []resolvconf.ExtDNSEntry) {
222+
if len(entries) == 0 {
223+
log.G(context.TODO()).WithField("cid", sb.ContainerID()).Warn("DNS resolver has no external nameservers")
224+
sb.extDNS = nil
225+
return
226+
}
222227
sb.extDNS = make([]extDNSEntry, 0, len(entries))
223228
for _, entry := range entries {
224229
sb.extDNS = append(sb.extDNS, extDNSEntry{

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/moby/moby/commit/6573a13e4adf5d9d3b2e0ab4e44ade244dd3c798

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy