コード例 #1
0
ファイル: policy.py プロジェクト: wangruowen/seal
    def __init__(self, rule, policy):
        if policy is None:
            raise Exception("Bad policy")
        if not rule:
            raise Exception("Bad rule")

        self._policy = policy
        self._qpolicy = policy.get_qpol()
        self._rule = rule

        text_rule = apol.apol_avrule_render(self._policy, self._rule)
        #Textual rule parsing is easier
        try:
            r = text_rule.split(None, 5)
            self._type = r[0]
            self._source = r[1]
            self._target = r[2]
            # r[3] is ':'
            self._security_class = r[4]
            self._permissions = r[5].strip('{}; ').split()
        except IndexError:
            raise Exception('Bad rule: "{}"'.format(text_rule))
コード例 #2
0
ファイル: policy.py プロジェクト: steelcode/seal
    def __init__(self, rule, policy):
        if policy is None:
            raise Exception("Bad policy")
        if not rule:
            raise Exception("Bad rule")

        self._policy = policy
        self._qpolicy = policy.get_qpol()
        self._rule = rule

        text_rule = apol.apol_avrule_render(self._policy, self._rule)
        #Textual rule parsing is easier
        try:
            r = text_rule.split(None, 5)
            self._type = r[0]
            self._source = r[1]
            self._target = r[2]
            # r[3] is ':'
            self._security_class = r[4]
            self._permissions = r[5].strip('{}; ').split()
        except IndexError:
            raise Exception('Bad rule: "{}"'.format(text_rule))
コード例 #3
0
ファイル: policy.py プロジェクト: wangruowen/seal
 def __repr__(self):
     return apol.apol_avrule_render(self._policy, self._rule)
コード例 #4
0
ファイル: policy.py プロジェクト: steelcode/seal
 def __repr__(self):
     return apol.apol_avrule_render(self._policy, self._rule)