commit 0be319b95e9008dcc63694c16025f23e90e74300
parent 3a23ded8a9048c791d17b7cc06e978412c4c4973
Author: Oliver Lowe <o@olowe.co>
Date: Tue, 14 Dec 2021 14:32:17 +1100
cmd/recursor: cache empty answers too
Diffstat:
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/cmd/recursor/recursor.go b/cmd/recursor/recursor.go
@@ -145,18 +145,17 @@ func handler(w dns.ResponseWriter, qmsg *dnsmessage.Message) {
}
rmsg.Header.RCode = resolved.Header.RCode
rmsg.Answers = resolved.Answers
+ cache.Lock()
+ cache.m[q] = rmsg.Answers
+ fmt.Fprintf(os.Stderr, "cached %s %s\n", q.Name, q.Type)
+ cache.Unlock()
if len(rmsg.Answers) == 0 {
rmsg.Authorities = resolved.Authorities
w.WriteMsg(rmsg)
- fmt.Fprintf(os.Stderr, "finished %s %s\n", q.Name, q.Type)
return
}
rmsg.Answers = resolved.Answers
w.WriteMsg(rmsg)
- cache.Lock()
- cache.m[q] = rmsg.Answers
- fmt.Fprintf(os.Stderr, "added %s %s to cache\n", q.Name, q.Type)
- cache.Unlock()
}
var cache = struct{