/
opt
/
imh-python
/
lib
/
python3.9
/
site-packages
/
dns
/
/opt/imh-python/lib/python3.9/site-packages/dns
mkdir
upload
Name
Size
Mode
Actions
dnssecalgs/
-
0755
rm
quic/
-
0755
rm
rdtypes/
-
0755
rm
__pycache__/
-
0755
rm
asyncbackend.py
2796
0644
edit
dl
rm
asyncquery.py
30821
0644
edit
dl
rm
asyncresolver.py
17852
0644
edit
dl
rm
dnssec.py
41717
0644
edit
dl
rm
dnssectypes.py
1799
0644
edit
dl
rm
e164.py
3978
0644
edit
dl
rm
edns.py
17089
0644
edit
dl
rm
entropy.py
4242
0644
edit
dl
rm
enum.py
3691
0644
edit
dl
rm
exception.py
5953
0644
edit
dl
rm
flags.py
2750
0644
edit
dl
rm
grange.py
2144
0644
edit
dl
rm
immutable.py
2017
0644
edit
dl
rm
inet.py
5772
0644
edit
dl
rm
ipv4.py
2552
0644
edit
dl
rm
ipv6.py
6554
0644
edit
dl
rm
message.py
68185
0644
edit
dl
rm
name.py
42778
0644
edit
dl
rm
namedict.py
4000
0644
edit
dl
rm
nameserver.py
10115
0644
edit
dl
rm
node.py
12663
0644
edit
dl
rm
opcode.py
2730
0644
edit
dl
rm
py.typed
0
0644
edit
dl
rm
query.py
56298
0644
edit
dl
rm
rcode.py
4156
0644
edit
dl
rm
rdata.py
31022
0644
edit
dl
rm
rdataclass.py
2984
0644
edit
dl
rm
rdataset.py
16664
0644
edit
dl
rm
rdatatype.py
7448
0644
edit
dl
rm
renderer.py
11254
0644
edit
dl
rm
resolver.py
73730
0644
edit
dl
rm
reversename.py
3828
0644
edit
dl
rm
rrset.py
9170
0644
edit
dl
rm
serial.py
3606
0644
edit
dl
rm
set.py
9213
0644
edit
dl
rm
tokenizer.py
23583
0644
edit
dl
rm
transaction.py
22589
0644
edit
dl
rm
tsig.py
11413
0644
edit
dl
rm
tsigkeyring.py
2633
0644
edit
dl
rm
ttl.py
2977
0644
edit
dl
rm
update.py
12243
0644
edit
dl
rm
version.py
1926
0644
edit
dl
rm
versioned.py
11765
0644
edit
dl
rm
win32util.py
8874
0644
edit
dl
rm
wire.py
2830
0644
edit
dl
rm
xfr.py
13271
0644
edit
dl
rm
zone.py
52086
0644
edit
dl
rm
zonefile.py
27926
0644
edit
dl
rm
zonetypes.py
690
0644
edit
dl
rm
_asyncbackend.py
2396
0644
edit
dl
rm
_asyncio_backend.py
9051
0644
edit
dl
rm
_ddr.py
5247
0644
edit
dl
rm
_features.py
2492
0644
edit
dl
rm
_immutable_ctx.py
2459
0644
edit
dl
rm
_trio_backend.py
8473
0644
edit
dl
rm
__init__.py
1663
0644
edit
dl
rm
Edit:
/opt/imh-python/lib/python3.9/site-packages/dns/ipv4.py
(2552B)
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license # Copyright (C) 2003-2017 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. """IPv4 helper functions.""" import struct from typing import Union import dns.exception def inet_ntoa(address: bytes) -> str: """Convert an IPv4 address in binary form to text form. *address*, a ``bytes``, the IPv4 address in binary form. Returns a ``str``. """ if len(address) != 4: raise dns.exception.SyntaxError return "%u.%u.%u.%u" % (address[0], address[1], address[2], address[3]) def inet_aton(text: Union[str, bytes]) -> bytes: """Convert an IPv4 address in text form to binary form. *text*, a ``str`` or ``bytes``, the IPv4 address in textual form. Returns a ``bytes``. """ if not isinstance(text, bytes): btext = text.encode() else: btext = text parts = btext.split(b".") if len(parts) != 4: raise dns.exception.SyntaxError for part in parts: if not part.isdigit(): raise dns.exception.SyntaxError if len(part) > 1 and part[0] == ord("0"): # No leading zeros raise dns.exception.SyntaxError try: b = [int(part) for part in parts] return struct.pack("BBBB", *b) except Exception: raise dns.exception.SyntaxError def canonicalize(text: Union[str, bytes]) -> str: """Verify that *address* is a valid text form IPv4 address and return its canonical text form. *text*, a ``str`` or ``bytes``, the IPv4 address in textual form. Raises ``dns.exception.SyntaxError`` if the text is not valid. """ # Note that inet_aton() only accepts canonial form, but we still run through # inet_ntoa() to ensure the output is a str. return dns.ipv4.inet_ntoa(dns.ipv4.inet_aton(text))
Save
cmd:
run