summaryrefslogtreecommitdiff
path: root/dns/message.py
diff options
context:
space:
mode:
authorBrian Wellington <bwelling@xbill.org>2021-10-14 11:15:55 -0700
committerBrian Wellington <bwelling@xbill.org>2021-10-14 11:15:55 -0700
commit4eb5dc951ebe26f0b8b909d241607a19ac49fdc6 (patch)
tree8cbb6618ee7d77c4e948f0d9260a17b485610dd9 /dns/message.py
parentfd830f71579f8337d0f9a0c3c40e7b5683957cc4 (diff)
downloaddnspython-4eb5dc951ebe26f0b8b909d241607a19ac49fdc6.tar.gz
Add id to dns.message.make_query().
Allow the caller to supply a message id when building a query.
Diffstat (limited to 'dns/message.py')
-rw-r--r--dns/message.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/dns/message.py b/dns/message.py
index baa1116..75faee2 100644
--- a/dns/message.py
+++ b/dns/message.py
@@ -1383,7 +1383,8 @@ def from_file(f, idna_codec=None, one_rr_per_rrset=False):
def make_query(qname, rdtype, rdclass=dns.rdataclass.IN, use_edns=None,
want_dnssec=False, ednsflags=None, payload=None,
- request_payload=None, options=None, idna_codec=None):
+ request_payload=None, options=None, idna_codec=None,
+ id=None):
"""Make a query message.
The query name, type, and class may all be specified either
@@ -1425,6 +1426,9 @@ def make_query(qname, rdtype, rdclass=dns.rdataclass.IN, use_edns=None,
encoder/decoder. If ``None``, the default IDNA 2003 encoder/decoder
is used.
+ *id*, an ``int`` or ``None``, the desired query id. The default is
+ ``None``, which generates a random query id.
+
Returns a ``dns.message.QueryMessage``
"""
@@ -1432,7 +1436,7 @@ def make_query(qname, rdtype, rdclass=dns.rdataclass.IN, use_edns=None,
qname = dns.name.from_text(qname, idna_codec=idna_codec)
rdtype = dns.rdatatype.RdataType.make(rdtype)
rdclass = dns.rdataclass.RdataClass.make(rdclass)
- m = QueryMessage()
+ m = QueryMessage(id=id)
m.flags |= dns.flags.RD
m.find_rrset(m.question, qname, rdclass, rdtype, create=True,
force_unique=True)