Improve DNS output: distinguish NS resolution failures from domain errors (#20)
CI / test (push) Failing after 2m19s

This commit was merged in pull request #20.
This commit is contained in:
2026-06-08 05:59:33 +00:00
parent d6063eb636
commit 25e6039bde
7 changed files with 32 additions and 6 deletions
+2
View File
@@ -144,6 +144,8 @@ func summaryTypeLabel(respType string) string {
return "query type not implemented by server"
case "cname_loop":
return "resulted in a CNAME loop"
case "ns_error":
return "nameserver lookup failed"
case "error":
return "resulted in an error"
case "referral":
+1
View File
@@ -88,6 +88,7 @@ func TestSummaryTypeLabelAllTypes(t *testing.T) {
"refused": "query refused by server",
"notimp": "query type not implemented by server",
"cname_loop": "resulted in a CNAME loop",
"ns_error": "nameserver lookup failed",
"error": "resulted in an error",
"referral": "resulted in a referral",
"unknown_type": "unknown_type",
+6
View File
@@ -220,6 +220,12 @@ func (f *textFormatter) formatResultLine(result traverse.TraversalResult) string
msg = result.Response.ErrorMessage
}
return f.colorize(fmt.Sprintf("%s %s", prob, msg), colorRed)
case traverse.RespNSResolutionFailed:
msg := "nameserver lookup failed"
if result.Response.ErrorMessage != "" {
msg = result.Response.ErrorMessage
}
return f.colorize(fmt.Sprintf("%s %s", prob, msg), colorYellow)
case traverse.RespError:
msg := "resulted in an error"
if result.Response.ErrorMessage != "" {
+1
View File
@@ -121,6 +121,7 @@ Answers: []miekgdns.RR{
{"refused", traverse.RespREFUSED, nil, ""},
{"notimp", traverse.RespNOTIMPL, nil, ""},
{"cname_loop", traverse.RespCNAMELoop, nil, "loop detected"},
{"ns_error", traverse.RespNSResolutionFailed, nil, "nameserver ns1.example.com could not be resolved"},
{"error", traverse.RespError, nil, "something went wrong"},
}