X7ROOT File Manager
Current Path:
/opt/hc_python/lib/python3.12/site-packages/dns
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
dns
/
ðŸ“
..
📄
__init__.py
(1.62 KB)
ðŸ“
__pycache__
📄
_asyncbackend.py
(2.34 KB)
📄
_asyncio_backend.py
(8.84 KB)
📄
_ddr.py
(5.12 KB)
📄
_features.py
(2.43 KB)
📄
_immutable_ctx.py
(2.4 KB)
📄
_trio_backend.py
(8.27 KB)
📄
asyncbackend.py
(2.73 KB)
📄
asyncquery.py
(30.1 KB)
📄
asyncresolver.py
(17.43 KB)
📄
dnssec.py
(40.74 KB)
ðŸ“
dnssecalgs
📄
dnssectypes.py
(1.76 KB)
📄
e164.py
(3.88 KB)
📄
edns.py
(16.69 KB)
📄
entropy.py
(4.14 KB)
📄
enum.py
(3.6 KB)
📄
exception.py
(5.81 KB)
📄
flags.py
(2.69 KB)
📄
grange.py
(2.09 KB)
📄
immutable.py
(1.97 KB)
📄
inet.py
(5.64 KB)
📄
ipv4.py
(2.49 KB)
📄
ipv6.py
(6.4 KB)
📄
message.py
(66.59 KB)
📄
name.py
(41.78 KB)
📄
namedict.py
(3.91 KB)
📄
nameserver.py
(9.88 KB)
📄
node.py
(12.37 KB)
📄
opcode.py
(2.67 KB)
📄
py.typed
(0 B)
📄
query.py
(54.98 KB)
ðŸ“
quic
📄
rcode.py
(4.06 KB)
📄
rdata.py
(30.29 KB)
📄
rdataclass.py
(2.91 KB)
📄
rdataset.py
(16.27 KB)
📄
rdatatype.py
(7.27 KB)
ðŸ“
rdtypes
📄
renderer.py
(10.99 KB)
📄
resolver.py
(72 KB)
📄
reversename.py
(3.74 KB)
📄
rrset.py
(8.96 KB)
📄
serial.py
(3.52 KB)
📄
set.py
(9 KB)
📄
tokenizer.py
(23.03 KB)
📄
transaction.py
(22.06 KB)
📄
tsig.py
(11.15 KB)
📄
tsigkeyring.py
(2.57 KB)
📄
ttl.py
(2.91 KB)
📄
update.py
(11.96 KB)
📄
version.py
(1.88 KB)
📄
versioned.py
(11.49 KB)
📄
win32util.py
(8.67 KB)
📄
wire.py
(2.76 KB)
📄
xfr.py
(12.96 KB)
📄
zone.py
(50.87 KB)
📄
zonefile.py
(27.27 KB)
📄
zonetypes.py
(690 B)
Editing: tsigkeyring.py
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license # Copyright (C) 2003-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. """A place to store TSIG keys.""" import base64 from typing import Any, Dict import dns.name import dns.tsig def from_text(textring: Dict[str, Any]) -> Dict[dns.name.Name, dns.tsig.Key]: """Convert a dictionary containing (textual DNS name, base64 secret) pairs into a binary keyring which has (dns.name.Name, bytes) pairs, or a dictionary containing (textual DNS name, (algorithm, base64 secret)) pairs into a binary keyring which has (dns.name.Name, dns.tsig.Key) pairs. @rtype: dict""" keyring = {} for name, value in textring.items(): kname = dns.name.from_text(name) if isinstance(value, str): keyring[kname] = dns.tsig.Key(kname, value).secret else: (algorithm, secret) = value keyring[kname] = dns.tsig.Key(kname, secret, algorithm) return keyring def to_text(keyring: Dict[dns.name.Name, Any]) -> Dict[str, Any]: """Convert a dictionary containing (dns.name.Name, dns.tsig.Key) pairs into a text keyring which has (textual DNS name, (textual algorithm, base64 secret)) pairs, or a dictionary containing (dns.name.Name, bytes) pairs into a text keyring which has (textual DNS name, base64 secret) pairs. @rtype: dict""" textring = {} def b64encode(secret): return base64.encodebytes(secret).decode().rstrip() for name, key in keyring.items(): tname = name.to_text() if isinstance(key, bytes): textring[tname] = b64encode(key) else: if isinstance(key.secret, bytes): text_secret = b64encode(key.secret) else: text_secret = str(key.secret) textring[tname] = (key.algorithm.to_text(), text_secret) return textring
Upload File
Create Folder