From 1d1dad949863109f5c626ab0e3e307c3ca74b47c Mon Sep 17 00:00:00 2001 From: StalkR Date: Thu, 15 Jan 2015 11:57:52 +0100 Subject: [PATCH] xfr: Transfer.Out use a new Msg every time --- xfr.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/xfr.go b/xfr.go index 13a883b4..d220aa1d 100644 --- a/xfr.go +++ b/xfr.go @@ -160,12 +160,11 @@ func (t *Transfer) inIxfr(id uint16, c chan *Envelope) { // The server is responsible for sending the correct sequence of RRs through the // channel ch. func (t *Transfer) Out(w ResponseWriter, q *Msg, ch chan *Envelope) error { - r := new(Msg) - // Compress? - r.SetReply(q) - r.Authoritative = true - for x := range ch { + r := new(Msg) + // Compress? + r.SetReply(q) + r.Authoritative = true // assume it fits TODO(miek): fix r.Answer = append(r.Answer, x.RR...) if err := w.WriteMsg(r); err != nil { @@ -173,7 +172,6 @@ func (t *Transfer) Out(w ResponseWriter, q *Msg, ch chan *Envelope) error { } } w.TsigTimersOnly(true) - r.Answer = nil return nil }