don't assume there is a question section

closes #24
This commit is contained in:
Miek Gieben 2012-09-03 07:40:16 +02:00
parent 4a8cf09877
commit 07c4f74d85
1 changed files with 9 additions and 4 deletions

View File

@ -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
}