mirror of
https://github.com/SELinuxProject/selinux
synced 2024-12-25 15:32:07 +00:00
76ba6eaa73
28ad56e Store file paths in the string pool da42c28 Use the new fqn datum field for generated strings 5df35f5 Fix a typo in .gitignore that was not ignoring files in docs/ 479051c Modify how blocks are copied into blockinherits 793d12d Fix memory leak in classpermissionset e5bb941 Added several new test policies d6f2710 Refactored the name resolution code ba61ee8 Changed how datums are handled when destroying a tree. 36e6818 Reimplemented the code to fully qualify names. 43fa823 Fixed two bugs in cil_copy_ast.c 9ff6072 Small fix to cil_list_remove() 4eecdbe Changed how root node of the AST is initialized. 172b918 Cleanup unused symtab_datum from disabled optionals 06df2d2 Add policy binary and file_contexts to .gitignore git-subtree-dir: libsepol/cil git-subtree-split: 28ad56e90c9b923ddf4a186e772645b4c086b6cc |
||
---|---|---|
docs | ||
include/cil | ||
src | ||
test | ||
.gitignore | ||
COPYING | ||
Makefile | ||
README | ||
secilc.c |
SELinux Common Intermediate Language (CIL) Compiler INTRODUCTION The SELinux CIL Compiler is a compiler that converts the CIL language as described on the CIL design wiki into a kernel binary policy file. Please see the CIL Design Wiki at: http://github.com/SELinuxProject/cil/wiki/ for more information about the goals and features on the CIL language. DEPENDENCIES gcc >= 4.5.1 libsepol-static >= 2.1.4 lcov >= 1.9 flex >= 2.5.35 BUILD STEPS Open a terminal client and execute the following command to download the source code: git clone https://github.com/SELinuxProject/cil.git Change directory into the "cil" directory. Run "make" with one of the following targets: make Build the CIL compiler (secilc) make unit Build the unit_test application to run unit tests make coverage Build the unit test binary and create coverage reports make clean Remove temporary build files make bare Remove temporary build files and compile binaries USAGE Execute 'secilc' with any number of CIL files as arguments. A binary policy and file_contexts file will be created. Use the '--help' option for more details. DOCUMENTATION There is a Docbook CIL Reference Guide in the docs directory, to build this in HTML and PDF format change to the docs directory and run: make html pdf There is also an secilc man page that can be built with: make man The documents will be located in the docs/html, docs/pdf and docs/man8 directories. To build the html and manpage the xmlto package is required. To build the pdf document the xmlto and dblatex packages are required. KNOWN ISSUES - Blocks inside of macros causes undefined behavior - Policy must be well formed. For example, invalid usage of sensitivities/categories/levels may create an unloaded binary - Recursive limits are not handled