This commit is contained in:
Matthias Radestock committed 2015-08-20 18:46:55 +01:00
1 parent 8182022d52
commit 69986e77dd
1 file changed
+12 -12
+12 -12
View File
@@ -166,8 +166,8 @@ func (h *handler) handleLocal(w dns.ResponseWriter, req *dns.Msg) {
ip := addr.IP4()
response.Answer[i] = &dns.A{Hdr: header, A: ip}
}
shuffleAnswers(&response.Answer)
h.truncateResponse(req, &response)
h.ns.debugf("response: %+v", response)
@@ -255,17 +255,6 @@ func (h *handler) handleRecursive(w dns.ResponseWriter, req *dns.Msg) {
h.errorResponse(req, dns.RcodeServerFailure, w)
}
func shuffleAnswers(answers *[]dns.RR) {
if len(*answers) <= 1 {
return
}
for i := range *answers {
j := rand.Intn(i + 1)
(*answers)[i], (*answers)[j] = (*answers)[j], (*answers)[i]
}
}
func (h *handler) truncateResponse(req, response *dns.Msg) {
maxSize := h.getMaxResponseSize(req)
if len(response.Answer) <= 1 || maxSize <= 0 {
@@ -296,3 +285,14 @@ func (h *handler) getMaxResponseSize(req *dns.Msg) int {
}
return h.maxResponseSize
}
func shuffleAnswers(answers *[]dns.RR) {
if len(*answers) <= 1 {
return
}
for i := range *answers {
j := rand.Intn(i + 1)
(*answers)[i], (*answers)[j] = (*answers)[j], (*answers)[i]
}
}