403Webshell
Server IP : 162.241.219.206  /  Your IP : 216.73.216.195
Web Server : Apache
System : Linux box5669.bluehost.com 5.14.0-687.15.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 11 08:51:45 EDT 2026 x86_64
User : signavd5 ( 2863)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib64/python3.9/site-packages/setools/diff/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib64/python3.9/site-packages/setools/diff/initsid.py
# Copyright 2016, Tresys Technology, LLC
#
# SPDX-License-Identifier: LGPL-2.1-only
#
from typing import NamedTuple

from ..policyrep import Context

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


class ModifiedInitialSID(NamedTuple):

    """Difference details for a modified initial SID."""

    added_context: Context
    removed_context: Context


class InitialSIDsDifference(Difference):

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

    added_initialsids = DiffResultDescriptor("diff_initialsids")
    removed_initialsids = DiffResultDescriptor("diff_initialsids")
    modified_initialsids = DiffResultDescriptor("diff_initialsids")

    def diff_initialsids(self) -> None:
        """Generate the difference in initial SIDs between the policies."""

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

        self.added_initialsids, self.removed_initialsids, matched_initialsids = self._set_diff(
            (SymbolWrapper(i) for i in self.left_policy.initialsids()),
            (SymbolWrapper(i) for i in self.right_policy.initialsids()))

        self.modified_initialsids = dict()

        for left_initialsid, right_initialsid in matched_initialsids:
            # Criteria for modified initialsids
            # 1. change to context
            if ContextWrapper(left_initialsid.context) != ContextWrapper(right_initialsid.context):
                self.modified_initialsids[left_initialsid] = ModifiedInitialSID(
                    right_initialsid.context, left_initialsid.context)

    #
    # Internal functions
    #
    def _reset_diff(self) -> None:
        """Reset diff results on policy changes."""
        self.log.debug("Resetting initialsid differences")
        self.added_initialsids = None
        self.removed_initialsids = None
        self.modified_initialsids = None

Youez - 2016 - github.com/yon3zu
LinuXploit