PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB` REDROOM
PHP 5.6.40
Preview: netifcon.py Size: 3.71 KB
//lib64/python3.6/site-packages/setools/diff/netifcon.py

# Copyright 2016, Tresys Technology, LLC
#
# This file is part of SETools.
#
# SETools is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 2.1 of
# the License, or (at your option) any later version.
#
# SETools 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with SETools.  If not, see
# <http://www.gnu.org/licenses/>.
#
from collections import namedtuple

from .context import ContextWrapper
from .descriptors import DiffResultDescriptor
from .difference import Difference, Wrapper


modified_netifcon_record = namedtuple("modified_netifcon", ["rule",
                                                            "added_context",
                                                            "removed_context",
                                                            "added_packet",
                                                            "removed_packet"])


class NetifconsDifference(Difference):

    """Determine the difference in netifcons between two policies."""

    added_netifcons = DiffResultDescriptor("diff_netifcons")
    removed_netifcons = DiffResultDescriptor("diff_netifcons")
    modified_netifcons = DiffResultDescriptor("diff_netifcons")

    def diff_netifcons(self):
        """Generate the difference in netifcons between the policies."""

        self.log.info("Generating netifcon differences from {0.left_policy} to {0.right_policy}".
                      format(self))

        self.added_netifcons, self.removed_netifcons, matched_netifcons = self._set_diff(
            (NetifconWrapper(n) for n in self.left_policy.netifcons()),
            (NetifconWrapper(n) for n in self.right_policy.netifcons()))

        self.modified_netifcons = []

        for left_netifcon, right_netifcon in matched_netifcons:
            # Criteria for modified netifcons
            # 1. change to context
            # 2. change to packet context
            if ContextWrapper(left_netifcon.context) != ContextWrapper(right_netifcon.context):
                removed_context = left_netifcon.context
                added_context = right_netifcon.context
            else:
                removed_context = None
                added_context = None

            if ContextWrapper(left_netifcon.packet) != ContextWrapper(right_netifcon.packet):
                removed_packet = left_netifcon.packet
                added_packet = right_netifcon.packet
            else:
                removed_packet = None
                added_packet = None

            if removed_context or removed_packet:
                self.modified_netifcons.append(modified_netifcon_record(
                    left_netifcon, added_context, removed_context, added_packet, removed_packet))

    #
    # Internal functions
    #
    def _reset_diff(self):
        """Reset diff results on policy changes."""
        self.log.debug("Resetting netifcon differences")
        self.added_netifcons = None
        self.removed_netifcons = None
        self.modified_netifcons = None


class NetifconWrapper(Wrapper):

    """Wrap netifcon statements for diff purposes."""

    __slots__ = ("netif")

    def __init__(self, ocon):
        self.origin = ocon
        self.netif = ocon.netif
        self.key = hash(ocon)

    def __hash__(self):
        return self.key

    def __lt__(self, other):
        return self.netif < other.netif

    def __eq__(self, other):
        return self.netif == other.netif

Directory Contents

Dirs: 1 × Files: 29

Name Size Perms Modified Actions
- drwxr-xr-x 2025-03-30 04:21:30
Edit Download
2.83 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
4.10 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
2.82 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
1.68 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
8.64 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
1.89 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
4.14 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
1.60 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
5.66 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.11 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.25 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.28 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.29 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
2.48 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
10.31 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
4.80 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.71 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.21 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.60 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
1.70 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.19 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
2.33 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
6.42 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.20 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
23.71 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.28 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
4.86 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
5.40 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download
3.15 KB lrw-r--r-- 2020-04-01 14:57:49
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 REDROOM — Secure File Manager. All rights reserved. Built with ❤️ & Red Dark UI