aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/pkg/response/typify_test.go19
1 files changed, 13 insertions, 6 deletions
diff --git a/plugin/pkg/response/typify_test.go b/plugin/pkg/response/typify_test.go
index 6be9aa8ff..f22b806fb 100644
--- a/plugin/pkg/response/typify_test.go
+++ b/plugin/pkg/response/typify_test.go
@@ -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
-}