Package dns :: Module name |
[hide private]
[frames] | no frames]

# Module name

source code

DNS Names.

Classes | [hide private]
| EmptyLabel A DNS label is empty.
| BadEscape An escaped code in a text format of DNS name is invalid.
| BadPointer A DNS compression pointer points forward instead of backward.
| BadLabelType The label type in DNS name wire format is unknown.
| NeedAbsoluteNameOrOrigin An attempt was made to convert a non-absolute name to wire when there was also a non-absolute (or missing) origin.
| NameTooLong A DNS name is > 255 octets long.
| LabelTooLong A DNS label is > 63 octets long.
| AbsoluteConcatenation An attempt was made to append anything other than the empty name to an absolute DNS name.
| NoParent An attempt was made to get the parent of the root name or the empty name.
| NoIDNA2008 IDNA 2008 processing was requested but the idna module is not available.
| IDNAException IDNA processing raised an exception.
| IDNACodec Abstract base class for IDNA encoder/decoders.
| IDNA2003Codec IDNA 2003 encoder/decoder.
| IDNA2008Codec IDNA 2008 encoder/decoder.
| Name A DNS name.

Functions | [hide private]
string |
_escapify(label, unicode_mode=False) Escape the characters in label which need it. | source code
_validate_labels(labels) Check for empty labels in the middle of a label sequence, labels that are too long, and for too many labels. | source code
_ensure_bytes(label) | source code
dns.name.Name object |
from_unicode(text, origin=<DNS name .>, idna_codec=None) Convert unicode text into a Name object. | source code
dns.name.Name object |
from_text(text, origin=<DNS name .>, idna_codec=None) Convert text into a Name object. | source code
(dns.name.Name object, int) tuple |
from_wire(message, current) Convert possibly compressed wire format into a Name. | source code

Variables | [hide private]
| have_idna_2008 = `True`
| maxint = `9223372036854775807`
| NAMERELN_NONE = `0`
| NAMERELN_SUPERDOMAIN = `1`
| NAMERELN_SUBDOMAIN = `2`
| NAMERELN_EQUAL = `3`
| NAMERELN_COMMONANCESTOR = `4`
| _escaped = `bytearray(b'"().;\\@$')`
| IDNA_2003_Practical = `IDNA2003Codec(False)`
| IDNA_2003_Strict = `IDNA2003Codec(True)`
| IDNA_2003 = `IDNA2003Codec(False)`
| IDNA_2008_Practical = `IDNA2008Codec(True, False, True, False)`
| IDNA_2008_UTS_46 = `IDNA2008Codec(True, False, False, False)`
| IDNA_2008_Strict = `IDNA2008Codec(False, False, False, True)`
| IDNA_2008_Transitional = `IDNA2008Codec(True, True, False, False)`
| IDNA_2008 = `IDNA2008Codec(True, False, True, False)`
dns.name.Name object | root = `<DNS name .>` The DNS root name.
dns.name.Name object | empty = `<DNS name @>` The empty DNS name.
| __package__ = ``'``dns``'``

Function Details | [hide private]

### _escapify(label, unicode_mode=False) | source code
Escape the characters in label which need it. Parameters: `unicode_mode` - escapify only special and whitespace (<= 0x20) characters Returns: string the escaped string

### _validate_labels(labels) | source code
Check for empty labels in the middle of a label sequence, labels that are too long, and for too many labels. Raises: `NameTooLong` - the name as a whole is too long `EmptyLabel` - a label is empty (i.e. the root label) and appears in a position other than the end of the label sequence

### from_unicode(text, origin=<DNS name .>, idna_codec=None) | source code
Convert unicode text into a Name object. Labels are encoded in IDN ACE form. Parameters: `text` (Unicode string) - The text to convert into a name. `origin` (dns.name.Name) - The origin to append to non-absolute names. `idna_codec` (dns.name.IDNA) - IDNA encoder/decoder. If None, the default IDNA 2003 encoder/decoder is used. Returns: dns.name.Name object

### from_text(text, origin=<DNS name .>, idna_codec=None) | source code
Convert text into a Name object. Parameters: `text` (string) - The text to convert into a name. `origin` (dns.name.Name) - The origin to append to non-absolute names. `idna_codec` (dns.name.IDNA) - IDNA encoder/decoder. If None, the default IDNA 2003 encoder/decoder is used. Returns: dns.name.Name object

### from_wire(message, current) | source code
Convert possibly compressed wire format into a Name. Parameters: `message` (string) - the entire DNS message `current` (int) - the offset of the beginning of the name from the start of the message Returns: (dns.name.Name object, int) tuple a tuple consisting of the name that was read and the number of bytes of the wire format message which were consumed reading it Raises: `dns.name.BadPointer` - a compression pointer did not point backwards in the message `dns.name.BadLabelType` - an invalid label type was encountered.