From: Brian Wellington Date: Mon, 10 Aug 2020 18:41:22 +0000 (-0700) Subject: Fix dns.message.use_tsig(). X-Git-Tag: v2.1.0rc1~97^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ac073718d44c79e4a34efd9894966d4e6f032a9;p=thirdparty%2Fdnspython.git Fix dns.message.use_tsig(). Passing only a dns.tsig.Key to dns.message.use_tsig() didn't work, as the placeholder tsig rrset on the message object was created with None as its name, not the name associated with the key. Also do a bit of refactoring to make the code more clear. --- diff --git a/dns/message.py b/dns/message.py index 4b4eb4d3..5a031180 100644 --- a/dns/message.py +++ b/dns/message.py @@ -520,9 +520,10 @@ class Message: """ if isinstance(keyring, dns.tsig.Key): - self.keyring = keyring + key = keyring + keyname = key.name elif callable(keyring): - self.keyring = keyring(self, keyname) + key = keyring(self, keyname) else: if isinstance(keyname, str): keyname = dns.name.from_text(keyname) @@ -531,7 +532,7 @@ class Message: key = keyring[keyname] if isinstance(key, bytes): key = dns.tsig.Key(keyname, key, algorithm) - self.keyring = key + self.keyring = key if original_id is None: original_id = self.id self.tsig = self._make_tsig(keyname, self.keyring.algorithm, 0, fudge,