xref: /aosp_15_r20/external/selinux/secilc/docs/secil.xml (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?>
2*2d543d20SAndroid Build Coastguard Worker<!-- https://docs.kde.org/trunk5/en/applications/katepart/highlight.html#katehighlight-xml-format -->
3*2d543d20SAndroid Build Coastguard Worker<!DOCTYPE language SYSTEM "language.dtd">
4*2d543d20SAndroid Build Coastguard Worker<language name="secil" section="Sources" extensions="*.cil" version="1" kateversion="2.4">
5*2d543d20SAndroid Build Coastguard Worker    <highlighting>
6*2d543d20SAndroid Build Coastguard Worker        <!--
7*2d543d20SAndroid Build Coastguard Worker            The keywords where extracted from libsepol/cil/src/cil.c sorted into the
8*2d543d20SAndroid Build Coastguard Worker            right lists and sorted alphabetically
9*2d543d20SAndroid Build Coastguard Worker        -->
10*2d543d20SAndroid Build Coastguard Worker        <list name="keywords_blockstart">
11*2d543d20SAndroid Build Coastguard Worker            <item>allow</item>
12*2d543d20SAndroid Build Coastguard Worker            <item>allowx</item>
13*2d543d20SAndroid Build Coastguard Worker            <item>auditallow</item>
14*2d543d20SAndroid Build Coastguard Worker            <item>auditallowx</item>
15*2d543d20SAndroid Build Coastguard Worker            <item>block</item>
16*2d543d20SAndroid Build Coastguard Worker            <item>blockabstract</item>
17*2d543d20SAndroid Build Coastguard Worker            <item>boolean</item>
18*2d543d20SAndroid Build Coastguard Worker            <item>booleanif</item>
19*2d543d20SAndroid Build Coastguard Worker            <item>category</item>
20*2d543d20SAndroid Build Coastguard Worker            <item>categoryalias</item>
21*2d543d20SAndroid Build Coastguard Worker            <item>categoryaliasactual</item>
22*2d543d20SAndroid Build Coastguard Worker            <item>categoryorder</item>
23*2d543d20SAndroid Build Coastguard Worker            <item>categoryset</item>
24*2d543d20SAndroid Build Coastguard Worker            <item>class</item>
25*2d543d20SAndroid Build Coastguard Worker            <item>classcommon</item>
26*2d543d20SAndroid Build Coastguard Worker            <item>classmap</item>
27*2d543d20SAndroid Build Coastguard Worker            <item>classmapping</item>
28*2d543d20SAndroid Build Coastguard Worker            <item>classorder</item>
29*2d543d20SAndroid Build Coastguard Worker            <item>classpermission</item>
30*2d543d20SAndroid Build Coastguard Worker            <item>classpermissionset</item>
31*2d543d20SAndroid Build Coastguard Worker            <item>common</item>
32*2d543d20SAndroid Build Coastguard Worker            <item>constrain</item>
33*2d543d20SAndroid Build Coastguard Worker            <item>context</item>
34*2d543d20SAndroid Build Coastguard Worker            <item>defaultrange</item>
35*2d543d20SAndroid Build Coastguard Worker            <item>defaultrole</item>
36*2d543d20SAndroid Build Coastguard Worker            <item>defaulttype</item>
37*2d543d20SAndroid Build Coastguard Worker            <item>defaultuser</item>
38*2d543d20SAndroid Build Coastguard Worker            <item>devicetreecon</item>
39*2d543d20SAndroid Build Coastguard Worker            <item>dontaudit</item>
40*2d543d20SAndroid Build Coastguard Worker            <item>dontauditx</item>
41*2d543d20SAndroid Build Coastguard Worker            <item>expandtypeattribute</item>
42*2d543d20SAndroid Build Coastguard Worker            <item>false</item>
43*2d543d20SAndroid Build Coastguard Worker            <item>filecon</item>
44*2d543d20SAndroid Build Coastguard Worker            <item>fsuse</item>
45*2d543d20SAndroid Build Coastguard Worker            <item>genfscon</item>
46*2d543d20SAndroid Build Coastguard Worker            <item>handleunknown</item>
47*2d543d20SAndroid Build Coastguard Worker            <item>ibendportcon</item>
48*2d543d20SAndroid Build Coastguard Worker            <item>ibpkeycon</item>
49*2d543d20SAndroid Build Coastguard Worker            <item>ioctl</item>
50*2d543d20SAndroid Build Coastguard Worker            <item>iomemcon</item>
51*2d543d20SAndroid Build Coastguard Worker            <item>ioportcon</item>
52*2d543d20SAndroid Build Coastguard Worker            <item>ipaddr</item>
53*2d543d20SAndroid Build Coastguard Worker            <item>level</item>
54*2d543d20SAndroid Build Coastguard Worker            <item>levelrange</item>
55*2d543d20SAndroid Build Coastguard Worker            <item>mls</item>
56*2d543d20SAndroid Build Coastguard Worker            <item>mlsconstrain</item>
57*2d543d20SAndroid Build Coastguard Worker            <item>mlsvalidatetrans</item>
58*2d543d20SAndroid Build Coastguard Worker            <item>netifcon</item>
59*2d543d20SAndroid Build Coastguard Worker            <item>neverallow</item>
60*2d543d20SAndroid Build Coastguard Worker            <item>neverallowx</item>
61*2d543d20SAndroid Build Coastguard Worker            <item>nodecon</item>
62*2d543d20SAndroid Build Coastguard Worker            <item>optional</item>
63*2d543d20SAndroid Build Coastguard Worker            <item>pcidevicecon</item>
64*2d543d20SAndroid Build Coastguard Worker            <item>perm</item>
65*2d543d20SAndroid Build Coastguard Worker            <item>permissionx</item>
66*2d543d20SAndroid Build Coastguard Worker            <item>pirqcon</item>
67*2d543d20SAndroid Build Coastguard Worker            <item>policycap</item>
68*2d543d20SAndroid Build Coastguard Worker            <item>portcon</item>
69*2d543d20SAndroid Build Coastguard Worker            <item>rangetransition</item>
70*2d543d20SAndroid Build Coastguard Worker            <item>role</item>
71*2d543d20SAndroid Build Coastguard Worker            <item>roleallow</item>
72*2d543d20SAndroid Build Coastguard Worker            <item>roleattribute</item>
73*2d543d20SAndroid Build Coastguard Worker            <item>roleattributeset</item>
74*2d543d20SAndroid Build Coastguard Worker            <item>rolebounds</item>
75*2d543d20SAndroid Build Coastguard Worker            <item>roletransition</item>
76*2d543d20SAndroid Build Coastguard Worker            <item>roletype</item>
77*2d543d20SAndroid Build Coastguard Worker            <item>selinuxuser</item>
78*2d543d20SAndroid Build Coastguard Worker            <item>selinuxuserdefault</item>
79*2d543d20SAndroid Build Coastguard Worker            <item>sensitivity</item>
80*2d543d20SAndroid Build Coastguard Worker            <item>sensitivityalias</item>
81*2d543d20SAndroid Build Coastguard Worker            <item>sensitivityaliasactual</item>
82*2d543d20SAndroid Build Coastguard Worker            <item>sensitivitycategory</item>
83*2d543d20SAndroid Build Coastguard Worker            <item>sensitivityorder</item>
84*2d543d20SAndroid Build Coastguard Worker            <item>sid</item>
85*2d543d20SAndroid Build Coastguard Worker            <item>sidcontext</item>
86*2d543d20SAndroid Build Coastguard Worker            <item>sidorder</item>
87*2d543d20SAndroid Build Coastguard Worker            <item>true</item>
88*2d543d20SAndroid Build Coastguard Worker            <item>tunable</item>
89*2d543d20SAndroid Build Coastguard Worker            <item>tunableif</item>
90*2d543d20SAndroid Build Coastguard Worker            <item>type</item>
91*2d543d20SAndroid Build Coastguard Worker            <item>typealias</item>
92*2d543d20SAndroid Build Coastguard Worker            <item>typealiasactual</item>
93*2d543d20SAndroid Build Coastguard Worker            <item>typeattribute</item>
94*2d543d20SAndroid Build Coastguard Worker            <item>typeattributeset</item>
95*2d543d20SAndroid Build Coastguard Worker            <item>typebounds</item>
96*2d543d20SAndroid Build Coastguard Worker            <item>typechange</item>
97*2d543d20SAndroid Build Coastguard Worker            <item>typemember</item>
98*2d543d20SAndroid Build Coastguard Worker            <item>typepermissive</item>
99*2d543d20SAndroid Build Coastguard Worker            <item>typetransition</item>
100*2d543d20SAndroid Build Coastguard Worker            <item>unordered</item>
101*2d543d20SAndroid Build Coastguard Worker            <item>user</item>
102*2d543d20SAndroid Build Coastguard Worker            <item>userattribute</item>
103*2d543d20SAndroid Build Coastguard Worker            <item>userattributeset</item>
104*2d543d20SAndroid Build Coastguard Worker            <item>userbounds</item>
105*2d543d20SAndroid Build Coastguard Worker            <item>userlevel</item>
106*2d543d20SAndroid Build Coastguard Worker            <item>userprefix</item>
107*2d543d20SAndroid Build Coastguard Worker            <item>userrange</item>
108*2d543d20SAndroid Build Coastguard Worker            <item>userrole</item>
109*2d543d20SAndroid Build Coastguard Worker            <item>validatetrans</item>
110*2d543d20SAndroid Build Coastguard Worker        </list>
111*2d543d20SAndroid Build Coastguard Worker
112*2d543d20SAndroid Build Coastguard Worker        <list name="function">
113*2d543d20SAndroid Build Coastguard Worker            <item>blockinherit</item>
114*2d543d20SAndroid Build Coastguard Worker            <item>call</item>
115*2d543d20SAndroid Build Coastguard Worker            <item>in</item>
116*2d543d20SAndroid Build Coastguard Worker            <item>macro</item>
117*2d543d20SAndroid Build Coastguard Worker        </list>
118*2d543d20SAndroid Build Coastguard Worker
119*2d543d20SAndroid Build Coastguard Worker        <list name="operators">
120*2d543d20SAndroid Build Coastguard Worker            <item>and</item>
121*2d543d20SAndroid Build Coastguard Worker            <item>dom</item>
122*2d543d20SAndroid Build Coastguard Worker            <item>domby</item>
123*2d543d20SAndroid Build Coastguard Worker            <item>eq</item>
124*2d543d20SAndroid Build Coastguard Worker            <item>incomp</item>
125*2d543d20SAndroid Build Coastguard Worker            <item>neq</item>
126*2d543d20SAndroid Build Coastguard Worker            <item>not</item>
127*2d543d20SAndroid Build Coastguard Worker            <item>or</item>
128*2d543d20SAndroid Build Coastguard Worker            <item>range</item>
129*2d543d20SAndroid Build Coastguard Worker            <item>xor</item>
130*2d543d20SAndroid Build Coastguard Worker        </list>
131*2d543d20SAndroid Build Coastguard Worker
132*2d543d20SAndroid Build Coastguard Worker        <!-- list of "magic" functions or values -->
133*2d543d20SAndroid Build Coastguard Worker        <list name="builtins">
134*2d543d20SAndroid Build Coastguard Worker            <item>*</item>
135*2d543d20SAndroid Build Coastguard Worker            <item>all</item>
136*2d543d20SAndroid Build Coastguard Worker            <item>dccp</item>
137*2d543d20SAndroid Build Coastguard Worker            <item>false</item>
138*2d543d20SAndroid Build Coastguard Worker            <item>h1</item>
139*2d543d20SAndroid Build Coastguard Worker            <item>h2</item>
140*2d543d20SAndroid Build Coastguard Worker            <item>l1</item>
141*2d543d20SAndroid Build Coastguard Worker            <item>l2</item>
142*2d543d20SAndroid Build Coastguard Worker            <item>object_r</item>
143*2d543d20SAndroid Build Coastguard Worker            <item>r1</item>
144*2d543d20SAndroid Build Coastguard Worker            <item>r2</item>
145*2d543d20SAndroid Build Coastguard Worker            <item>r3</item>
146*2d543d20SAndroid Build Coastguard Worker            <item>sctp</item>
147*2d543d20SAndroid Build Coastguard Worker            <item>self</item>
148*2d543d20SAndroid Build Coastguard Worker            <item>notself</item>
149*2d543d20SAndroid Build Coastguard Worker            <item>other</item>
150*2d543d20SAndroid Build Coastguard Worker            <item>t1</item>
151*2d543d20SAndroid Build Coastguard Worker            <item>t2</item>
152*2d543d20SAndroid Build Coastguard Worker            <item>t3</item>
153*2d543d20SAndroid Build Coastguard Worker            <item>tcp</item>
154*2d543d20SAndroid Build Coastguard Worker            <item>true</item>
155*2d543d20SAndroid Build Coastguard Worker            <item>u1</item>
156*2d543d20SAndroid Build Coastguard Worker            <item>u2</item>
157*2d543d20SAndroid Build Coastguard Worker            <item>u3</item>
158*2d543d20SAndroid Build Coastguard Worker            <item>udp</item>
159*2d543d20SAndroid Build Coastguard Worker
160*2d543d20SAndroid Build Coastguard Worker            <!--
161*2d543d20SAndroid Build Coastguard Worker                Excluded because they lead to a lot of false-positives
162*2d543d20SAndroid Build Coastguard Worker            <item>allow</item>
163*2d543d20SAndroid Build Coastguard Worker            <item>any</item>
164*2d543d20SAndroid Build Coastguard Worker            <item>char</item>
165*2d543d20SAndroid Build Coastguard Worker            <item>deny</item>
166*2d543d20SAndroid Build Coastguard Worker            <item>dir</item>
167*2d543d20SAndroid Build Coastguard Worker            <item>file</item>
168*2d543d20SAndroid Build Coastguard Worker            <item>glblub</item>
169*2d543d20SAndroid Build Coastguard Worker            <item>high</item>
170*2d543d20SAndroid Build Coastguard Worker            <item>low-high</item>
171*2d543d20SAndroid Build Coastguard Worker            <item>low</item>
172*2d543d20SAndroid Build Coastguard Worker            <item>pipe</item>
173*2d543d20SAndroid Build Coastguard Worker            <item>reject</item>
174*2d543d20SAndroid Build Coastguard Worker            <item>socket</item>
175*2d543d20SAndroid Build Coastguard Worker            <item>source</item>
176*2d543d20SAndroid Build Coastguard Worker            <item>symlink</item>
177*2d543d20SAndroid Build Coastguard Worker            <item>target</item>
178*2d543d20SAndroid Build Coastguard Worker            <item>task</item>
179*2d543d20SAndroid Build Coastguard Worker            <item>trans</item>
180*2d543d20SAndroid Build Coastguard Worker            <item>xattr</item>
181*2d543d20SAndroid Build Coastguard Worker            -->
182*2d543d20SAndroid Build Coastguard Worker        </list>
183*2d543d20SAndroid Build Coastguard Worker        <contexts>
184*2d543d20SAndroid Build Coastguard Worker            <context name="Normal" attribute="Normal" lineEndContext="#stay">
185*2d543d20SAndroid Build Coastguard Worker                <DetectChar attribute="Brackets" context="BlockStart" char="("/>
186*2d543d20SAndroid Build Coastguard Worker
187*2d543d20SAndroid Build Coastguard Worker                <DetectChar attribute="Comment" context="Comment" char=";"/>
188*2d543d20SAndroid Build Coastguard Worker            </context>
189*2d543d20SAndroid Build Coastguard Worker            <context name="BlockStart" attribute="Normal" lineEndContext="#stay">
190*2d543d20SAndroid Build Coastguard Worker                <keyword attribute="Keyword" context="Block" String="keywords_blockstart"/>
191*2d543d20SAndroid Build Coastguard Worker                <keyword attribute="Function" context="Block" String="function"/>
192*2d543d20SAndroid Build Coastguard Worker                <keyword attribute="Operator" context="Block" String="operators"/>
193*2d543d20SAndroid Build Coastguard Worker
194*2d543d20SAndroid Build Coastguard Worker                <DetectChar attribute="Comment" context="Comment" char=";"/>
195*2d543d20SAndroid Build Coastguard Worker            </context>
196*2d543d20SAndroid Build Coastguard Worker            <context name="Block" attribute="Normal" lineEndContext="#stay">
197*2d543d20SAndroid Build Coastguard Worker                <keyword attribute="Builtin" context="#stay" String="builtins"/>
198*2d543d20SAndroid Build Coastguard Worker
199*2d543d20SAndroid Build Coastguard Worker                <DetectChar attribute="Comment" context="Comment" char=";"/>
200*2d543d20SAndroid Build Coastguard Worker                <DetectChar attribute="String" context="String" char="&quot;"/>
201*2d543d20SAndroid Build Coastguard Worker
202*2d543d20SAndroid Build Coastguard Worker                <DetectChar attribute="Brackets" context="BlockStart" char="("/>
203*2d543d20SAndroid Build Coastguard Worker                <DetectChar attribute="Brackets" context="#pop" char=")"/>
204*2d543d20SAndroid Build Coastguard Worker            </context>
205*2d543d20SAndroid Build Coastguard Worker
206*2d543d20SAndroid Build Coastguard Worker            <!-- single line comment -->
207*2d543d20SAndroid Build Coastguard Worker            <context name="Comment" attribute="Comment" lineEndContext="#pop"></context>
208*2d543d20SAndroid Build Coastguard Worker
209*2d543d20SAndroid Build Coastguard Worker            <!-- string / name -->
210*2d543d20SAndroid Build Coastguard Worker            <context name="String" attribute="String" lineEndContext="#stay">
211*2d543d20SAndroid Build Coastguard Worker                <RegExpr attribute="Char" context="#stay" String="#\\."/>
212*2d543d20SAndroid Build Coastguard Worker
213*2d543d20SAndroid Build Coastguard Worker                <!-- allow escaping " or similar -->
214*2d543d20SAndroid Build Coastguard Worker                <HlCStringChar attribute="String Char" context="#stay"/>
215*2d543d20SAndroid Build Coastguard Worker
216*2d543d20SAndroid Build Coastguard Worker                <DetectChar attribute="String" context="#pop" char="&quot;"/>
217*2d543d20SAndroid Build Coastguard Worker            </context>
218*2d543d20SAndroid Build Coastguard Worker        </contexts>
219*2d543d20SAndroid Build Coastguard Worker        <itemDatas>
220*2d543d20SAndroid Build Coastguard Worker            <itemData name="Normal" defStyleNum="dsNormal" />
221*2d543d20SAndroid Build Coastguard Worker            <itemData name="Keyword" defStyleNum="dsKeyword"/>
222*2d543d20SAndroid Build Coastguard Worker            <itemData name="Function" defStyleNum="dsFunction"/>
223*2d543d20SAndroid Build Coastguard Worker            <itemData name="Operator" defStyleNum="dsOperator"/>
224*2d543d20SAndroid Build Coastguard Worker            <itemData name="Builtin" defStyleNum="dsBuiltIn"/>
225*2d543d20SAndroid Build Coastguard Worker
226*2d543d20SAndroid Build Coastguard Worker            <itemData name="Comment" defStyleNum="dsComment"/>
227*2d543d20SAndroid Build Coastguard Worker
228*2d543d20SAndroid Build Coastguard Worker            <itemData name="String" defStyleNum="dsString"/>
229*2d543d20SAndroid Build Coastguard Worker            <itemData name="String Char" defStyleNum="dsSpecialChar"/>
230*2d543d20SAndroid Build Coastguard Worker        </itemDatas>
231*2d543d20SAndroid Build Coastguard Worker    </highlighting>
232*2d543d20SAndroid Build Coastguard Worker    <general>
233*2d543d20SAndroid Build Coastguard Worker        <comments>
234*2d543d20SAndroid Build Coastguard Worker            <comment name="singleLine" start=";"/>
235*2d543d20SAndroid Build Coastguard Worker        </comments>
236*2d543d20SAndroid Build Coastguard Worker        <keywords casesensitive="1" weakDeliminator="."/>
237*2d543d20SAndroid Build Coastguard Worker    </general>
238*2d543d20SAndroid Build Coastguard Worker</language>
239