From 0e87e17609be89b39f287d8950ae3693ed369bc9 Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Mon, 20 Jul 2020 19:23:30 -0700 Subject: [PATCH] Fix resolver EDNS0 payload size when EDNS0 enabled by resolv.conf. [Issue #546] --- dns/resolver.py | 4 ++-- tests/test_resolver.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dns/resolver.py b/dns/resolver.py index bad24dc7..f9d54ea3 100644 --- a/dns/resolver.py +++ b/dns/resolver.py @@ -832,7 +832,7 @@ class Resolver: if opt == 'rotate': self.rotate = True elif opt == 'edns0': - self.use_edns(0, 0, 0) + self.use_edns() elif 'timeout' in opt: try: self.timeout = int(opt.split(':')[1]) @@ -1208,7 +1208,7 @@ class Resolver: self.keyname = keyname self.keyalgorithm = algorithm - def use_edns(self, edns, ednsflags, payload): + def use_edns(self, edns=0, ednsflags=0, payload=1280): """Configure EDNS behavior. *edns*, an ``int``, is the EDNS level to use. Specifying diff --git a/tests/test_resolver.py b/tests/test_resolver.py index 31e49f8b..85abeb26 100644 --- a/tests/test_resolver.py +++ b/tests/test_resolver.py @@ -166,6 +166,7 @@ class BaseResolverTests(unittest.TestCase): self.assertEqual(r.timeout, 1) self.assertEqual(r.ndots, 2) self.assertEqual(r.edns, 0) + self.assertEqual(r.payload, 1280) def testReadOptionsBadTimeouts(self): f = StringIO(bad_timeout_1) -- 2.47.3