Server IP : 103.169.32.36 / Your IP : 216.73.217.13 Web Server : Apache System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : apache ( 48) PHP Version : 5.6.40 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/python2.7/site-packages/firewall/core/ |
Upload File : |
| Current File : /lib/python2.7/site-packages/firewall/core/modules.py |
# -*- coding: utf-8 -*-
#
# Copyright (C) 2010-2016 Red Hat, Inc.
#
# Authors:
# Thomas Woerner <twoerner@redhat.com>
#
# 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 2 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/>.
#
"""modules backend"""
__all__ = [ "modules" ]
from firewall.core.prog import runProg
from firewall.core.logger import log
from firewall.config import COMMANDS
class modules(object):
def __init__(self):
self._load_command = COMMANDS["modprobe"]
# Use rmmod instead of modprobe -r (RHBZ#1031102)
self._unload_command = COMMANDS["rmmod"]
def __repr__(self):
return '%s' % (self.__class__)
def loaded_modules(self):
""" get all loaded kernel modules and their dependencies """
mods = [ ]
deps = { }
with open("/proc/modules", "r") as f:
for line in f:
if not line:
break
line = line.strip()
splits = line.split()
mods.append(splits[0])
if splits[3] != "-":
deps[splits[0]] = splits[3].split(",")[:-1]
else:
deps[splits[0]] = [ ]
return mods, deps # [loaded modules], {module:[dependants]}
def load_module(self, module):
log.debug2("%s: %s %s", self.__class__, self._load_command, module)
return runProg(self._load_command, [ module ])
def unload_module(self, module):
log.debug2("%s: %s %s", self.__class__, self._unload_command, module)
return runProg(self._unload_command, [ module ])
def get_deps(self, module, deps, ret):
""" get all dependants of a module """
if module not in deps:
return
for mod in deps[module]:
self.get_deps(mod, deps, ret)
if mod not in ret:
ret.append(mod)
if module not in ret:
ret.append(module)
def get_firewall_modules(self):
""" get all loaded firewall-related modules """
mods = [ ]
(mods2, deps) = self.loaded_modules()
self.get_deps("nf_conntrack", deps, mods)
# these modules don't have dependants listed in /proc/modules
for bad_bad_module in ["nf_conntrack_ipv4", "nf_conntrack_ipv6"]:
if bad_bad_module in mods:
# move them to end of list, so we'll remove them later
mods.remove(bad_bad_module)
mods.insert(-1, bad_bad_module)
for mod in mods2:
if mod in [ "ip_tables", "ip6_tables", "ebtables" ] or \
mod.startswith("iptable_") or mod.startswith("ip6table_") or \
mod.startswith("nf_") or mod.startswith("xt_") or \
mod.startswith("ipt_") or mod.startswith("ip6t_") :
self.get_deps(mod, deps, mods)
return mods
def unload_firewall_modules(self):
""" unload all firewall-related modules """
for module in self.get_firewall_modules():
(status, ret) = self.unload_module(module)
if status != 0:
log.debug1("Failed to unload module '%s': %s" %(module, ret))
| N4m3 |
5!z3 |
L45t M0d!f!3d |
0wn3r / Gr0up |
P3Rm!55!0n5 |
0pt!0n5 |
| .. |
-- |
December 20 2023 04:52:59 |
0 / 0 |
0755 |
|
| io |
-- |
December 20 2023 04:52:59 |
0 / 0 |
0755 |
|
| | | | | |
| __init__.py |
0 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| __init__.pyc |
0.142 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| __init__.pyo |
0.142 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| base.py |
1.936 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| base.pyc |
1.29 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| base.pyo |
1.29 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| ebtables.py |
9.128 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| ebtables.pyc |
9.036 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| ebtables.pyo |
9.036 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw.py |
43.706 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw.pyc |
30.673 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw.pyo |
30.673 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_config.py |
35.99 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_config.pyc |
30.686 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_config.pyo |
30.686 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_direct.py |
20.115 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_direct.pyc |
14.772 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_direct.pyo |
14.772 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_helper.py |
1.79 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_helper.pyc |
2.57 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_helper.pyo |
2.57 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_icmptype.py |
2.773 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_icmptype.pyc |
2.995 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_icmptype.pyo |
2.995 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_ifcfg.py |
2.502 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_ifcfg.pyc |
1.838 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_ifcfg.pyo |
1.838 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_ipset.py |
8.96 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_ipset.pyc |
9.018 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_ipset.pyo |
9.018 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_nm.py |
6.494 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_nm.pyc |
5.929 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_nm.pyo |
5.929 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_policies.py |
2.737 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_policies.pyc |
2.941 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_policies.pyo |
2.941 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_service.py |
1.601 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_service.pyc |
2.145 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_service.pyo |
2.145 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_test.py |
22.056 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_test.pyc |
17.445 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_test.pyo |
17.445 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_transaction.py |
10.539 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_transaction.pyc |
10.958 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_transaction.pyo |
10.958 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_zone.py |
75.604 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| fw_zone.pyc |
57.309 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| fw_zone.pyo |
57.309 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| helper.py |
0.785 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| helper.pyc |
0.217 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| helper.pyo |
0.217 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| icmp.py |
3.028 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| icmp.pyc |
2.894 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| icmp.pyo |
2.894 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| ipXtables.py |
47.679 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| ipXtables.pyc |
34.804 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| ipXtables.pyo |
34.804 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| ipset.py |
9.1 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| ipset.pyc |
9.15 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| ipset.pyo |
9.15 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| logger.py |
30.311 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| logger.pyc |
27.429 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| logger.pyo |
27.429 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| modules.py |
3.627 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| modules.pyc |
3.563 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| modules.pyo |
3.563 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| nftables.py |
60.549 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| nftables.pyc |
38.556 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| nftables.pyo |
38.556 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| prog.py |
1.475 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| prog.pyc |
0.965 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| prog.pyo |
0.965 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| rich.py |
29.336 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| rich.pyc |
23.73 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| rich.pyo |
23.73 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| watcher.py |
3.152 KB |
April 28 2021 13:31:12 |
0 / 0 |
0644 |
|
| watcher.pyc |
3.549 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|
| watcher.pyo |
3.549 KB |
April 28 2021 13:31:13 |
0 / 0 |
0644 |
|