Current Path: > > > usr > lib > python3.6 > > > site-packages > dns
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
rdtypes | Directory | - | - | |
__init__.py | File | 1327 bytes | September 20 2016 16:24:02. | |
_compat.py | File | 1313 bytes | September 20 2016 16:24:02. | |
dnssec.py | File | 14791 bytes | September 20 2016 16:24:02. | |
e164.py | File | 3147 bytes | September 20 2016 16:24:02. | |
edns.py | File | 4384 bytes | September 20 2016 16:24:02. | |
entropy.py | File | 4465 bytes | September 20 2016 16:24:02. | |
exception.py | File | 4626 bytes | September 20 2016 19:13:40. | |
flags.py | File | 2664 bytes | September 20 2016 16:24:02. | |
grange.py | File | 1973 bytes | September 20 2016 16:24:02. | |
hash.py | File | 1100 bytes | September 20 2016 16:24:02. | |
inet.py | File | 3242 bytes | September 20 2016 16:24:02. | |
ipv4.py | File | 2031 bytes | September 20 2016 16:24:02. | |
ipv6.py | File | 5293 bytes | September 20 2016 16:24:02. | |
message.py | File | 43129 bytes | September 26 2016 15:38:18. | |
name.py | File | 29425 bytes | May 23 2024 10:29:27. | |
namedict.py | File | 3677 bytes | September 20 2016 16:24:02. | |
node.py | File | 6056 bytes | September 20 2016 16:24:02. | |
opcode.py | File | 2538 bytes | September 20 2016 16:24:02. | |
query.py | File | 19645 bytes | May 23 2024 10:29:27. | |
rcode.py | File | 3104 bytes | September 20 2016 16:24:02. | |
rdata.py | File | 14997 bytes | September 20 2016 16:24:02. | |
rdataclass.py | File | 3258 bytes | September 20 2016 16:24:02. | |
rdataset.py | File | 11556 bytes | September 20 2016 16:24:02. | |
rdatatype.py | File | 5339 bytes | September 20 2016 19:54:45. | |
renderer.py | File | 11923 bytes | September 20 2016 16:24:02. | |
resolver.py | File | 52105 bytes | September 26 2016 15:52:30. | |
reversename.py | File | 3311 bytes | September 20 2016 16:24:02. | |
rrset.py | File | 5995 bytes | September 25 2016 19:25:33. | |
set.py | File | 7715 bytes | September 20 2016 16:24:02. | |
tokenizer.py | File | 18313 bytes | September 20 2016 16:24:02. | |
tsig.py | File | 7718 bytes | September 20 2016 16:24:02. | |
tsigkeyring.py | File | 1737 bytes | September 20 2016 16:24:02. | |
ttl.py | File | 2283 bytes | September 20 2016 16:24:02. | |
update.py | File | 10012 bytes | September 20 2016 16:24:02. | |
version.py | File | 1258 bytes | September 20 2016 16:24:02. | |
wiredata.py | File | 3731 bytes | September 20 2016 16:24:02. | |
zone.py | File | 40026 bytes | September 29 2016 22:29:39. |
# Copyright (C) 2006, 2007, 2009, 2011 Nominum, Inc. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose with or without fee is hereby granted, # provided that the above copyright notice and this permission notice # appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """DNS E.164 helpers @var public_enum_domain: The DNS public ENUM domain, e164.arpa. @type public_enum_domain: dns.name.Name object """ import dns.exception import dns.name import dns.resolver from ._compat import string_types public_enum_domain = dns.name.from_text('e164.arpa.') def from_e164(text, origin=public_enum_domain): """Convert an E.164 number in textual form into a Name object whose value is the ENUM domain name for that number. @param text: an E.164 number in textual form. @type text: str @param origin: The domain in which the number should be constructed. The default is e164.arpa. @type origin: dns.name.Name object or None @rtype: dns.name.Name object """ parts = [d for d in text if d.isdigit()] parts.reverse() return dns.name.from_text('.'.join(parts), origin=origin) def to_e164(name, origin=public_enum_domain, want_plus_prefix=True): """Convert an ENUM domain name into an E.164 number. @param name: the ENUM domain name. @type name: dns.name.Name object. @param origin: A domain containing the ENUM domain name. The name is relativized to this domain before being converted to text. @type origin: dns.name.Name object or None @param want_plus_prefix: if True, add a '+' to the beginning of the returned number. @rtype: str """ if origin is not None: name = name.relativize(origin) dlabels = [d for d in name.labels if d.isdigit() and len(d) == 1] if len(dlabels) != len(name.labels): raise dns.exception.SyntaxError('non-digit labels in ENUM domain name') dlabels.reverse() text = b''.join(dlabels) if want_plus_prefix: text = b'+' + text return text def query(number, domains, resolver=None): """Look for NAPTR RRs for the specified number in the specified domains. e.g. lookup('16505551212', ['e164.dnspython.org.', 'e164.arpa.']) """ if resolver is None: resolver = dns.resolver.get_default_resolver() e_nx = dns.resolver.NXDOMAIN() for domain in domains: if isinstance(domain, string_types): domain = dns.name.from_text(domain) qname = dns.e164.from_e164(number, domain) try: return resolver.query(qname, 'NAPTR') except dns.resolver.NXDOMAIN as e: e_nx += e raise e_nx
SILENT KILLER Tool