Package dns :: Module message
[show private | hide private]
[frames | no frames]

Module dns.message

DNS Messages
Classes
Message A DNS message.
_TextReader Text format reader.
_WireReader Wire format reader.

Exceptions
BadEDNS Raised if an OPT record occurs somewhere other than the start of the additional data section.
BadTSIG Raised if a TSIG record occurs somewhere other than the end of the additional data section.
ShortHeader Raised if the DNS packet passed to from_wire() is too short.
TrailingJunk Raised if the DNS packet passed to from_wire() has extra junk at the end of it.
UnknownHeaderField Raised if a header field name is not recognized when converting from text into a message.
UnknownTSIGKey Raised if we got a TSIG but don't know the key.

Function Summary
dns.message.Message object from_file(f)
Read the next text format message from the specified file.
dns.message.Message object from_text(text)
Convert the text format message into a message object.
dns.message.Message object from_wire(wire, keyring, request_mac, xfr, origin, tsig_ctx, multi, first, question_only)
Convert a DNS wire format message into a message object.
dns.message.Message object make_query(qname, rdtype, rdclass)
Make a query message.

Function Details

from_file(f)

Read the next text format message from the specified file.
Parameters:
f - file or string. If f is a string, it is treated as the name of a file to open.
Returns:
dns.message.Message object
Raises:
UnknownHeaderField -
dns.exception.SyntaxError -

from_text(text)

Convert the text format message into a message object.
Parameters:
text - The text format message.
           (type=string)
Returns:
dns.message.Message object
Raises:
UnknownHeaderField -
dns.exception.SyntaxError -

from_wire(wire, keyring=None, request_mac='', xfr=False, origin=None, tsig_ctx=None, multi=False, first=True, question_only=False)

Convert a DNS wire format message into a message object.
Parameters:
keyring - The keyring to use if the message is signed.
           (type=dict)
request_mac - If the message is a response to a TSIG-signed request, request_mac should be set to the MAC of that request.
           (type=string)
xfr - Is this message part of a zone transfer?
           (type=bool)
origin - If the message is part of a zone transfer, origin should be the origin name of the zone.
           (type=dns.name.Name object)
tsig_ctx - The ongoing TSIG context, used when validating zone transfers.
           (type=hmac.HMAC object)
multi - Is this message part of a multiple message sequence?
           (type=bool)
first - Is this message standalone, or the first of a multi message sequence?
           (type=bool)
question_only - Read only up to the end of the question section?
           (type=bool)
Returns:
dns.message.Message object
Raises:
ShortHeader - The message is less than 12 octets long.
TrailingJunk - There were octets in the message past the end of the proper DNS message.
BadEDNS - An OPT record was in the wrong section, or occurred more than once.
BadTSIG - A TSIG record was not the last record of the additional data section.

make_query(qname, rdtype, rdclass=1)

Make a query message.

The query name, type, and class may all be specified either as objects of the appropriate type, or as strings.

The query will have a randomly choosen query id, and its DNS flags will be set to dns.flags.RD.
Parameters:
qname - The query name.
           (type=dns.name.Name object or string)
rdtype - The desired rdata type.
           (type=int)
rdclass - The desired rdata class; the default is class IN.
           (type=int)
Returns:
dns.message.Message object

Generated by Epydoc 2.1 on Thu Apr 1 12:10:11 2004 http://epydoc.sf.net