Linux server.edchosting.com 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
LiteSpeed
Server IP : 75.98.162.185 & Your IP : 216.73.216.163
Domains :
Cant Read [ /etc/named.conf ]
User : goons4good
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib64 /
python2.7 /
site-packages /
dns /
Delete
Unzip
Name
Size
Permission
Date
Action
rdtypes
[ DIR ]
drwxr-xr-x
2024-09-22 02:58
__init__.py
1.3
KB
-rw-r--r--
2011-07-09 10:05
__init__.pyc
765
B
-rw-r--r--
2022-08-18 18:54
__init__.pyo
765
B
-rw-r--r--
2022-08-18 18:54
dnssec.py
14.37
KB
-rw-r--r--
2014-05-31 14:00
dnssec.pyc
13.46
KB
-rw-r--r--
2022-08-18 18:54
dnssec.pyo
13.38
KB
-rw-r--r--
2022-08-18 18:54
e164.py
3.01
KB
-rw-r--r--
2012-04-08 08:58
e164.pyc
2.76
KB
-rw-r--r--
2022-08-18 18:54
e164.pyo
2.76
KB
-rw-r--r--
2022-08-18 18:54
edns.py
4.21
KB
-rw-r--r--
2012-05-21 13:33
edns.pyc
5.2
KB
-rw-r--r--
2022-08-18 18:54
edns.pyo
5.2
KB
-rw-r--r--
2022-08-18 18:54
entropy.py
3.79
KB
-rw-r--r--
2011-07-09 10:05
entropy.pyc
3.7
KB
-rw-r--r--
2022-08-18 18:54
entropy.pyo
3.7
KB
-rw-r--r--
2022-08-18 18:54
exception.py
1.29
KB
-rw-r--r--
2011-07-09 10:05
exception.pyc
1.56
KB
-rw-r--r--
2022-08-18 18:54
exception.pyo
1.56
KB
-rw-r--r--
2022-08-18 18:54
flags.py
2.62
KB
-rw-r--r--
2011-07-09 10:05
flags.pyc
2.58
KB
-rw-r--r--
2022-08-18 18:54
flags.pyo
2.58
KB
-rw-r--r--
2022-08-18 18:54
grange.py
1.83
KB
-rw-r--r--
2013-07-07 07:18
grange.pyc
1.15
KB
-rw-r--r--
2022-08-18 18:54
grange.pyo
1.08
KB
-rw-r--r--
2022-08-18 18:54
hash.py
2.34
KB
-rw-r--r--
2011-07-09 10:05
hash.pyc
2.11
KB
-rw-r--r--
2022-08-18 18:54
hash.pyo
2.11
KB
-rw-r--r--
2022-08-18 18:54
inet.py
3.16
KB
-rw-r--r--
2011-07-09 10:05
inet.pyc
2.61
KB
-rw-r--r--
2022-08-18 18:54
inet.pyo
2.61
KB
-rw-r--r--
2022-08-18 18:54
ipv4.py
1.81
KB
-rw-r--r--
2012-04-08 09:19
ipv4.pyc
1.37
KB
-rw-r--r--
2022-08-18 18:54
ipv4.pyo
1.37
KB
-rw-r--r--
2022-08-18 18:54
ipv6.py
4.97
KB
-rw-r--r--
2014-05-31 14:10
ipv6.pyc
3.44
KB
-rw-r--r--
2022-08-18 18:54
ipv6.pyo
3.44
KB
-rw-r--r--
2022-08-18 18:54
message.py
41.63
KB
-rw-r--r--
2014-04-04 08:36
message.pyc
36.39
KB
-rw-r--r--
2022-08-18 18:54
message.pyo
36.39
KB
-rw-r--r--
2022-08-18 18:54
name.py
21.82
KB
-rw-r--r--
2014-06-19 08:35
name.pyc
23
KB
-rw-r--r--
2022-08-18 18:54
name.pyo
23
KB
-rw-r--r--
2022-08-18 18:54
namedict.py
2.06
KB
-rw-r--r--
2011-07-09 10:05
namedict.pyc
1.92
KB
-rw-r--r--
2022-08-18 18:54
namedict.pyo
1.92
KB
-rw-r--r--
2022-08-18 18:54
node.py
5.89
KB
-rw-r--r--
2013-02-26 11:44
node.pyc
6.15
KB
-rw-r--r--
2022-08-18 18:54
node.pyo
6.15
KB
-rw-r--r--
2022-08-18 18:54
opcode.py
2.55
KB
-rw-r--r--
2011-07-09 10:05
opcode.pyc
2.49
KB
-rw-r--r--
2022-08-18 18:54
opcode.pyo
2.49
KB
-rw-r--r--
2022-08-18 18:54
query.py
17.89
KB
-rw-r--r--
2014-06-21 11:33
query.pyc
15.31
KB
-rw-r--r--
2022-08-18 18:54
query.pyo
15.31
KB
-rw-r--r--
2022-08-18 18:54
rcode.py
3.03
KB
-rw-r--r--
2011-07-09 10:05
rcode.pyc
2.92
KB
-rw-r--r--
2022-08-18 18:54
rcode.pyo
2.92
KB
-rw-r--r--
2022-08-18 18:54
rdata.py
15.34
KB
-rw-r--r--
2011-07-18 18:04
rdata.pyc
16.59
KB
-rw-r--r--
2022-08-18 18:54
rdata.pyo
16.59
KB
-rw-r--r--
2022-08-18 18:54
rdataclass.py
3.22
KB
-rw-r--r--
2011-07-09 10:05
rdataclass.pyc
2.96
KB
-rw-r--r--
2022-08-18 18:54
rdataclass.pyo
2.96
KB
-rw-r--r--
2022-08-18 18:54
rdataset.py
11.28
KB
-rw-r--r--
2012-04-07 16:38
rdataset.pyc
11.08
KB
-rw-r--r--
2022-08-18 18:54
rdataset.pyo
11.03
KB
-rw-r--r--
2022-08-18 18:54
rdatatype.py
5.07
KB
-rw-r--r--
2012-09-25 12:35
rdatatype.pyc
5.29
KB
-rw-r--r--
2022-08-18 18:54
rdatatype.pyo
5.29
KB
-rw-r--r--
2022-08-18 18:54
renderer.py
11.63
KB
-rw-r--r--
2013-05-30 05:27
renderer.pyc
10.85
KB
-rw-r--r--
2022-08-18 18:54
renderer.pyo
10.75
KB
-rw-r--r--
2022-08-18 18:54
resolver.py
45.35
KB
-rw-r--r--
2014-06-21 12:12
resolver.pyc
37.16
KB
-rw-r--r--
2022-08-18 18:54
resolver.pyo
37.16
KB
-rw-r--r--
2022-08-18 18:54
reversename.py
3.03
KB
-rw-r--r--
2014-05-31 14:10
reversename.pyc
2.4
KB
-rw-r--r--
2022-08-18 18:54
reversename.pyo
2.4
KB
-rw-r--r--
2022-08-18 18:54
rrset.py
5.76
KB
-rw-r--r--
2011-07-09 10:05
rrset.pyc
6.17
KB
-rw-r--r--
2022-08-18 18:54
rrset.pyo
6.17
KB
-rw-r--r--
2022-08-18 18:54
set.py
7.66
KB
-rw-r--r--
2011-07-09 10:05
set.pyc
9.81
KB
-rw-r--r--
2022-08-18 18:54
set.pyo
9.81
KB
-rw-r--r--
2022-08-18 18:54
tokenizer.py
17.54
KB
-rw-r--r--
2014-04-11 10:55
tokenizer.pyc
16.92
KB
-rw-r--r--
2022-08-18 18:54
tokenizer.pyo
16.92
KB
-rw-r--r--
2022-08-18 18:54
tsig.py
8.1
KB
-rw-r--r--
2014-04-04 08:36
tsig.pyc
8.08
KB
-rw-r--r--
2022-08-18 18:54
tsig.pyo
8.08
KB
-rw-r--r--
2022-08-18 18:54
tsigkeyring.py
1.61
KB
-rw-r--r--
2013-09-01 19:11
tsigkeyring.pyc
1.16
KB
-rw-r--r--
2022-08-18 18:54
tsigkeyring.pyo
1.16
KB
-rw-r--r--
2022-08-18 18:54
ttl.py
2.13
KB
-rw-r--r--
2011-07-09 10:05
ttl.pyc
1.48
KB
-rw-r--r--
2022-08-18 18:54
ttl.pyo
1.48
KB
-rw-r--r--
2022-08-18 18:54
update.py
9.92
KB
-rw-r--r--
2011-07-09 10:05
update.pyc
8.27
KB
-rw-r--r--
2022-08-18 18:54
update.pyo
8.27
KB
-rw-r--r--
2022-08-18 18:54
version.py
1.24
KB
-rw-r--r--
2014-09-01 08:42
version.pyc
560
B
-rw-r--r--
2022-08-18 18:54
version.pyo
560
B
-rw-r--r--
2022-08-18 18:54
wiredata.py
2.53
KB
-rw-r--r--
2014-07-24 10:35
wiredata.pyc
2.19
KB
-rw-r--r--
2022-08-18 18:54
wiredata.pyo
2.19
KB
-rw-r--r--
2022-08-18 18:54
zone.py
37.94
KB
-rw-r--r--
2014-06-21 11:57
zone.pyc
33.52
KB
-rw-r--r--
2022-08-18 18:54
zone.pyo
33.52
KB
-rw-r--r--
2022-08-18 18:54
Save
Rename
# 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. """DNS Dynamic Update Support""" import dns.message import dns.name import dns.opcode import dns.rdata import dns.rdataclass import dns.rdataset import dns.tsig class Update(dns.message.Message): def __init__(self, zone, rdclass=dns.rdataclass.IN, keyring=None, keyname=None, keyalgorithm=dns.tsig.default_algorithm): """Initialize a new DNS Update object. @param zone: The zone which is being updated. @type zone: A dns.name.Name or string @param rdclass: The class of the zone; defaults to dns.rdataclass.IN. @type rdclass: An int designating the class, or a string whose value is the name of a class. @param keyring: The TSIG keyring to use; defaults to None. @type keyring: dict @param keyname: The name of the TSIG key to use; defaults to None. The key must be defined in the keyring. If a keyring is specified but a keyname is not, then the key used will be the first key in the keyring. Note that the order of keys in a dictionary is not defined, so applications should supply a keyname when a keyring is used, unless they know the keyring contains only one key. @type keyname: dns.name.Name or string @param keyalgorithm: The TSIG algorithm to use; defaults to dns.tsig.default_algorithm. Constants for TSIG algorithms are defined in dns.tsig, and the currently implemented algorithms are HMAC_MD5, HMAC_SHA1, HMAC_SHA224, HMAC_SHA256, HMAC_SHA384, and HMAC_SHA512. @type keyalgorithm: string """ super(Update, self).__init__() self.flags |= dns.opcode.to_flags(dns.opcode.UPDATE) if isinstance(zone, (str, unicode)): zone = dns.name.from_text(zone) self.origin = zone if isinstance(rdclass, str): rdclass = dns.rdataclass.from_text(rdclass) self.zone_rdclass = rdclass self.find_rrset(self.question, self.origin, rdclass, dns.rdatatype.SOA, create=True, force_unique=True) if not keyring is None: self.use_tsig(keyring, keyname, algorithm=keyalgorithm) def _add_rr(self, name, ttl, rd, deleting=None, section=None): """Add a single RR to the update section.""" if section is None: section = self.authority covers = rd.covers() rrset = self.find_rrset(section, name, self.zone_rdclass, rd.rdtype, covers, deleting, True, True) rrset.add(rd, ttl) def _add(self, replace, section, name, *args): """Add records. The first argument is the replace mode. If false, RRs are added to an existing RRset; if true, the RRset is replaced with the specified contents. The second argument is the section to add to. The third argument is always a name. The other arguments can be: - rdataset... - ttl, rdata... - ttl, rdtype, string...""" if isinstance(name, (str, unicode)): name = dns.name.from_text(name, None) if isinstance(args[0], dns.rdataset.Rdataset): for rds in args: if replace: self.delete(name, rds.rdtype) for rd in rds: self._add_rr(name, rds.ttl, rd, section=section) else: args = list(args) ttl = int(args.pop(0)) if isinstance(args[0], dns.rdata.Rdata): if replace: self.delete(name, args[0].rdtype) for rd in args: self._add_rr(name, ttl, rd, section=section) else: rdtype = args.pop(0) if isinstance(rdtype, str): rdtype = dns.rdatatype.from_text(rdtype) if replace: self.delete(name, rdtype) for s in args: rd = dns.rdata.from_text(self.zone_rdclass, rdtype, s, self.origin) self._add_rr(name, ttl, rd, section=section) def add(self, name, *args): """Add records. The first argument is always a name. The other arguments can be: - rdataset... - ttl, rdata... - ttl, rdtype, string...""" self._add(False, self.authority, name, *args) def delete(self, name, *args): """Delete records. The first argument is always a name. The other arguments can be: - I{nothing} - rdataset... - rdata... - rdtype, [string...]""" if isinstance(name, (str, unicode)): name = dns.name.from_text(name, None) if len(args) == 0: rrset = self.find_rrset(self.authority, name, dns.rdataclass.ANY, dns.rdatatype.ANY, dns.rdatatype.NONE, dns.rdatatype.ANY, True, True) elif isinstance(args[0], dns.rdataset.Rdataset): for rds in args: for rd in rds: self._add_rr(name, 0, rd, dns.rdataclass.NONE) else: args = list(args) if isinstance(args[0], dns.rdata.Rdata): for rd in args: self._add_rr(name, 0, rd, dns.rdataclass.NONE) else: rdtype = args.pop(0) if isinstance(rdtype, (str, unicode)): rdtype = dns.rdatatype.from_text(rdtype) if len(args) == 0: rrset = self.find_rrset(self.authority, name, self.zone_rdclass, rdtype, dns.rdatatype.NONE, dns.rdataclass.ANY, True, True) else: for s in args: rd = dns.rdata.from_text(self.zone_rdclass, rdtype, s, self.origin) self._add_rr(name, 0, rd, dns.rdataclass.NONE) def replace(self, name, *args): """Replace records. The first argument is always a name. The other arguments can be: - rdataset... - ttl, rdata... - ttl, rdtype, string... Note that if you want to replace the entire node, you should do a delete of the name followed by one or more calls to add.""" self._add(True, self.authority, name, *args) def present(self, name, *args): """Require that an owner name (and optionally an rdata type, or specific rdataset) exists as a prerequisite to the execution of the update. The first argument is always a name. The other arguments can be: - rdataset... - rdata... - rdtype, string...""" if isinstance(name, (str, unicode)): name = dns.name.from_text(name, None) if len(args) == 0: rrset = self.find_rrset(self.answer, name, dns.rdataclass.ANY, dns.rdatatype.ANY, dns.rdatatype.NONE, None, True, True) elif isinstance(args[0], dns.rdataset.Rdataset) or \ isinstance(args[0], dns.rdata.Rdata) or \ len(args) > 1: if not isinstance(args[0], dns.rdataset.Rdataset): # Add a 0 TTL args = list(args) args.insert(0, 0) self._add(False, self.answer, name, *args) else: rdtype = args[0] if isinstance(rdtype, (str, unicode)): rdtype = dns.rdatatype.from_text(rdtype) rrset = self.find_rrset(self.answer, name, dns.rdataclass.ANY, rdtype, dns.rdatatype.NONE, None, True, True) def absent(self, name, rdtype=None): """Require that an owner name (and optionally an rdata type) does not exist as a prerequisite to the execution of the update.""" if isinstance(name, (str, unicode)): name = dns.name.from_text(name, None) if rdtype is None: rrset = self.find_rrset(self.answer, name, dns.rdataclass.NONE, dns.rdatatype.ANY, dns.rdatatype.NONE, None, True, True) else: if isinstance(rdtype, (str, unicode)): rdtype = dns.rdatatype.from_text(rdtype) rrset = self.find_rrset(self.answer, name, dns.rdataclass.NONE, rdtype, dns.rdatatype.NONE, None, True, True) def to_wire(self, origin=None, max_size=65535): """Return a string containing the update in DNS compressed wire format. @rtype: string""" if origin is None: origin = self.origin return super(Update, self).to_wire(origin, max_size)