Skip to content
Snippets Groups Projects
Commit 303a221b authored by Jan Hák's avatar Jan Hák
Browse files

knotd: EDNS cookies - extra tests for TCP cookies

parent 1476da0f
Branches
Tags
1 merge request!1410Knot DNS cookies for TCP
Pipeline #92855 passed with stages
in 6 minutes and 25 seconds
......@@ -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% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment