p!ranha?
Server IP : 103.169.32.36  /  Your IP : 216.73.216.202
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 :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
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