GRAYBYTE WORDPRESS FILE MANAGER9897

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.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
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/lib/python3.6/site-packages/dns/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/lib/python3.6/site-packages/dns//reversename.py
# 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 Reverse Map Names.

@var ipv4_reverse_domain: The DNS IPv4 reverse-map domain, in-addr.arpa.
@type ipv4_reverse_domain: dns.name.Name object
@var ipv6_reverse_domain: The DNS IPv6 reverse-map domain, ip6.arpa.
@type ipv6_reverse_domain: dns.name.Name object
"""

import binascii
import sys

import dns.name
import dns.ipv6
import dns.ipv4

ipv4_reverse_domain = dns.name.from_text('in-addr.arpa.')
ipv6_reverse_domain = dns.name.from_text('ip6.arpa.')


def from_address(text):
    """Convert an IPv4 or IPv6 address in textual form into a Name object whose
    value is the reverse-map domain name of the address.
    @param text: an IPv4 or IPv6 address in textual form (e.g. '127.0.0.1',
    '::1')
    @type text: str
    @rtype: dns.name.Name object
    """
    try:
        v6 = dns.ipv6.inet_aton(text)
        if dns.ipv6.is_mapped(v6):
            if sys.version_info >= (3,):
                parts = ['%d' % byte for byte in v6[12:]]
            else:
                parts = ['%d' % ord(byte) for byte in v6[12:]]
            origin = ipv4_reverse_domain
        else:
            parts = [x for x in str(binascii.hexlify(v6).decode())]
            origin = ipv6_reverse_domain
    except Exception:
        parts = ['%d' %
                 byte for byte in bytearray(dns.ipv4.inet_aton(text))]
        origin = ipv4_reverse_domain
    parts.reverse()
    return dns.name.from_text('.'.join(parts), origin=origin)


def to_address(name):
    """Convert a reverse map domain name into textual address form.
    @param name: an IPv4 or IPv6 address in reverse-map form.
    @type name: dns.name.Name object
    @rtype: str
    """
    if name.is_subdomain(ipv4_reverse_domain):
        name = name.relativize(ipv4_reverse_domain)
        labels = list(name.labels)
        labels.reverse()
        text = b'.'.join(labels)
        # run through inet_aton() to check syntax and make pretty.
        return dns.ipv4.inet_ntoa(dns.ipv4.inet_aton(text))
    elif name.is_subdomain(ipv6_reverse_domain):
        name = name.relativize(ipv6_reverse_domain)
        labels = list(name.labels)
        labels.reverse()
        parts = []
        i = 0
        l = len(labels)
        while i < l:
            parts.append(b''.join(labels[i:i + 4]))
            i += 4
        text = b':'.join(parts)
        # run through inet_aton() to check syntax and make pretty.
        return dns.ipv6.inet_ntoa(dns.ipv6.inet_aton(text))
    else:
        raise dns.exception.SyntaxError('unknown reverse-map address family')

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 01 2025 22:14:40
root / root
0755
__pycache__
--
June 15 2024 08:34:43
root / root
0755
rdtypes
--
June 15 2024 08:34:43
root / root
0755
__init__.py
1.296 KB
September 20 2016 16:24:02
root / root
0644
_compat.py
1.282 KB
September 20 2016 16:24:02
root / root
0644
dnssec.py
14.444 KB
September 20 2016 16:24:02
root / root
0644
e164.py
3.073 KB
September 20 2016 16:24:02
root / root
0644
edns.py
4.281 KB
September 20 2016 16:24:02
root / root
0644
entropy.py
4.36 KB
September 20 2016 16:24:02
root / root
0644
exception.py
4.518 KB
September 20 2016 19:13:40
root / root
0644
flags.py
2.602 KB
September 20 2016 16:24:02
root / root
0644
grange.py
1.927 KB
September 20 2016 16:24:02
root / root
0644
hash.py
1.074 KB
September 20 2016 16:24:02
root / root
0644
inet.py
3.166 KB
September 20 2016 16:24:02
root / root
0644
ipv4.py
1.983 KB
September 20 2016 16:24:02
root / root
0644
ipv6.py
5.169 KB
September 20 2016 16:24:02
root / root
0644
message.py
42.118 KB
September 26 2016 15:38:18
root / root
0644
name.py
28.735 KB
May 23 2024 10:29:27
root / root
0644
namedict.py
3.591 KB
September 20 2016 16:24:02
root / root
0644
node.py
5.914 KB
September 20 2016 16:24:02
root / root
0644
opcode.py
2.479 KB
September 20 2016 16:24:02
root / root
0644
query.py
19.185 KB
May 23 2024 10:29:27
root / root
0644
rcode.py
3.031 KB
September 20 2016 16:24:02
root / root
0644
rdata.py
14.646 KB
September 20 2016 16:24:02
root / root
0644
rdataclass.py
3.182 KB
September 20 2016 16:24:02
root / root
0644
rdataset.py
11.285 KB
September 20 2016 16:24:02
root / root
0644
rdatatype.py
5.214 KB
September 20 2016 19:54:45
root / root
0644
renderer.py
11.644 KB
September 20 2016 16:24:02
root / root
0644
resolver.py
50.884 KB
September 26 2016 15:52:30
root / root
0644
reversename.py
3.233 KB
September 20 2016 16:24:02
root / root
0644
rrset.py
5.854 KB
September 25 2016 19:25:33
root / root
0644
set.py
7.534 KB
September 20 2016 16:24:02
root / root
0644
tokenizer.py
17.884 KB
September 20 2016 16:24:02
root / root
0644
tsig.py
7.537 KB
September 20 2016 16:24:02
root / root
0644
tsigkeyring.py
1.696 KB
September 20 2016 16:24:02
root / root
0644
ttl.py
2.229 KB
September 20 2016 16:24:02
root / root
0644
update.py
9.777 KB
September 20 2016 16:24:02
root / root
0644
version.py
1.229 KB
September 20 2016 16:24:02
root / root
0644
wiredata.py
3.644 KB
September 20 2016 16:24:02
root / root
0644
zone.py
39.088 KB
September 29 2016 22:29:39
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF