PATH: //usr/lib/python3.9/site-packages/dns
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 __init__.py
↓
X
📁 __pycache__/
X
📄 _asyncbackend.py
↓
X
📄 _asyncio_backend.py
↓
X
📄 _ddr.py
↓
X
📄 _features.py
↓
X
📄 _immutable_ctx.py
↓
X
📄 asyncbackend.py
↓
X
📄 asyncquery.py
↓
X
📄 asyncresolver.py
↓
X
📄 dnssec.py
↓
X
📁 dnssecalgs/
X
📄 dnssectypes.py
↓
X
📄 e164.py
↓
X
📄 edns.py
↓
X
📄 entropy.py
↓
X
📄 enum.py
↓
X
📄 exception.py
↓
X
📄 flags.py
↓
X
📄 grange.py
↓
X
📄 immutable.py
↓
X
📄 inet.py
↓
X
📄 ipv4.py
↓
X
📄 ipv6.py
↓
X
📄 message.py
↓
X
📄 name.py
↓
X
📄 namedict.py
↓
X
📄 nameserver.py
↓
X
📄 node.py
↓
X
📄 opcode.py
↓
X
📄 query.py
↓
X
📁 quic/
X
📄 rcode.py
↓
X
📄 rdata.py
↓
X
📄 rdataclass.py
↓
X
📄 rdataset.py
↓
X
📄 rdatatype.py
↓
X
📁 rdtypes/
X
📄 renderer.py
↓
X
📄 resolver.py
↓
X
📄 reversename.py
↓
X
📄 rrset.py
↓
X
📄 serial.py
↓
X
📄 set.py
↓
X
📄 tokenizer.py
↓
X
📄 transaction.py
↓
X
📄 tsig.py
↓
X
📄 tsigkeyring.py
↓
X
📄 ttl.py
↓
X
📄 update.py
↓
X
📄 version.py
↓
X
📄 versioned.py
↓
X
📄 win32util.py
↓
X
📄 wire.py
↓
X
📄 xfr.py
↓
X
📄 zone.py
↓
X
📄 zonefile.py
↓
X
📄 zonetypes.py
↓
X
SAVING...
BERHASIL DIUBAH!
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
SIMPAN PERUBAHAN