summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Wellington <bwelling@xbill.org>2020-06-30 10:41:01 -0700
committerBrian Wellington <bwelling@xbill.org>2020-06-30 10:41:01 -0700
commit382000b2347131da35142778c074fdb2abc609e5 (patch)
treef30fc2b853eada8099290b597e76a7a36951a781
parent29435796ea09cae99dbf140180011dd6eda08c28 (diff)
downloaddnspython-382000b2347131da35142778c074fdb2abc609e5.tar.gz
Remove dns.message.Message multi field.
The only user of this is the internal _WireReader class, so just pass it the flag rather than store it on the message.
-rw-r--r--dns/message.py13
-rw-r--r--dns/message.pyi1
2 files changed, 6 insertions, 8 deletions
diff --git a/dns/message.py b/dns/message.py
index 9fd3d77..00359ef 100644
--- a/dns/message.py
+++ b/dns/message.py
@@ -115,7 +115,6 @@ class Message:
self.xfr = False
self.origin = None
self.tsig_ctx = None
- self.multi = False
self.index = {}
@property
@@ -725,11 +724,12 @@ class _WireReader:
question_only: Are we only reading the question?
one_rr_per_rrset: Put each RR into its own RRset?
ignore_trailing: Ignore trailing junk at end of request?
+ multi: Is this message part of a multi-message sequence?
DNS dynamic updates.
"""
def __init__(self, wire, initialize_message, question_only=False,
- one_rr_per_rrset=False, ignore_trailing=False):
+ one_rr_per_rrset=False, ignore_trailing=False, multi=False):
self.wire = dns.wiredata.maybe_wrap(wire)
self.message = None
self.current = 0
@@ -737,6 +737,7 @@ class _WireReader:
self.question_only = question_only
self.one_rr_per_rrset = one_rr_per_rrset
self.ignore_trailing = ignore_trailing
+ self.multi = multi
def _get_question(self, section_number, qcount):
"""Read the next *qcount* records from the wire data and add them to
@@ -818,7 +819,7 @@ class _WireReader:
self.message.request_mac,
rr_start,
self.message.tsig_ctx,
- self.message.multi)
+ self.multi)
self.message.tsig = dns.rrset.from_rdata(absolute_name, 0, rd)
else:
rrset = self.message.find_rrset(section, name,
@@ -855,8 +856,7 @@ class _WireReader:
self._get_section(MessageSection.ADDITIONAL, adcount)
if not self.ignore_trailing and self.current != l:
raise TrailingJunk
- if self.message.multi and self.message.tsig_ctx and \
- not self.message.had_tsig:
+ if self.multi and self.message.tsig_ctx and not self.message.had_tsig:
self.message.tsig_ctx.update(self.wire)
return self.message
@@ -923,10 +923,9 @@ def from_wire(wire, keyring=None, request_mac=b'', xfr=False, origin=None,
message.xfr = xfr
message.origin = origin
message.tsig_ctx = tsig_ctx
- message.multi = multi
reader = _WireReader(wire, initialize_message, question_only,
- one_rr_per_rrset, ignore_trailing)
+ one_rr_per_rrset, ignore_trailing, multi)
try:
m = reader.read()
except dns.exception.FormError:
diff --git a/dns/message.pyi b/dns/message.pyi
index 8b83a78..6cf12d3 100644
--- a/dns/message.pyi
+++ b/dns/message.pyi
@@ -34,7 +34,6 @@ class Message:
self.origin = None
self.tsig_ctx = None
self.had_tsig = False
- self.multi = False
self.index : Dict[Tuple[rrset.RRset, name.Name, int, int, Union[int,str], int], rrset.RRset] = {}
def is_response(self, other : Message) -> bool: