platform_external_selinux/secilc
Thiébaud Weksteen 671624ef61 Merge upstream '3.3' into update_3_3
Followed the following steps:
    # aosp mirror does not have the upstream tags. Manually mark the
    # 3.3 release. See
    # https://github.com/SELinuxProject/selinux/releases/tag/3.3
    git tag 3.3 7f600c40bc
    repo start update_3_3 .
    git merge 3.3 --no-ff # No merge conflicts were found.
    lunch && m
    repo upload .

Bug: 37755687
Test: Build aosp_bramble-userdebug and manually compare the generated
    /{system,vendor,product}/etc/selinux* files with their previous
    versions. All are identical.
Change-Id: I6a514d7db9a752c44cc61d343f7c1a60f750f317
2021-12-22 09:15:13 +11:00
..
docs Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
test Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
.gitignore Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
Android.bp [LSC] Add LOCAL_LICENSE_KINDS to external/selinux 2021-02-05 01:27:52 -08:00
COPYING Fix many misspellings 2019-09-18 22:47:35 +02:00
Makefile Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
README secilc: update dependency information and man page creation 2016-01-08 09:38:40 -05:00
secil2conf.8.xml Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
secil2conf.c Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
secil2tree.8.xml Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
secil2tree.c Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
secilc.8.xml Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
secilc.c Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00
VERSION Revert "Revert "Merge remote-tracking branch 'aosp/upstream-mast..." 2021-10-27 04:50:56 +00:00

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 >= 2.5


BUILD STEPS

	Run "make" with one of the following targets:

	make
		Build the CIL compiler (secilc).

	make test
		Pass a sample policy to test with the compiler.

	make install
		Install the secilc compiler and man page to disk.

	make clean
		Remove temporary build files.

	make man
		Build the secilc man page.

	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 github markdown CIL Reference Guide in the docs directory. To
	view the table of contents, see README.md in the docs directory.

	To convert the github markdown content to HTML and PDF, change to the docs
	directory and run:
		make

	The documents will be located in the docs/html and docs/pdf directories.

	To build the html and pdf, the pandoc package is 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