diff options
| author | Shulhan <ms@kilabit.info> | 2022-04-15 03:11:51 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-04-15 03:12:26 +0700 |
| commit | f9338965943247d124174c79392033518dc06a5b (patch) | |
| tree | 50ff5edafec64021eb1d55efb90eb5a4ac295f69 /cmd/resolver/resolver.go | |
| parent | b3bb806d49498a1fd69cd4d2966a6d08c3506401 (diff) | |
| download | rescached-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.go | 7 |
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 } } } |
