Skip to content
Snippets Groups Projects
Commit 41a1cff0 authored by Ward Vandewege's avatar Ward Vandewege Committed by Joona Hoikkala
Browse files

When appending the SOA for authoritative NXDOMAIN responses, it needs to go in (#151)

the Authoritative section, not the Answer section.

This fixes the acme-dns validation for the lego Let's Encrypt client.
parent 4f5fad0d
No related branches found
No related tags found
No related merge requests found
...@@ -104,7 +104,7 @@ func (d *DNSServer) readQuery(m *dns.Msg) { ...@@ -104,7 +104,7 @@ func (d *DNSServer) readQuery(m *dns.Msg) {
m.MsgHdr.Authoritative = authoritative m.MsgHdr.Authoritative = authoritative
if authoritative { if authoritative {
if m.MsgHdr.Rcode == dns.RcodeNameError { if m.MsgHdr.Rcode == dns.RcodeNameError {
m.Answer = append(m.Answer, d.SOA) m.Ns = append(m.Ns, d.SOA)
} }
} }
......
...@@ -140,11 +140,11 @@ func TestAuthoritative(t *testing.T) { ...@@ -140,11 +140,11 @@ func TestAuthoritative(t *testing.T) {
if answer.Rcode != dns.RcodeNameError { if answer.Rcode != dns.RcodeNameError {
t.Errorf("Was expecing NXDOMAIN rcode, but got [%s] instead.", dns.RcodeToString[answer.Rcode]) t.Errorf("Was expecing NXDOMAIN rcode, but got [%s] instead.", dns.RcodeToString[answer.Rcode])
} }
if len(answer.Answer) != 1 { if len(answer.Ns) != 1 {
t.Errorf("Was expecting exactly one answer (SOA) for invalid subdomain, but got %d", len(answer.Answer)) t.Errorf("Was expecting exactly one answer (SOA) for invalid subdomain, but got %d", len(answer.Ns))
} }
if answer.Answer[0].Header().Rrtype != dns.TypeSOA { if answer.Ns[0].Header().Rrtype != dns.TypeSOA {
t.Errorf("Was expecting SOA record as answer for NXDOMAIN but got [%s]", dns.TypeToString[answer.Answer[0].Header().Rrtype]) t.Errorf("Was expecting SOA record as answer for NXDOMAIN but got [%s]", dns.TypeToString[answer.Ns[0].Header().Rrtype])
} }
if !answer.MsgHdr.Authoritative { if !answer.MsgHdr.Authoritative {
t.Errorf("Was expecting authoritative bit to be set") t.Errorf("Was expecting authoritative bit to be set")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment