]>
git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.recursor-dnssec/test_EDNS.py
8 from recursortests
import RecursorTest
9 from twisted
.internet
.protocol
import DatagramProtocol
10 from twisted
.internet
import reactor
12 ednsBufferReactorRunning
= False
14 class EDNSTest(RecursorTest
):
16 These tests are designed to check if we respond correctly to EDNS queries
17 from clients. Note that buffer-size tests go into test_EDNSBufferSize
21 def testEDNSUnknownOpt(self
):
23 Ensure the recursor does not reply with an unknown option when one is
26 query
= dns
.message
.make_query('version.bind.', 'TXT', 'CH', use_edns
=0,
28 unknownOpt
= dns
.edns
.GenericOption(65005, b
'1234567890')
29 query
.options
= [unknownOpt
]
30 response
= self
.sendUDPQuery(query
)
31 self
.assertRcodeEqual(response
, dns
.rcode
.NOERROR
)
32 self
.assertEqual(response
.options
, [])
34 def testEDNSBadVers(self
):
36 Ensure the rcode is BADVERS when we send an unsupported EDNS version and
37 the query is not processed any further.
39 query
= dns
.message
.make_query('version.bind.', 'TXT', 'CH', use_edns
=5,
41 response
= self
.sendUDPQuery(query
)
42 self
.assertRcodeEqual(response
, dns
.rcode
.BADVERS
)
43 self
.assertEqual(response
.answer
, [])