mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 16:24:19 -04:00
pkg/response: add extra test for impossible msg (#2727)
Add another test case for impossible DNS messages which should not be cached. This adds a check for a message that denies its own existence. Fixes #2724. Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
@@ -42,12 +42,24 @@ func TestTypifyRRSIG(t *testing.T) {
|
||||
}
|
||||
|
||||
m = delegationMsgRRSIGFail()
|
||||
m = addOpt(m)
|
||||
m.Extra = append(m.Extra, test.OPT(4096, true))
|
||||
if mt, _ := Typify(m, utc); mt != OtherError {
|
||||
t.Errorf("Message is wrongly typified, expected OtherError, got %s", mt)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTypifyImpossible(t *testing.T) {
|
||||
// create impossible message that denies it's own existence
|
||||
m := new(dns.Msg)
|
||||
m.SetQuestion("bar.www.example.org.", dns.TypeAAAA)
|
||||
m.Rcode = dns.RcodeNameError // name does not exist
|
||||
m.Answer = []dns.RR{test.CNAME("bar.www.example.org. IN CNAME foo.example.org.")} // but we add a cname with the name!
|
||||
mt, _ := Typify(m, time.Now().UTC())
|
||||
if mt != OtherError {
|
||||
t.Errorf("Impossible message not typified as OtherError, got %s", mt)
|
||||
}
|
||||
}
|
||||
|
||||
func delegationMsg() *dns.Msg {
|
||||
return &dns.Msg{
|
||||
Ns: []dns.RR{
|
||||
@@ -77,8 +89,3 @@ func delegationMsgRRSIGFail() *dns.Msg {
|
||||
)
|
||||
return del
|
||||
}
|
||||
|
||||
func addOpt(m *dns.Msg) *dns.Msg {
|
||||
m.Extra = append(m.Extra, test.OPT(4096, true))
|
||||
return m
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user