From: Bob Halley Date: Tue, 21 Jul 2020 02:23:30 +0000 (-0700) Subject: Fix resolver EDNS0 payload size when EDNS0 enabled by resolv.conf. X-Git-Tag: v2.1.0rc1~168 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e87e17609be89b39f287d8950ae3693ed369bc9;p=thirdparty%2Fdnspython.git Fix resolver EDNS0 payload size when EDNS0 enabled by resolv.conf. [Issue #546] --- 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)