From 07c4f74d858590cd3d7976995926034a837993ee Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 3 Sep 2012 07:40:16 +0200 Subject: [PATCH] don't assume there is a question section closes #24 --- defaults.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/defaults.go b/defaults.go index 91a1ea80..5d280d7d 100644 --- a/defaults.go +++ b/defaults.go @@ -17,8 +17,10 @@ func (dns *Msg) SetReply(request *Msg) *Msg { dns.MsgHdr.Response = true dns.MsgHdr.Opcode = OpcodeQuery dns.MsgHdr.Rcode = RcodeSuccess - dns.Question = make([]Question, 1) - dns.Question[0] = request.Question[0] + if len(request.Question) > 0 { + dns.Question = make([]Question, 1) + dns.Question[0] = request.Question[0] + } return dns } @@ -47,8 +49,11 @@ func (dns *Msg) SetRcode(request *Msg, rcode int) *Msg { dns.MsgHdr.Opcode = OpcodeQuery dns.MsgHdr.Response = true dns.MsgHdr.Id = request.MsgHdr.Id - dns.Question = make([]Question, 1) - dns.Question[0] = request.Question[0] + // Note that this is actually a FORMERR + if len(request.Question) > 0 { + dns.Question = make([]Question, 1) + dns.Question[0] = request.Question[0] + } return dns }