Commit Graph

876 Commits

Author SHA1 Message Date
Chris PeBenito
e4f1f5d7fe sepol.pxd: Remove duplicate declarations. 2018-06-16 10:44:29 -04:00
Chris PeBenito
3d1c259aa4 Update documentation for repository move. 2018-06-16 08:29:31 -04:00
Chris PeBenito
6a7df58b3d PolicyCapability: Use newly exported sepol_polcap_getname() function in libsepol 2.8. 2018-06-15 20:28:05 -04:00
Chris PeBenito
1a73d75b59 PortconProtocol: Add support for SCTP portcons. 2018-06-15 20:28:05 -04:00
Chris PeBenito
4a98b8315b Update code coverage configuration to include cython code. 2018-06-15 20:28:05 -04:00
Chris PeBenito
a82a7fcc84 apol/workspace: Remove unnecessary import. 2018-06-15 20:28:05 -04:00
Chris PeBenito
e6ea477889 SELinuxPolicy: Convert to direct sepol structure access. 2018-06-15 20:28:05 -04:00
Chris PeBenito
a533303d04 InitialSID: Handle absence of names in binary policy. 2018-06-15 20:26:49 -04:00
Chris PeBenito
f012d55b11 policyrep: Convert TE rules to direct sepol structure access. 2018-06-15 20:26:49 -04:00
Chris PeBenito
aeecacc896 Conditional: Convert to direct sepol structure access. Add iterators. 2018-06-15 20:26:49 -04:00
Chris PeBenito
71cfccce06 RoleAllow/Transition: Convert to direct sepol structure access. 2018-06-15 20:26:49 -04:00
Chris PeBenito
f3f174df9e Constraint: Convert to direct sepol structure use. 2018-06-15 20:26:49 -04:00
Chris PeBenito
f39347d81f Bounds: Convert to direct sepol structure use. Add iterator. 2018-06-15 20:26:49 -04:00
Chris PeBenito
42ccafcdcc policy_extend.c: Remove unused variable. 2018-06-15 20:26:49 -04:00
Chris PeBenito
96f7ac3816 libpolicyrep.pyx: Remove unused function. 2018-06-15 20:26:49 -04:00
Chris PeBenito
270a094a1e SELinuxPolicy: Initial switch over to exported sepol library functions.
Also switch over to libselinux C use.
2018-06-15 20:26:49 -04:00
Chris PeBenito
5cba00bcdf FileNameTERule: Convert to direct sepol data structure access. Add iterator. 2018-06-15 20:26:49 -04:00
Chris PeBenito
23d42f162f MLSRule: Convert to direct sepol structure access. Add iterator. 2018-06-15 20:26:49 -04:00
Chris PeBenito
3d4b03691d Context: Convert to direct sepol structure access. 2018-06-15 20:26:49 -04:00
Chris PeBenito
32d67a4c9a Default: Convert to direct sepol structure access. 2018-06-15 20:26:49 -04:00
Chris PeBenito
42ec9f751a User: Convert to direct sepol structure access. Add iterator 2018-06-15 20:26:49 -04:00
Chris PeBenito
d2896d6a53 Role: Convert to direct sepol structure access. Add iterators. 2018-06-15 20:26:49 -04:00
Chris PeBenito
c45205c5b0 policyrep: Convert type and typeattrs to direct sepol structure access.
Add iterators.
2018-06-15 20:26:49 -04:00
Chris PeBenito
9eba422499 policyrep: Convert commons and classes to direct sepol structure access.
Add iterators.
2018-06-15 20:26:49 -04:00
Chris PeBenito
d476f22055 policyrep: Convert MLS symbols and levels/ranges to direct sepol structure access.
Add iterators.
2018-06-15 20:26:49 -04:00
Chris PeBenito
8260b9b166 Boolean: Convert to direct sepol structure access. Add iterator. 2018-06-15 20:26:49 -04:00
Chris PeBenito
680664ba66 PolicyCapability: Convert to direct sepol structure access. Add iterator. 2018-06-15 20:26:49 -04:00
Chris PeBenito
a56f4b1400 policyrep: Convert to factory methods. 2018-06-15 20:26:49 -04:00
Chris PeBenito
8a9e9e7729 policyrep: Convert initial SID classes to factory methods. 2018-06-15 20:26:49 -04:00
Chris PeBenito
9ea0caa4f2 policyrep: Convert net contexts to factory methods. Add iterators. 2018-06-15 20:26:49 -04:00
Chris PeBenito
9df377d689 policyrep: Convert Xen contexts to factory methods. Add iterators. 2018-06-15 20:26:49 -04:00
Chris PeBenito
03d1a937ac policyrep: Add ebitmap and hashtab iterator base classes. 2018-06-15 20:26:49 -04:00
Chris PeBenito
5d70021fd0 policyrep: Change iterator size() methods to Pythonic __len__. 2018-06-15 20:26:49 -04:00
Chris PeBenito
a06d4a9476 Genfscon: Revise to directly use sepol data structures. 2018-06-15 20:26:49 -04:00
Chris PeBenito
80a95bd414 FSUse: Revise to directly use sepol data structures. 2018-06-15 20:26:49 -04:00
Chris PeBenito
bb5004df2d policyrep: Revise initial SIDs to directly use sepol data structures. 2018-06-15 20:26:49 -04:00
Chris PeBenito
2dd1e9366a policyrep: Revise network contexts to directly use sepol data structures. 2018-06-15 20:26:49 -04:00
Chris PeBenito
9c053cc5fe policyrep: Revise Xen contexts to directly use sepol data structures. 2018-06-15 20:26:49 -04:00
Chris PeBenito
c5b0348357 policyrep: Create a libsepol cython definition. 2018-06-15 20:26:49 -04:00
Chris PeBenito
3e2cf79f81 Additional C cleanups. 2018-06-15 20:26:49 -04:00
Chris PeBenito
4684eca5bc tests: Revise unit tests for binary-only policy support.
Closes #72
2018-06-15 20:26:49 -04:00
Chris PeBenito
42001334fe SELinuxPolicy: Revise invalid policy errors. 2018-06-15 20:26:49 -04:00
Chris PeBenito
8b0e93c0d6 Remove source policy loading support and module loading support. 2018-06-15 20:26:49 -04:00
Chris PeBenito
b9f3ef11da policyrep: Fix copyright. 2018-06-15 20:26:49 -04:00
Chris PeBenito
6621a5ed42 diff: Significantly improve memory utilization.
Eliminate wrapper duplication on symbols (types, roles, etc.).  This
reduces memory use by an estimated 60%.
2018-06-15 20:26:49 -04:00
Chris PeBenito
633b310c5b Policyrep: cache objects that are likely to be duplicated.
Cache instances using their pointer as hash, since it is unique, even
across multiple policies (i.e. in sediff).
2018-06-15 20:26:49 -04:00
Chris PeBenito
dc3752e12d tests: Fix static analysis errors. 2018-06-15 20:26:49 -04:00
Chris PeBenito
d762f58dc1 Conditional: Make hashable.
Then TERulesDifference can cache them, and especially their truth tables.
2018-06-15 20:26:49 -04:00
Chris PeBenito
8fe7a5ed1e policyrep: Intern strings inside the policy.
Intern symbol names, aliases, permissions, etc. to ensure there are not
duplicate strings in memory.

Results in 25% memory savings in expanded TE rules when tested with the
entire refpolicy.
2018-06-15 20:26:49 -04:00
Chris PeBenito
3ed64fc213 policyrep/context.pxi: Remove unnecessary pass statement. 2018-06-15 20:26:49 -04:00