Skip to content

Commit 209ecf0

Browse files
authored
Merge pull request #44 from monasticacademy/dns-errors
Do not print ordinary DNS failures as errors
2 parents dd60922 + aff4853 commit 209ecf0

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ test-with-curl-pre-resolved-non-tls: clean
4949
test-with-curl-ipv6:
5050
go run . -- bash -c "curl -sL https://ipv6.google.com > out"
5151

52+
test-with-http3:
53+
cd experiments/http3get; go build -o /tmp/http3get; cd -
54+
go run . -- /tmp/http3get
55+
5256
# works with gvisor stack but not homegrown stack
5357
test-with-wget: clean
5458
go run . -- wget https://example.com -O out
@@ -71,6 +75,10 @@ test-with-dig-1111: clean
7175
test-with-nslookup: clean
7276
go run . -- nslookup google.com
7377

78+
# should not generate extraneous error messages
79+
test-nonexistent-domain: clean:
80+
go run . -- curl https://notarealdomain.monasticacademy.org
81+
7482
test-with-netcat-11223: clean
7583
go run . -- bash -c "netcat example.com 11223 < /dev/null"
7684

dns.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func handleDNS(ctx context.Context, w io.Writer, payload []byte) {
2626
// resolve the query
2727
rrs, err := handleDNSQuery(ctx, &req)
2828
if err != nil {
29-
errorf("error performing DNS query: %v, sending a response with empty answer", err)
29+
verbosef("DNS query returned: %v, sending a response with empty answer", err)
3030
// do not abort here, continue on and send a reply with no answer
3131
}
3232

@@ -272,7 +272,7 @@ func handleDNSQuery(ctx context.Context, req *dns.Msg) ([]dns.RR, error) {
272272
var err error
273273
ips, err = net.DefaultResolver.LookupIP(ctx, "ip4", question.Name)
274274
if err != nil {
275-
return nil, fmt.Errorf("the default resolver said: %w", err)
275+
return nil, fmt.Errorf("for an A record the default resolver said: %w", err)
276276
}
277277
}
278278

@@ -291,7 +291,7 @@ func handleDNSQuery(ctx context.Context, req *dns.Msg) ([]dns.RR, error) {
291291
case dns.TypeAAAA:
292292
ips, err := net.DefaultResolver.LookupIP(ctx, "ip6", question.Name)
293293
if err != nil {
294-
return nil, fmt.Errorf("the default resolver said: %w", err)
294+
return nil, fmt.Errorf("for an AAAA record the default resolver said (AAAA record): %w", err)
295295
}
296296

297297
verbosef("resolved %v to %v with default resolver", question.Name, ips)

0 commit comments

Comments
 (0)