Skip to content
Snippets Groups Projects
Commit 901e5264 authored by Jan Hák's avatar Jan Hák Committed by Daniel Salzman
Browse files

knotd: EDNS cookies - extra tests for TCP cookies

parent 6b5cf61e
No related branches found
No related tags found
No related merge requests found
......@@ -40,6 +40,16 @@ def check_rcode(server, query, rcode, msg):
compare(response.rcode(), rcode, msg)
return response
def check_rcode_tcp(server, query, rcode, msg):
try:
response = dns.query.tcp(query, server.addr, port=server.port, timeout=1)
except dns.exception.Timeout:
response = None
if response is None:
return None
compare(response.rcode(), rcode, msg)
return response
t = Test(stress=False)
ModCookies.check()
......@@ -61,6 +71,11 @@ check_rcode(knot, query, rcodeNoerror, "NO EDNS")
query = dns.message.make_query("dns1.example.com", "A", use_edns=True)
check_rcode(knot, query, rcodeNoerror, "NO COOKIE OPT")
# Try a query without a server cookie over TCP
cookieOpt = dns.edns.option_from_wire(cookieOpcode, clientCookie, 0, clientCookieLen)
query = dns.message.make_query("dns1.example.com", "A", use_edns=True, options=[cookieOpt])
response = check_rcode_tcp(knot, query, rcodeNoerror, "ONLY CLIENT COOKIE [TCP]")
# Try a query without a server cookie
cookieOpt = dns.edns.option_from_wire(cookieOpcode, clientCookie, 0, clientCookieLen)
query = dns.message.make_query("dns1.example.com", "A", use_edns=True, options=[cookieOpt])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment