From: Pieter Lexis Date: Thu, 26 May 2016 14:51:13 +0000 (+0200) Subject: Add test for dnssec=process-no-validate X-Git-Tag: rec-4.0.0-beta1~1^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d8319ad6026c94066882802228b62562f6e6cc62;p=pdns Add test for dnssec=process-no-validate --- diff --git a/regression-tests.recursor-dnssec/test_Flags.py b/regression-tests.recursor-dnssec/test_Flags.py index 5cdf1169f..9225ff602 100644 --- a/regression-tests.recursor-dnssec/test_Flags.py +++ b/regression-tests.recursor-dnssec/test_Flags.py @@ -1,10 +1,11 @@ import os import socket -import unittest +#import unittest import dns from recursortests import RecursorTest + class TestFlags(RecursorTest): _confdir = 'Flags' _config_template = """dnssec=%s""" @@ -12,7 +13,10 @@ class TestFlags(RecursorTest): _dnssec_setting = None _recursors = {} - _dnssec_setting_ports = {'off': 5300, 'process': 5301, 'validate': 5302} + _dnssec_setting_ports = {'off': 5300, + 'process-no-validate': 5301, + 'process': 5302, + 'validate': 5303} @classmethod def setUp(cls): @@ -42,7 +46,8 @@ class TestFlags(RecursorTest): cls._sock = {} for dnssec_setting, port in cls._dnssec_setting_ports.items(): print("Setting up UDP socket..") - cls._sock[dnssec_setting] = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + cls._sock[dnssec_setting] = socket.socket(socket.AF_INET, + socket.SOCK_DGRAM) cls._sock[dnssec_setting].settimeout(2.0) cls._sock[dnssec_setting].connect(("127.0.0.1", port)) @@ -93,6 +98,12 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Secure_None(self): + msg = self.getQueryForSecure() + res = self.sendUDPQuery(msg, 'process-no-validate') + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) + self.assertNoRRSIGsInAnswer(res) + def testProcess_Secure_None(self): msg = self.getQueryForSecure() res = self.sendUDPQuery(msg, 'process') @@ -115,6 +126,12 @@ class TestFlags(RecursorTest): self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Secure_AD(self): + msg = self.getQueryForSecure('AD') + res = self.sendUDPQuery(msg, 'process-no-validate') + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) + self.assertNoRRSIGsInAnswer(res) + def testProcess_Secure_AD(self): msg = self.getQueryForSecure('AD') res = self.sendUDPQuery(msg, 'process') @@ -140,6 +157,14 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Secure_ADDO(self): + msg = self.getQueryForSecure('AD', 'DO') + expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD'], ['DO']) + self.assertMatchingRRSIGInAnswer(res, expected) + def testProcess_Secure_ADDO(self): msg = self.getQueryForSecure('AD', 'DO') expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) @@ -167,6 +192,14 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) + def testProcessNoValidate_Secure_ADDOCD(self): + msg = self.getQueryForSecure('AD CD', 'DO') + expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['CD', 'QR', 'RA', 'RD'], ['DO']) + self.assertMatchingRRSIGInAnswer(res, expected) + def testProcess_Secure_ADDOCD(self): msg = self.getQueryForSecure('AD CD', 'DO') expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) @@ -195,6 +228,14 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Secure_DO(self): + msg = self.getQueryForSecure('', 'DO') + expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD'], ['DO']) + self.assertMatchingRRSIGInAnswer(res, expected) + def testProcess_Secure_DO(self): msg = self.getQueryForSecure('', 'DO') expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) @@ -221,6 +262,14 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Secure_DOCD(self): + msg = self.getQueryForSecure('CD', 'DO') + expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD', 'CD'], ['DO']) + self.assertMatchingRRSIGInAnswer(res, expected) + def testProcess_Secure_DOCD(self): msg = self.getQueryForSecure('CD', 'DO') expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) @@ -249,6 +298,15 @@ class TestFlags(RecursorTest): self.assertRRsetInAnswer(res, expected) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Secure_CD(self): + msg = self.getQueryForSecure('CD') + expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD', 'CD']) + self.assertRRsetInAnswer(res, expected) + self.assertNoRRSIGsInAnswer(res) + def testProcess_Secure_CD(self): msg = self.getQueryForSecure('CD') expected = dns.rrset.from_text('ns1.example.', 0, dns.rdataclass.IN, 'A', '{prefix}.10'.format(prefix=self._PREFIX)) @@ -281,6 +339,12 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Bogus_None(self): + msg = self.getQueryForBogus() + res = self.sendUDPQuery(msg, 'process-no-validate') + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Bogus_None(self): msg = self.getQueryForBogus() res = self.sendUDPQuery(msg, 'process') @@ -303,6 +367,12 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Bogus_AD(self): + msg = self.getQueryForBogus('AD') + res = self.sendUDPQuery(msg, 'process-no-validate') + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Bogus_AD(self): msg = self.getQueryForBogus('AD') res = self.sendUDPQuery(msg, 'process') @@ -328,6 +398,13 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Bogus_ADDO(self): + msg = self.getQueryForBogus('AD', 'DO') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD'], ['DO']) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Bogus_ADDO(self): msg = self.getQueryForBogus('AD', 'DO') res = self.sendUDPQuery(msg, 'process') @@ -353,6 +430,15 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Bogus_ADDOCD(self): + msg = self.getQueryForBogus('AD CD', 'DO') + expected = dns.rrset.from_text('ted.bogus.example.', 0, dns.rdataclass.IN, 'A', '192.0.2.1') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertRcodeEqual(res, dns.rcode.NOERROR) + self.assertMessageHasFlags(res, ['CD', 'QR', 'RA', 'RD'], ['DO']) + self.assertMatchingRRSIGInAnswer(res, expected) + def testProcess_Bogus_ADDOCD(self): msg = self.getQueryForBogus('AD CD', 'DO') expected = dns.rrset.from_text('ted.bogus.example.', 0, dns.rdataclass.IN, 'A', '192.0.2.1') @@ -382,6 +468,15 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Bogus_DO(self): + msg = self.getQueryForBogus('', 'DO') + expected = dns.rrset.from_text('ted.bogus.example.', 0, dns.rdataclass.IN, 'A', '192.0.2.1') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertRcodeEqual(res, dns.rcode.NOERROR) + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD'], ['DO']) + self.assertMatchingRRSIGInAnswer(res, expected) + def testProcess_Bogus_DO(self): msg = self.getQueryForBogus('', 'DO') expected = dns.rrset.from_text('ted.bogus.example.', 0, dns.rdataclass.IN, 'A', '192.0.2.1') @@ -410,6 +505,15 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Bogus_DOCD(self): + msg = self.getQueryForBogus('CD', 'DO') + expected = dns.rrset.from_text('ted.bogus.example.', 0, dns.rdataclass.IN, 'A', '192.0.2.1') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertRcodeEqual(res, dns.rcode.NOERROR) + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD', 'CD'], ['DO']) + self.assertMatchingRRSIGInAnswer(res, expected) + def testProcess_Bogus_DOCD(self): msg = self.getQueryForBogus('CD', 'DO') expected = dns.rrset.from_text('ted.bogus.example.', 0, dns.rdataclass.IN, 'A', '192.0.2.1') @@ -441,6 +545,16 @@ class TestFlags(RecursorTest): self.assertRRsetInAnswer(res, expected) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Bogus_CD(self): + msg = self.getQueryForBogus('CD') + expected = dns.rrset.from_text('ted.bogus.example.', 0, dns.rdataclass.IN, 'A', '192.0.2.1') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertRcodeEqual(res, dns.rcode.NOERROR) + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD', 'CD']) + self.assertRRsetInAnswer(res, expected) + self.assertNoRRSIGsInAnswer(res) + def testProcess_Bogus_CD(self): msg = self.getQueryForBogus('CD') expected = dns.rrset.from_text('ted.bogus.example.', 0, dns.rdataclass.IN, 'A', '192.0.2.1') @@ -476,6 +590,13 @@ class TestFlags(RecursorTest): self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) self.assertNoRRSIGsInAnswer(res) + def testProcessNoValidate_Insecure_None(self): + msg = self.getQueryForInsecure() + res = self.sendUDPQuery(msg, 'process-no-validate') + self.assertRcodeEqual(res, dns.rcode.NOERROR) + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) + self.assertNoRRSIGsInAnswer(res) + def testProcess_Insecure_None(self): msg = self.getQueryForInsecure() res = self.sendUDPQuery(msg, 'process') @@ -501,6 +622,14 @@ class TestFlags(RecursorTest): self.assertNoRRSIGsInAnswer(res) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Insecure_AD(self): + msg = self.getQueryForInsecure('AD') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD']) + self.assertNoRRSIGsInAnswer(res) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Insecure_AD(self): msg = self.getQueryForInsecure('AD') res = self.sendUDPQuery(msg, 'process') @@ -528,6 +657,14 @@ class TestFlags(RecursorTest): self.assertNoRRSIGsInAnswer(res) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Insecure_ADDO(self): + msg = self.getQueryForInsecure('AD', 'DO') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD'], ['DO']) + self.assertNoRRSIGsInAnswer(res) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Insecure_ADDO(self): msg = self.getQueryForInsecure('AD', 'DO') res = self.sendUDPQuery(msg, 'process') @@ -555,6 +692,14 @@ class TestFlags(RecursorTest): self.assertNoRRSIGsInAnswer(res) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Insecure_ADDOCD(self): + msg = self.getQueryForInsecure('AD CD', 'DO') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['CD', 'QR', 'RA', 'RD'], ['DO']) + self.assertNoRRSIGsInAnswer(res) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Insecure_ADDOCD(self): msg = self.getQueryForInsecure('AD CD', 'DO') res = self.sendUDPQuery(msg, 'process') @@ -583,6 +728,14 @@ class TestFlags(RecursorTest): self.assertNoRRSIGsInAnswer(res) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Insecure_DO(self): + msg = self.getQueryForInsecure('', 'DO') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD'], ['DO']) + self.assertNoRRSIGsInAnswer(res) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Insecure_DO(self): msg = self.getQueryForInsecure('', 'DO') res = self.sendUDPQuery(msg, 'process') @@ -610,6 +763,14 @@ class TestFlags(RecursorTest): self.assertNoRRSIGsInAnswer(res) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Insecure_DOCD(self): + msg = self.getQueryForInsecure('CD', 'DO') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD', 'CD'], ['DO']) + self.assertNoRRSIGsInAnswer(res) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Insecure_DOCD(self): msg = self.getQueryForInsecure('CD', 'DO') res = self.sendUDPQuery(msg, 'process') @@ -637,6 +798,14 @@ class TestFlags(RecursorTest): self.assertNoRRSIGsInAnswer(res) self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcessNoValidate_Insecure_CD(self): + msg = self.getQueryForInsecure('CD') + res = self.sendUDPQuery(msg, 'process-no-validate') + + self.assertMessageHasFlags(res, ['QR', 'RA', 'RD', 'CD']) + self.assertNoRRSIGsInAnswer(res) + self.assertRcodeEqual(res, dns.rcode.NOERROR) + def testProcess_Insecure_CD(self): msg = self.getQueryForInsecure('CD') res = self.sendUDPQuery(msg, 'process')