Commit Graph

896 Commits

Author SHA1 Message Date
Chris PeBenito
14b131a693 RoleAllow/RoleTransition: Refactor to load attributes on construction. 2018-08-06 16:23:58 -04:00
Chris PeBenito
c836e359aa AVRule/AVRuleXperm/TERule/FileNameTERule: Refactor to load attributes on construction. 2018-08-06 16:23:48 -04:00
Chris PeBenito
22967fa6a2 policyrep: Refactor base classes for loading attributes on construction. 2018-08-06 16:23:38 -04:00
Chris PeBenito
79b56f4fa8 setup.py: Add cython annotation option. 2018-07-28 11:48:07 -04:00
Chris PeBenito
6e67c3b8b4 policyrep: Misc cython tweaks. 2018-07-28 11:34:48 -04:00
Chris PeBenito
8f77510bcb .travis.yml: Fix CI build. 2018-07-28 09:31:55 -04:00
Chris PeBenito
5198a35031 setup.py: Drop runtime_library_dirs.
Closes #5
2018-07-28 08:53:37 -04:00
Chris PeBenito
2ba0ee20ff SELinuxPolicy: Cache rule counts.
Address performance regressions most obvious in seinfo.

Before:
$ time ./seinfo policy-mls.29 > /dev/null

real	0m5.022s
user	0m4.970s
sys	0m0.041s

After:
$ time ./seinfo policy-mls.29 > /dev/null

real	0m0.704s
user	0m0.666s
sys	0m0.037s
2018-07-20 06:10:53 -04:00
Chris PeBenito
33055a661a BaseTERule: Cache the rule's string representation.
Fixes performance regressions most obvious in sesearch.

For #7

Before:
$ time ./sesearch -AT policy-mls.29 > /dev/null

real	0m41.594s
user	0m41.417s
sys	0m0.109s

After:
$ time ./sesearch -AT policy-mls.29 > /dev/null

real	0m3.428s
user	0m3.358s
sys	0m0.067s
2018-07-20 05:44:48 -04:00
Chris PeBenito
7bb1dfea63 SELinuxPolicy: Further revise potential policy paths generation.
Fully check C pointers.
2018-07-20 05:25:53 -04:00
Chris PeBenito
bad7203b14 SELinuxPolicy: Fix null pointer dereference in policy load.
If selinux_current_policy_path() cannot find a policy, it returns NULL.
Found this running in a chroot on a SELinux system and proc but not
selinuxfs was mounted in it.

Closes #6
2018-07-19 20:44:53 -04:00
Chris PeBenito
4cd0c31a82 SELinuxPolicy: Add additional debugging messages in potential policy logic. 2018-07-19 19:38:42 -04:00
Chris PeBenito
e240d7f242 setup.py: Enhance clean command for cython and other generated files.
For #4
2018-07-18 17:03:05 -04:00
Chris PeBenito
239498ae78 Drop final libqpol file. 2018-07-18 05:30:02 -04:00
Chris PeBenito
5fb7f95b65 setup.py: Add additional compiler flags for newer GCCs.
Closes #2
2018-07-14 15:53:23 -04:00
Chris PeBenito
154e8291ea selinuxpolicy.pxi: Fix attribute synthesis code.
Closes #1
2018-07-14 15:12:02 -04:00
Chris PeBenito
b0fa01ee40 Bump version for 4.2.0-beta release. 2018-07-10 20:20:40 -04:00
Chris PeBenito
68a46ece0c .travis.yml/tox.ini: Update CI build for local SELinux userspace build. 2018-06-18 20:25:14 -04:00
Chris PeBenito
57e4f464bf setup.py: Update build for local SELinux userspace code.
Now USERSPACE_SRC points to the top level directory that has the
libsepol, libselinux, and checkpolicy source trees.
2018-06-18 20:21:30 -04:00
Chris PeBenito
6d68ce463a Update permission map to current refpolicy access vectors. 2018-06-17 14:51:03 -04:00
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