diff --git a/libapol/policyrep/__init__.py b/libapol/policyrep/__init__.py
index 45b6981..b2a0f3b 100644
--- a/libapol/policyrep/__init__.py
+++ b/libapol/policyrep/__init__.py
@@ -21,7 +21,7 @@
# abstractions and methods for accessing the policy
# structures.
-import setools.qpol as qpol
+import qpol
# The libqpol SWIG class is not quite natural for
# Python, since void* are passed around from the
@@ -82,70 +82,70 @@ class SELinuxPolicy(object):
def classes(self):
"""Generator which yields all object classes."""
- qiter = self.policy.get_class_iter()
- while not qiter.end():
- yield objclass.ObjClass(self.policy, qpol.qpol_class_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.class_iter()
+ while not qiter.isend():
+ yield objclass.ObjClass(self.policy, qpol.qpol_class_from_void(qiter.item()))
+ qiter.next_()
def commons(self):
"""Generator which yields all commons."""
- qiter = self.policy.get_common_iter()
- while not qiter.end():
- yield objclass.Common(self.policy, qpol.qpol_common_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.common_iter()
+ while not qiter.isend():
+ yield objclass.Common(self.policy, qpol.qpol_common_from_void(qiter.item()))
+ qiter.next_()
def types(self):
"""Generator which yields all types."""
# libqpol unfortunately iterates over attributes and aliases
- qiter = self.policy.get_type_iter()
- while not qiter.end():
+ qiter = self.policy.type_iter()
+ while not qiter.isend():
t = typeattr.TypeAttr(
- self.policy, qpol.qpol_type_from_void(qiter.get_item()))
+ self.policy, qpol.qpol_type_from_void(qiter.item()))
if not t.isattr and not t.isalias:
yield t
- qiter.next()
+ qiter.next_()
def roles(self):
"""Generator which yields all roles."""
- qiter = self.policy.get_role_iter()
- while not qiter.end():
- yield role.Role(self.policy, qpol.qpol_role_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.role_iter()
+ while not qiter.isend():
+ yield role.Role(self.policy, qpol.qpol_role_from_void(qiter.item()))
+ qiter.next_()
def users(self):
"""Generator which yields all users."""
- qiter = self.policy.get_user_iter()
- while not qiter.end():
- yield user.User(self.policy, qpol.qpol_user_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.user_iter()
+ while not qiter.isend():
+ yield user.User(self.policy, qpol.qpol_user_from_void(qiter.item()))
+ qiter.next_()
def bools(self):
"""Generator which yields all Booleans."""
- qiter = self.policy.get_bool_iter()
- while not qiter.end():
- yield boolcond.Boolean(self.policy, qpol.qpol_bool_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.bool_iter()
+ while not qiter.isend():
+ yield boolcond.Boolean(self.policy, qpol.qpol_bool_from_void(qiter.item()))
+ qiter.next_()
def polcaps(self):
"""Generator which yields all policy capabilities."""
- qiter = self.policy.get_polcap_iter()
- while not qiter.end():
- yield polcap.PolicyCapability(self.policy, qpol.qpol_polcap_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.polcap_iter()
+ while not qiter.isend():
+ yield polcap.PolicyCapability(self.policy, qpol.qpol_polcap_from_void(qiter.item()))
+ qiter.next_()
def permissives(self):
"""Generator which yields all permissive types."""
- qiter = self.policy.get_permissive_iter()
- while not qiter.end():
- yield typeattr.TypeAttr(self.policy, qpol.qpol_type_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.permissive_iter()
+ while not qiter.isend():
+ yield typeattr.TypeAttr(self.policy, qpol.qpol_type_from_void(qiter.item()))
+ qiter.next_()
#
# Policy rules generators
@@ -156,41 +156,41 @@ class SELinuxPolicy(object):
av_ruletype = qpol.QPOL_RULE_ALLOW | qpol.QPOL_RULE_AUDITALLOW | qpol.QPOL_RULE_DONTAUDIT
te_ruletype = qpol.QPOL_RULE_TYPE_TRANS | qpol.QPOL_RULE_TYPE_CHANGE | qpol.QPOL_RULE_TYPE_MEMBER
- qiter = self.policy.get_avrule_iter(av_ruletype)
- while not qiter.end():
- yield terule.TERule(self.policy, qpol.qpol_avrule_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.avrule_iter(av_ruletype)
+ while not qiter.isend():
+ yield terule.TERule(self.policy, qpol.qpol_avrule_from_void(qiter.item()))
+ qiter.next_()
- qiter = self.policy.get_terule_iter(te_ruletype)
- while not qiter.end():
- yield terule.TERule(self.policy, qpol.qpol_terule_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.terule_iter(te_ruletype)
+ while not qiter.isend():
+ yield terule.TERule(self.policy, qpol.qpol_terule_from_void(qiter.item()))
+ qiter.next_()
- qiter = self.policy.get_filename_trans_iter()
- while not qiter.end():
- yield terule.TERule(self.policy, qpol.qpol_filename_trans_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.filename_trans_iter()
+ while not qiter.isend():
+ yield terule.TERule(self.policy, qpol.qpol_filename_trans_from_void(qiter.item()))
+ qiter.next_()
def rbacrules(self):
"""Generator which yields all RBAC rules."""
- qiter = self.policy.get_role_allow_iter()
- while not qiter.end():
- yield rbacrule.RBACRule(self.policy, qpol.qpol_role_allow_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.role_allow_iter()
+ while not qiter.isend():
+ yield rbacrule.RBACRule(self.policy, qpol.qpol_role_allow_from_void(qiter.item()))
+ qiter.next_()
- qiter = self.policy.get_role_trans_iter()
- while not qiter.end():
- yield rbacrule.RBACRule(self.policy, qpol.qpol_role_trans_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.role_trans_iter()
+ while not qiter.isend():
+ yield rbacrule.RBACRule(self.policy, qpol.qpol_role_trans_from_void(qiter.item()))
+ qiter.next_()
def mlsrules(self):
"""Generator which yields all MLS rules."""
- qiter = self.policy.get_range_trans_iter()
- while not qiter.end():
- yield mlsrule.MLSRule(self.policy, qpol.qpol_range_trans_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.range_trans_iter()
+ while not qiter.isend():
+ yield mlsrule.MLSRule(self.policy, qpol.qpol_range_trans_from_void(qiter.item()))
+ qiter.next_()
#
# Constraints generators
@@ -199,22 +199,24 @@ class SELinuxPolicy(object):
def constraints(self):
"""Generator which yields all constraints."""
- qiter = self.policy.get_constraint_iter()
- while not qiter.end():
- c = constraint.Constraint(self.policy, qpol.qpol_constraint_from_void(qiter.get_item()))
+ qiter = self.policy.constraint_iter()
+ while not qiter.isend():
+ c = constraint.Constraint(
+ self.policy, qpol.qpol_constraint_from_void(qiter.item()))
if not c.ismls:
yield c
- qiter.next()
+ qiter.next_()
def mlsconstraints(self):
"""Generator which yields all MLS constraints."""
- qiter = self.policy.get_constraint_iter()
- while not qiter.end():
- c = constraint.Constraint(self.policy, qpol.qpol_constraint_from_void(qiter.get_item()))
+ qiter = self.policy.constraint_iter()
+ while not qiter.isend():
+ c = constraint.Constraint(
+ self.policy, qpol.qpol_constraint_from_void(qiter.item()))
if c.ismls:
yield c
- qiter.next()
+ qiter.next_()
#
# In-policy Labeling statement generators
@@ -222,47 +224,47 @@ class SELinuxPolicy(object):
def initialsids(self):
"""Generator which yields all initial SID statements."""
- qiter = self.policy.get_isid_iter()
- while not qiter.end():
- yield initsid.InitialSID(self.policy, qpol.qpol_isid_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.isid_iter()
+ while not qiter.isend():
+ yield initsid.InitialSID(self.policy, qpol.qpol_isid_from_void(qiter.item()))
+ qiter.next_()
def fs_uses(self):
"""Generator which yields all fs_use_* statements."""
- qiter = self.policy.get_fs_use_iter()
- while not qiter.end():
- yield fscontext.FSUse(self.policy, qpol.qpol_fs_use_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.fs_use_iter()
+ while not qiter.isend():
+ yield fscontext.FSUse(self.policy, qpol.qpol_fs_use_from_void(qiter.item()))
+ qiter.next_()
def genfscons(self):
"""Generator which yields all genfscon statements."""
- qiter = self.policy.get_genfscon_iter()
- while not qiter.end():
- yield fscontext.Genfscon(self.policy, qpol.qpol_genfscon_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.genfscon_iter()
+ while not qiter.isend():
+ yield fscontext.Genfscon(self.policy, qpol.qpol_genfscon_from_void(qiter.item()))
+ qiter.next_()
def netifcons(self):
"""Generator which yields all netifcon statements."""
- qiter = self.policy.get_netifcon_iter()
- while not qiter.end():
- yield netcontext.Netifcon(self.policy, qpol.qpol_netifcon_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.netifcon_iter()
+ while not qiter.isend():
+ yield netcontext.Netifcon(self.policy, qpol.qpol_netifcon_from_void(qiter.item()))
+ qiter.next_()
def nodecons(self):
"""Generator which yields all nodecon statements."""
- qiter = self.policy.get_nodecon_iter()
- while not qiter.end():
- yield netcontext.Nodecon(self.policy, qpol.qpol_nodecon_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.nodecon_iter()
+ while not qiter.isend():
+ yield netcontext.Nodecon(self.policy, qpol.qpol_nodecon_from_void(qiter.item()))
+ qiter.next_()
def portcons(self):
"""Generator which yields all portcon statements."""
- qiter = self.policy.get_portcon_iter()
- while not qiter.end():
- yield netcontext.Portcon(self.policy, qpol.qpol_portcon_from_void(qiter.get_item()))
- qiter.next()
+ qiter = self.policy.portcon_iter()
+ while not qiter.isend():
+ yield netcontext.Portcon(self.policy, qpol.qpol_portcon_from_void(qiter.item()))
+ qiter.next_()
diff --git a/libapol/policyrep/boolcond.py b/libapol/policyrep/boolcond.py
index f0a2c4a..d214151 100644
--- a/libapol/policyrep/boolcond.py
+++ b/libapol/policyrep/boolcond.py
@@ -16,7 +16,7 @@
# License along with SETools. If not, see
# .
#
-import setools.qpol as qpol
+import qpol
import string
import symbol
@@ -27,7 +27,7 @@ class Boolean(symbol.PolicySymbol):
def state(self):
"""The default state of the Boolean."""
- return bool(self.qpol_symbol.get_state(self.policy))
+ return bool(self.qpol_symbol.state(self.policy))
def statement(self):
"""The policy statement."""
@@ -55,20 +55,20 @@ class ConditionalExpr(symbol.PolicySymbol):
qpol.QPOL_COND_EXPR_NEQ: 4}
def __contains__(self, other):
- qpol_iter = self.qpol_symbol.get_expr_node_iter(self.policy)
+ qpol_iter = self.qpol_symbol.expr_node_iter(self.policy)
- while not qpol_iter.end():
+ while not qpol_iter.isend():
expr_node = qpol.qpol_cond_expr_node_from_void(
- qpol_iter.get_item())
- expr_node_type = expr_node.get_expr_type(self.policy)
+ qpol_iter.item())
+ expr_node_type = expr_node.expr_type(self.policy)
- if expr_node_type == qpol.QPOL_COND_EXPR_BOOL and other == Boolean(self.policy, expr_node.get_bool(self.policy)):
+ if expr_node_type == qpol.QPOL_COND_EXPR_BOOL and other == Boolean(self.policy, expr_node.bool(self.policy)):
return True
return False
def __str__(self):
- qpol_iter = self.qpol_symbol.get_expr_node_iter(self.policy)
+ qpol_iter = self.qpol_symbol.expr_node_iter(self.policy)
# qpol representation is in postfix notation. This code
# converts it to infix notation. Parentheses are added
@@ -78,15 +78,15 @@ class ConditionalExpr(symbol.PolicySymbol):
# operator, no parentheses are output
stack = []
prev_oper = qpol.QPOL_COND_EXPR_NOT
- while not qpol_iter.end():
+ while not qpol_iter.isend():
expr_node = qpol.qpol_cond_expr_node_from_void(
- qpol_iter.get_item())
- expr_node_type = expr_node.get_expr_type(self.policy)
+ qpol_iter.item())
+ expr_node_type = expr_node.expr_type(self.policy)
if expr_node_type == qpol.QPOL_COND_EXPR_BOOL:
# append the boolean name
nodebool = Boolean(
- self.policy, expr_node.get_bool(self.policy))
+ self.policy, expr_node.get_boolean(self.policy))
stack.append(str(nodebool))
elif expr_node_type == qpol.QPOL_COND_EXPR_NOT: # unary operator
operand = stack.pop()
@@ -119,7 +119,7 @@ class ConditionalExpr(symbol.PolicySymbol):
stack.append(subexpr)
prev_oper = expr_node_type
- qpol_iter.next()
+ qpol_iter.next_()
return self.__unwind_subexpression(stack)
diff --git a/libapol/policyrep/constraint.py b/libapol/policyrep/constraint.py
index 9562138..140d20c 100644
--- a/libapol/policyrep/constraint.py
+++ b/libapol/policyrep/constraint.py
@@ -18,8 +18,7 @@
#
import string
-import setools.qpol as qpol
-
+import qpol
import symbol
import objclass
@@ -94,17 +93,17 @@ class Constraint(symbol.PolicySymbol):
# operator, no parentheses are output
expr_string = ""
- qpol_iter = self.qpol_symbol.get_expr_iter(self.policy)
+ qpol_iter = self.qpol_symbol.expr_iter(self.policy)
stack = []
prev_oper = self._expr_op_precedence
- while not qpol_iter.end():
+ while not qpol_iter.isend():
expr_node = qpol.qpol_constraint_expr_node_from_void(
- qpol_iter.get_item())
+ qpol_iter.item())
- op = expr_node.get_op(self.policy)
- sym_type = expr_node.get_sym_type(self.policy)
- expr_type = expr_node.get_expr_type(self.policy)
+ op = expr_node.op(self.policy)
+ sym_type = expr_node.sym_type(self.policy)
+ expr_type = expr_node.expr_type(self.policy)
if expr_type == qpol.QPOL_CEXPR_TYPE_ATTR:
stack.append([self._sym_to_text[sym_type],
@@ -113,9 +112,9 @@ class Constraint(symbol.PolicySymbol):
prev_oper = self._expr_op_precedence
elif expr_type == qpol.QPOL_CEXPR_TYPE_NAMES:
names = []
- names_iter = expr_node.get_names_iter(self.policy)
- while not names_iter.end():
- names.append(qpol.to_str(names_iter.get_item()))
+ names_iter = expr_node.names_iter(self.policy)
+ while not names_iter.isend():
+ names.append(qpol.to_str(names_iter.item()))
names_iter.next()
if not names:
@@ -179,13 +178,13 @@ class Constraint(symbol.PolicySymbol):
except AttributeError:
self._ismls = False
- qpol_iter = self.qpol_symbol.get_expr_iter(self.policy)
- while not qpol_iter.end():
+ qpol_iter = self.qpol_symbol.expr_iter(self.policy)
+ while not qpol_iter.isend():
expr_node = qpol.qpol_constraint_expr_node_from_void(
- qpol_iter.get_item())
+ qpol_iter.item())
- sym_type = expr_node.get_sym_type(self.policy)
- expr_type = expr_node.get_expr_type(self.policy)
+ sym_type = expr_node.sym_type(self.policy)
+ expr_type = expr_node.expr_type(self.policy)
if expr_type == qpol.QPOL_CEXPR_TYPE_ATTR and sym_type >= qpol.QPOL_CEXPR_SYM_L1L2:
self._ismls = True
@@ -199,11 +198,11 @@ class Constraint(symbol.PolicySymbol):
def perms(self):
"""The constraint's permission set."""
- iter = self.qpol_symbol.get_perm_iter(self.policy)
+ iter = self.qpol_symbol.perm_iter(self.policy)
p = set()
- while not iter.end():
- p.add(qpol.to_str(iter.get_item()))
+ while not iter.isend():
+ p.add(qpol.to_str(iter.item()))
iter.next()
return p
@@ -214,7 +213,7 @@ class Constraint(symbol.PolicySymbol):
@property
def tclass(self):
"""Object class for this constraint."""
- return objclass.ObjClass(self.policy, self.qpol_symbol.get_class(self.policy))
+ return objclass.ObjClass(self.policy, self.qpol_symbol.object_class(self.policy))
class ValidateTrans(symbol.PolicySymbol):
diff --git a/libapol/policyrep/context.py b/libapol/policyrep/context.py
index 698fc8d..80e6c0d 100644
--- a/libapol/policyrep/context.py
+++ b/libapol/policyrep/context.py
@@ -16,8 +16,7 @@
# License along with SETools. If not, see
# .
#
-import setools.qpol as qpol
-
+import qpol
import symbol
import user
import role
@@ -38,17 +37,17 @@ class Context(symbol.PolicySymbol):
@property
def user(self):
"""The user portion of the context."""
- return user.User(self.policy, self.qpol_symbol.get_user(self.policy))
+ return user.User(self.policy, self.qpol_symbol.user(self.policy))
@property
def role(self):
"""The role portion of the context."""
- return role.Role(self.policy, self.qpol_symbol.get_role(self.policy))
+ return role.Role(self.policy, self.qpol_symbol.role(self.policy))
@property
def type_(self):
"""The type portion of the context."""
- return typeattr.TypeAttr(self.policy, self.qpol_symbol.get_type(self.policy))
+ return typeattr.TypeAttr(self.policy, self.qpol_symbol.type_(self.policy))
@property
def mls(self):
@@ -56,6 +55,6 @@ class Context(symbol.PolicySymbol):
# without this check, qpol will segfault on MLS-disabled policies
if self.policy.has_capability(qpol.QPOL_CAP_MLS):
- return mls.MLSRange(self.policy, self.qpol_symbol.get_range(self.policy))
+ return mls.MLSRange(self.policy, self.qpol_symbol.range(self.policy))
else:
raise mls.MLSDisabled("MLS is disabled, the context has no range.")
diff --git a/libapol/policyrep/fscontext.py b/libapol/policyrep/fscontext.py
index ba3cb5f..5786f98 100644
--- a/libapol/policyrep/fscontext.py
+++ b/libapol/policyrep/fscontext.py
@@ -16,8 +16,7 @@
# License along with SETools. If not, see
# .
#
-from setools import qpol
-
+import qpol
import symbol
import context
@@ -32,12 +31,12 @@ class FSContext(symbol.PolicySymbol):
@property
def fs(self):
"""The filesystem type for this statement."""
- return self.qpol_symbol.get_name(self.policy)
+ return self.qpol_symbol.name(self.policy)
@property
def context(self):
"""The context for this statement."""
- return context.Context(self.policy, self.qpol_symbol.get_context(self.policy))
+ return context.Context(self.policy, self.qpol_symbol.context(self.policy))
def statement(self):
return str(self)
@@ -53,7 +52,7 @@ class Genfscon(FSContext):
@property
def path(self):
"""The path for this genfscon statement."""
- return self.qpol_symbol.get_path(self.policy)
+ return self.qpol_symbol.path(self.policy)
class FSUse(FSContext):
@@ -73,4 +72,4 @@ class FSUse(FSContext):
@property
def ruletype(self):
"""The rule type for this fs_use_* statement."""
- return self._ruletype_to_text[self.qpol_symbol.get_behavior(self.policy)]
+ return self._ruletype_to_text[self.qpol_symbol.behavior(self.policy)]
diff --git a/libapol/policyrep/initsid.py b/libapol/policyrep/initsid.py
index c0ce7b4..5742b66 100644
--- a/libapol/policyrep/initsid.py
+++ b/libapol/policyrep/initsid.py
@@ -16,8 +16,7 @@
# License along with SETools. If not, see
# .
#
-import setools.qpol as qpol
-
+import qpol
import symbol
import context
@@ -29,7 +28,7 @@ class InitialSID(symbol.PolicySymbol):
@property
def context(self):
"""The context for this initial SID."""
- return context.Context(self.policy, self.qpol_symbol.get_context(self.policy))
+ return context.Context(self.policy, self.qpol_symbol.context(self.policy))
def statement(self):
return "sid {0} {1}".format(self, self.context)
diff --git a/libapol/policyrep/mls.py b/libapol/policyrep/mls.py
index 551c60e..c466f00 100644
--- a/libapol/policyrep/mls.py
+++ b/libapol/policyrep/mls.py
@@ -19,7 +19,7 @@
import itertools
import string
-import setools.qpol as qpol
+import qpol
import symbol
@@ -38,7 +38,7 @@ class MLSCategory(symbol.PolicySymbol):
@property
def isalias(self):
"""(T/F) this is an alias."""
- return self.qpol_symbol.get_isalias(self.policy)
+ return self.qpol_symbol.isalias(self.policy)
@property
def value(self):
@@ -51,17 +51,19 @@ class MLSCategory(symbol.PolicySymbol):
Example usage: sorted(self.categories(), key=lambda k: k.value)
"""
- return self.qpol_symbol.get_value(self.policy)
+ return self.qpol_symbol.value(self.policy)
def aliases(self):
"""Generator that yields all aliases for this category."""
- aiter = self.qpol_symbol.get_alias_iter(self.policy)
- while not aiter.end():
- yield qpol.to_str(aiter.get_item())
+ aiter = self.qpol_symbol.alias_iter(self.policy)
+ while not aiter.isend():
+ yield qpol.to_str(aiter.item())
aiter.next()
# libqpol does not expose sensitivities as an individual component
+
+
class MLSSensitivity(symbol.PolicySymbol):
pass
@@ -72,7 +74,7 @@ class MLSLevel(symbol.PolicySymbol):
def __eq__(self, other):
if self.policy == other.policy:
- if (self.qpol_symbol.get_sens_name(self.policy) != other.qpol_symbol.get_sens_name(self.policy)):
+ if (self.qpol_symbol.sens_name(self.policy) != other.qpol_symbol.get_sens_name(self.policy)):
return False
selfcats = set(str(c) for c in self.categories())
@@ -83,7 +85,7 @@ class MLSLevel(symbol.PolicySymbol):
raise NotImplementedError
def __str__(self):
- lvl = str(self.qpol_symbol.get_sens_name(self.policy))
+ lvl = str(self.qpol_symbol.sens_name(self.policy))
# sort by policy declaration order
cats = sorted(self.categories(), key=lambda k: k.value)
@@ -109,9 +111,9 @@ class MLSLevel(symbol.PolicySymbol):
c0.c255
"""
- citer = self.qpol_symbol.get_cat_iter(self.policy)
- while not citer.end():
- yield MLSCategory(self.policy, qpol.qpol_cat_from_void(citer.get_item()))
+ citer = self.qpol_symbol.cat_iter(self.policy)
+ while not citer.isend():
+ yield MLSCategory(self.policy, qpol.qpol_cat_from_void(citer.item()))
citer.next()
@@ -130,9 +132,9 @@ class MLSRange(symbol.PolicySymbol):
@property
def high(self):
"""The high end/clearance level of this range."""
- return MLSLevel(self.policy, self.qpol_symbol.get_high_level(self.policy))
+ return MLSLevel(self.policy, self.qpol_symbol.high_level(self.policy))
@property
def low(self):
"""The low end/current level of this range."""
- return MLSLevel(self.policy, self.qpol_symbol.get_low_level(self.policy))
+ return MLSLevel(self.policy, self.qpol_symbol.low_level(self.policy))
diff --git a/libapol/policyrep/mlsrule.py b/libapol/policyrep/mlsrule.py
index 450259d..345a0e4 100644
--- a/libapol/policyrep/mlsrule.py
+++ b/libapol/policyrep/mlsrule.py
@@ -16,8 +16,7 @@
# License along with SETools. If not, see
# .
#
-import setools.qpol as qpol
-
+import qpol
import rule
import typeattr
import mls
@@ -41,19 +40,19 @@ class MLSRule(rule.PolicyRule):
@property
def source(self):
"""The rule's source type/attribute."""
- return typeattr.TypeAttr(self.policy, self.qpol_symbol.get_source_type(self.policy))
+ return typeattr.TypeAttr(self.policy, self.qpol_symbol.source_type(self.policy))
@property
def target(self):
"""The rule's target type/attribute."""
- return typeattr.TypeAttr(self.policy, self.qpol_symbol.get_target_type(self.policy))
+ return typeattr.TypeAttr(self.policy, self.qpol_symbol.target_type(self.policy))
@property
def tclass(self):
"""The rule's object class."""
- return objclass.ObjClass(self.policy, self.qpol_symbol.get_target_class(self.policy))
+ return objclass.ObjClass(self.policy, self.qpol_symbol.target_class(self.policy))
@property
def default(self):
"""The rule's default range."""
- return mls.MLSRange(self.policy, self.qpol_symbol.get_range(self.policy))
+ return mls.MLSRange(self.policy, self.qpol_symbol.range(self.policy))
diff --git a/libapol/policyrep/netcontext.py b/libapol/policyrep/netcontext.py
index 8c5536a..b88441e 100644
--- a/libapol/policyrep/netcontext.py
+++ b/libapol/policyrep/netcontext.py
@@ -18,8 +18,7 @@
#
import socket
-from setools import qpol
-
+import qpol
import symbol
import context
@@ -34,7 +33,7 @@ class NetContext(symbol.PolicySymbol):
@property
def context(self):
"""The context for this statement."""
- return context.Context(self.policy, self.qpol_symbol.get_context(self.policy))
+ return context.Context(self.policy, self.qpol_symbol.context(self.policy))
def statement(self):
return str(self)
@@ -50,17 +49,17 @@ class Netifcon(NetContext):
@property
def netif(self):
"""The network interface name."""
- return self.qpol_symbol.get_name(self.policy)
+ return self.qpol_symbol.name(self.policy)
@property
def context(self):
"""The context for the interface."""
- return context.Context(self.policy, self.qpol_symbol.get_if_con(self.policy))
+ return context.Context(self.policy, self.qpol_symbol.if_con(self.policy))
@property
def packet(self):
"""The context for the packets."""
- return context.Context(self.policy, self.qpol_symbol.get_msg_con(self.policy))
+ return context.Context(self.policy, self.qpol_symbol.msg_con(self.policy))
class Nodecon(NetContext):
@@ -81,7 +80,7 @@ class Nodecon(NetContext):
The IP version for the nodecon (socket.AF_INET or
socket.AF_INET6).
"""
- if self.qpol_symbol.get_protocol(self.policy) == qpol.QPOL_IPV6:
+ if self.qpol_symbol.protocol(self.policy) == qpol.QPOL_IPV6:
return socket.AF_INET6
return socket.AF_INET
@@ -93,11 +92,11 @@ class Nodecon(NetContext):
# converted into the human-readable string version.
# IPv(4|6)Network looks good for this (with mask below)
# but it is limited to Python >= 3.3
- return self.qpol_symbol.get_addr(self.policy)
+ return self.qpol_symbol.addr(self.policy)
@property
def netmask(self):
- return self.qpol_symbol.get_mask(self.policy)
+ return self.qpol_symbol.mask(self.policy)
class Portcon(NetContext):
@@ -122,7 +121,7 @@ class Portcon(NetContext):
The protocol number for the portcon (socket.IPPROTO_TCP
or socket.IPPROTO_UDP).
"""
- return self.qpol_symbol.get_protocol(self.policy)
+ return self.qpol_symbol.protocol(self.policy)
@property
def ports(self):
@@ -133,6 +132,6 @@ class Portcon(NetContext):
low The low port of the range.
high The high port of the range.
"""
- low = self.qpol_symbol.get_low_port(self.policy)
- high = self.qpol_symbol.get_high_port(self.policy)
+ low = self.qpol_symbol.low_port(self.policy)
+ high = self.qpol_symbol.high_port(self.policy)
return (low, high)
diff --git a/libapol/policyrep/objclass.py b/libapol/policyrep/objclass.py
index ebba9ce..d82d89e 100644
--- a/libapol/policyrep/objclass.py
+++ b/libapol/policyrep/objclass.py
@@ -17,7 +17,7 @@
# .
#
import symbol
-import setools.qpol as qpol
+import qpol
class Common(symbol.PolicySymbol):
@@ -25,10 +25,10 @@ class Common(symbol.PolicySymbol):
"""A common permission set."""
def __contains__(self, other):
- piter = self.qpol_symbol.get_perm_iter(self.policy)
+ piter = self.qpol_symbol.perm_iter(self.policy)
- while not piter.end():
- if other == qpol.to_str(piter.get_item()):
+ while not piter.isend():
+ if other == qpol.to_str(piter.item()):
return True
piter.next()
@@ -39,12 +39,12 @@ class Common(symbol.PolicySymbol):
def perms(self):
"""The list of the common's permissions."""
- piter = self.qpol_symbol.get_perm_iter(self.policy)
+ piter = self.qpol_symbol.perm_iter(self.policy)
p = set()
- while not piter.end():
- p.add(qpol.to_str(piter.get_item()))
- piter.next()
+ while not piter.isend():
+ p.add(qpol.to_str(piter.item()))
+ piter.next_()
return p
@@ -62,7 +62,7 @@ class Common(symbol.PolicySymbol):
Example usage: sorted(policy.commons(), key=lambda k: k.value)
"""
- return self.qpol_symbol.get_value(self.policy)
+ return self.qpol_symbol.value(self.policy)
class NoCommon(symbol.InvalidSymbol):
@@ -87,7 +87,7 @@ class ObjClass(Common):
"""
try:
- return Common(self.policy, self.qpol_symbol.get_common(self.policy))
+ return Common(self.policy, self.qpol_symbol.common(self.policy))
except symbol.InvalidSymbol:
raise NoCommon("{0} does not inherit a common.".format(self))
diff --git a/libapol/policyrep/polcap.py b/libapol/policyrep/polcap.py
index 9cdec95..838475b 100644
--- a/libapol/policyrep/polcap.py
+++ b/libapol/policyrep/polcap.py
@@ -16,8 +16,7 @@
# License along with SETools. If not, see
# .
#
-import setools.qpol as qpol
-
+import qpol
import symbol
diff --git a/libapol/policyrep/rbacrule.py b/libapol/policyrep/rbacrule.py
index 688267c..1f88d2b 100644
--- a/libapol/policyrep/rbacrule.py
+++ b/libapol/policyrep/rbacrule.py
@@ -16,8 +16,7 @@
# License along with SETools. If not, see
# .
#
-import setools.qpol as qpol
-
+import qpol
import rule
import role
import typeattr
@@ -45,7 +44,7 @@ class RBACRule(rule.PolicyRule):
@property
def source(self):
"""The rule's source role."""
- return role.Role(self.policy, self.qpol_symbol.get_source_role(self.policy))
+ return role.Role(self.policy, self.qpol_symbol.source_role(self.policy))
@property
def target(self):
@@ -54,15 +53,15 @@ class RBACRule(rule.PolicyRule):
(role_transition).
"""
try:
- return role.Role(self.policy, self.qpol_symbol.get_target_role(self.policy))
+ return role.Role(self.policy, self.qpol_symbol.target_role(self.policy))
except AttributeError:
- return typeattr.TypeAttr(self.policy, self.qpol_symbol.get_target_type(self.policy))
+ return typeattr.TypeAttr(self.policy, self.qpol_symbol.target_type(self.policy))
@property
def tclass(self):
"""The rule's object class."""
try:
- return objclass.ObjClass(self.policy, self.qpol_symbol.get_object_class(self.policy))
+ return objclass.ObjClass(self.policy, self.qpol_symbol.object_class(self.policy))
except AttributeError:
raise rule.InvalidRuleUse(
"Role allow rules do not have an object class.")
@@ -71,7 +70,7 @@ class RBACRule(rule.PolicyRule):
def default(self):
"""The rule's default role."""
try:
- return role.Role(self.policy, self.qpol_symbol.get_default_role(self.policy))
+ return role.Role(self.policy, self.qpol_symbol.default_role(self.policy))
except AttributeError:
raise rule.InvalidRuleUse(
"Role allow rules do not have a default role.")
diff --git a/libapol/policyrep/role.py b/libapol/policyrep/role.py
index dde0f39..1c91901 100644
--- a/libapol/policyrep/role.py
+++ b/libapol/policyrep/role.py
@@ -17,8 +17,7 @@
# .
#
import string
-
-import setools.qpol as qpol
+import qpol
import symbol
import typeattr
@@ -44,11 +43,11 @@ class Role(symbol.PolicySymbol):
def types(self):
"""Generator which yields the role's set of types."""
- titer = self.qpol_symbol.get_type_iter(self.policy)
- while not titer.end():
+ titer = self.qpol_symbol.type_iter(self.policy)
+ while not titer.isend():
yield typeattr.TypeAttr(
- self.policy, qpol.qpol_type_from_void(titer.get_item()))
- titer.next()
+ self.policy, qpol.qpol_type_from_void(titer.item()))
+ titer.next_()
def statement(self):
types = list(str(t) for t in self.types())
diff --git a/libapol/policyrep/rule.py b/libapol/policyrep/rule.py
index 5bd4e07..0585015 100644
--- a/libapol/policyrep/rule.py
+++ b/libapol/policyrep/rule.py
@@ -16,8 +16,7 @@
# License along with SETools. If not, see
# .
#
-import setools.qpol as qpol
-
+import qpol
import symbol
diff --git a/libapol/policyrep/symbol.py b/libapol/policyrep/symbol.py
index 54c7bf5..0d04020 100644
--- a/libapol/policyrep/symbol.py
+++ b/libapol/policyrep/symbol.py
@@ -16,7 +16,7 @@
# License along with SETools. If not, see
# .
#
-import setools.qpol as qpol
+import qpol
class InvalidSymbol(Exception):
@@ -50,7 +50,7 @@ class PolicySymbol(object):
self.qpol_symbol = qpol_symbol
def __str__(self):
- return self.qpol_symbol.get_name(self.policy)
+ return self.qpol_symbol.name(self.policy)
def __hash__(self):
return hash(self.qpol_symbol)
diff --git a/libapol/policyrep/terule.py b/libapol/policyrep/terule.py
index fa8551a..a4a8f7b 100644
--- a/libapol/policyrep/terule.py
+++ b/libapol/policyrep/terule.py
@@ -18,8 +18,7 @@
#
import string
-import setools.qpol as qpol
-
+import qpol
import symbol
import rule
import typeattr
@@ -85,7 +84,7 @@ class TERule(rule.PolicyRule):
def ruletype(self):
"""The rule type."""
try:
- return self._teruletype_val_to_text[self.qpol_symbol.get_rule_type(self.policy)]
+ return self._teruletype_val_to_text[self.qpol_symbol.rule_type(self.policy)]
except AttributeError:
# qpol does not have a rule type function for name filetrans rules
return "type_transition"
@@ -93,33 +92,33 @@ class TERule(rule.PolicyRule):
@property
def source(self):
"""The rule's source type/attribute."""
- return typeattr.TypeAttr(self.policy, self.qpol_symbol.get_source_type(self.policy))
+ return typeattr.TypeAttr(self.policy, self.qpol_symbol.source_type(self.policy))
@property
def target(self):
"""The rule's target type/attribute."""
- return typeattr.TypeAttr(self.policy, self.qpol_symbol.get_target_type(self.policy))
+ return typeattr.TypeAttr(self.policy, self.qpol_symbol.target_type(self.policy))
@property
def tclass(self):
"""The rule's object class."""
- return objclass.ObjClass(self.policy, self.qpol_symbol.get_object_class(self.policy))
+ return objclass.ObjClass(self.policy, self.qpol_symbol.object_class(self.policy))
@property
def perms(self):
"""The rule's permission set."""
try:
# create permission list
- iter = self.qpol_symbol.get_perm_iter(self.policy)
+ qiter = self.qpol_symbol.perm_iter(self.policy)
except AttributeError:
raise rule.InvalidRuleUse(
"{0} rules do not have a permission set.".format(self.ruletype))
p = set()
- while not iter.end():
- p.add(qpol.to_str(iter.get_item()))
- iter.next()
+ while not qiter.isend():
+ p.add(qpol.to_str(qiter.item()))
+ qiter.next_()
return p
@@ -127,7 +126,7 @@ class TERule(rule.PolicyRule):
def default(self):
"""The rule's default type."""
try:
- return typeattr.TypeAttr(self.policy, self.qpol_symbol.get_default_type(self.policy))
+ return typeattr.TypeAttr(self.policy, self.qpol_symbol.default_type(self.policy))
except AttributeError:
raise rule.InvalidRuleUse(
"{0} rules do not have a default type.".format(self.ruletype))
@@ -136,7 +135,7 @@ class TERule(rule.PolicyRule):
def filename(self):
"""The type_transition rule's file name."""
try:
- return self.qpol_symbol.get_filename(self.policy)
+ return self.qpol_symbol.filename(self.policy)
except AttributeError:
if self.ruletype == "type_transition":
raise TERuleNoFilename
@@ -148,7 +147,7 @@ class TERule(rule.PolicyRule):
def conditional(self):
"""The rule's conditional expression."""
try:
- return boolcond.ConditionalExpr(self.policy, self.qpol_symbol.get_cond(self.policy))
+ return boolcond.ConditionalExpr(self.policy, self.qpol_symbol.cond(self.policy))
except (AttributeError, symbol.InvalidSymbol):
# AttributeError: name filetrans rules cannot be conditional
# so no member function
diff --git a/libapol/policyrep/typeattr.py b/libapol/policyrep/typeattr.py
index 2b71870..c9bb8eb 100644
--- a/libapol/policyrep/typeattr.py
+++ b/libapol/policyrep/typeattr.py
@@ -18,8 +18,7 @@
#
import string
-import setools.qpol as qpol
-
+import qpol
import symbol
@@ -35,12 +34,12 @@ class TypeAttr(symbol.PolicySymbol):
@property
def isattr(self):
"""(T/F) this is an attribute."""
- return self.qpol_symbol.get_isattr(self.policy)
+ return self.qpol_symbol.isattr(self.policy)
@property
def isalias(self):
"""(T/F) this is an alias."""
- return self.qpol_symbol.get_isalias(self.policy)
+ return self.qpol_symbol.isalias(self.policy)
def expand(self):
"""
@@ -51,10 +50,10 @@ class TypeAttr(symbol.PolicySymbol):
if not self.isattr:
yield self
else:
- aiter = self.qpol_symbol.get_type_iter(self.policy)
- while not aiter.end():
- yield TypeAttr(self.policy, qpol.qpol_type_from_void(aiter.get_item()))
- aiter.next()
+ aiter = self.qpol_symbol.type_iter(self.policy)
+ while not aiter.isend():
+ yield TypeAttr(self.policy, qpol.qpol_type_from_void(aiter.item()))
+ aiter.next_()
def attributes(self):
"""Generator that yields all attributes for this type."""
@@ -62,10 +61,10 @@ class TypeAttr(symbol.PolicySymbol):
raise TypeError(
"{0} is an attribute, thus does not have attributes.".format(self))
- aiter = self.qpol_symbol.get_attr_iter(self.policy)
- while not aiter.end():
- yield TypeAttr(self.policy, qpol.qpol_type_from_void(aiter.get_item()))
- aiter.next()
+ aiter = self.qpol_symbol.attr_iter(self.policy)
+ while not aiter.isend():
+ yield TypeAttr(self.policy, qpol.qpol_type_from_void(aiter.item()))
+ aiter.next_()
def aliases(self):
"""Generator that yields all aliases for this type."""
@@ -73,10 +72,10 @@ class TypeAttr(symbol.PolicySymbol):
raise TypeError(
"{0} is an attribute, thus does not have aliases.".format(self))
- aiter = self.qpol_symbol.get_alias_iter(self.policy)
- while not aiter.end():
- yield qpol.to_str(aiter.get_item())
- aiter.next()
+ aiter = self.qpol_symbol.alias_iter(self.policy)
+ while not aiter.isend():
+ yield qpol.to_str(aiter.item())
+ aiter.next_()
def statement(self):
if self.isattr:
diff --git a/libapol/policyrep/user.py b/libapol/policyrep/user.py
index 54617b0..15ebf89 100644
--- a/libapol/policyrep/user.py
+++ b/libapol/policyrep/user.py
@@ -19,8 +19,7 @@
import string
-import setools.qpol as qpol
-
+import qpol
import role
import mls
import symbol
@@ -36,10 +35,10 @@ class User(symbol.PolicySymbol):
r = set()
- aiter = self.qpol_symbol.get_role_iter(self.policy)
- while not aiter.end():
+ aiter = self.qpol_symbol.role_iter(self.policy)
+ while not aiter.isend():
item = role.Role(
- self.policy, qpol.qpol_role_from_void(aiter.get_item()))
+ self.policy, qpol.qpol_role_from_void(aiter.item()))
# object_r is implicitly added to all roles by the compiler.
# technically it is incorrect to skip it, but policy writers
@@ -48,19 +47,19 @@ class User(symbol.PolicySymbol):
if item != "object_r":
r.add(item)
- aiter.next()
+ aiter.next_()
return r
@property
def mls_level(self):
"""The user's default MLS level."""
- return mls.MLSLevel(self.policy, self.qpol_symbol.get_dfltlevel(self.policy))
+ return mls.MLSLevel(self.policy, self.qpol_symbol.dfltlevel(self.policy))
@property
def mls_range(self):
"""The user's MLS range."""
- return mls.MLSRange(self.policy, self.qpol_symbol.get_range(self.policy))
+ return mls.MLSRange(self.policy, self.qpol_symbol.range(self.policy))
def statement(self):
roles = list(str(r) for r in self.roles)