aboutsummaryrefslogtreecommitdiff
path: root/cmd/resolver/resolver.go
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 /cmd/resolver/resolver.go
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.
Diffstat (limited to 'cmd/resolver/resolver.go')
-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
}
}
}