aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-04-15 03:11:51 +0700
committerShulhan <ms@kilabit.info>2022-04-15 03:12:26 +0700
commitf9338965943247d124174c79392033518dc06a5b (patch)
tree50ff5edafec64021eb1d55efb90eb5a4ac295f69
parentb3bb806d49498a1fd69cd4d2966a6d08c3506401 (diff)
downloadrescached-f9338965943247d124174c79392033518dc06a5b.tar.xz
cmd/resolver: check for number of answer when processing query
If the number of Answer is zero, break the attempt and continue the next query name. This is to fix the loop end when server return OK but with zero answer.
-rw-r--r--cmd/resolver/resolver.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go
index 1c0d1d8..1985981 100644
--- a/cmd/resolver/resolver.go
+++ b/cmd/resolver/resolver.go
@@ -169,7 +169,7 @@ func (rsol *resolver) doCmdQuery(args []string) {
for _, qname = range queries {
for nAttempts = 0; nAttempts < maxAttempts; nAttempts++ {
- fmt.Printf("< Query %s at %s\n", qname, rsol.dnsc.RemoteAddr())
+ fmt.Printf("\n< Query %s at %s\n", qname, rsol.dnsc.RemoteAddr())
res, err = rsol.query(timeout, qname)
if err != nil {
@@ -178,7 +178,10 @@ func (rsol *resolver) doCmdQuery(args []string) {
}
printQueryResponse(rsol.dnsc.RemoteAddr(), res)
- return
+ if len(res.Answer) > 0 {
+ return
+ }
+ break
}
}
}