selinux/checkpolicy
Juraj Marcin e169fe2653 checkpolicy,libsepol: move filename transitions to avtab
Currently, filename transitions are stored separately from other type
enforcement rules. This leads to possibly sub-optimal performance and
makes further improvements cumbersome.

This patch adds a symbol table with filename transitions to the
transition structure added to avtab in the previous patch. It also
implements functions required for reading and writing filename
transitions (either binary or source formats) and updates the code for
expanding attributes. Last but not least, it updates the conflict check
in the conditional avtab to account for empty transitions in the
non-conditional avtab.

These changes are expected to cause higher memory usage, as now there
needs to be a filename transition structure for every stype. This patch
effectively undoes most of the commit 42ae834a ("libsepol,checkpolicy:
optimize storage of filename transitions"), but this will be mitigated
by providing support for matching prefix/suffix of the filename for
filename transitions in future patches which will reduce to need to have
so many of them.

Reviewed-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Juraj Marcin <juraj@jurajmarcin.com>
Acked-by: James Carter <jwcart2@gmail.com>
2023-07-12 12:58:17 -04:00
..
ru checkpolicy: Minor tweaks to the names of the contributors to the manpages 2020-06-04 16:06:25 -04:00
test checkpolicy,libsepol: move filename transitions to avtab 2023-07-12 12:58:17 -04:00
.gitignore Repo: update .gitignore 2011-08-02 13:31:51 -04:00
checkmodule.8 checkpolicy: add option to skip checking neverallow rules 2023-06-30 11:53:44 +02:00
checkmodule.c checkpolicy,libsepol: move filename transitions to avtab 2023-07-12 12:58:17 -04:00
checkpolicy.8 checkpolicy: add option to skip checking neverallow rules 2023-06-30 11:53:44 +02:00
checkpolicy.c checkpolicy,libsepol: move filename transitions to avtab 2023-07-12 12:58:17 -04:00
checkpolicy.h checkpolicy: remove unused te_assertions 2020-01-27 10:51:21 -05:00
LICENSE docs: provide a top level LICENSE file 2022-10-05 08:20:38 -04:00
Makefile checkpolicy: drop -pipe compile option 2021-07-13 21:02:04 +02:00
module_compiler.c checkpolicy: error out if required permission would exceed limit 2022-06-21 15:20:58 +02:00
module_compiler.h checkpolicy: mark read-only parameters in module compiler const 2021-09-15 10:13:58 -04:00
parse_util.c libsepol: Populate and use policy name 2022-02-24 10:44:46 -05:00
parse_util.h initial import from svn trunk revision 2950 2008-08-19 15:30:36 -04:00
policy_define.c checkpolicy,libsepol: move filename transitions to avtab 2023-07-12 12:58:17 -04:00
policy_define.h checkpolicy: Add support for ibendportcon labels 2017-05-23 16:20:55 -04:00
policy_parse.y checkpolicy: drop unused token CLONE 2023-06-05 15:16:57 -04:00
policy_scan.l checkpolicy: drop unused token CLONE 2023-06-05 15:16:57 -04:00
queue.c checkpolicy,libselinux,libsepol,policycoreutils: Update my email address 2017-08-17 14:17:12 -04:00
queue.h checkpolicy,libselinux,libsepol,policycoreutils: Update my email address 2017-08-17 14:17:12 -04:00
VERSION Update VERSIONs to 3.5 for release. 2023-02-23 05:16:11 -08:00