16cd6a6acSopenharmony_ci<?xml version="1.0" encoding="UTF-8"?>
26cd6a6acSopenharmony_ci<!-- https://docs.kde.org/trunk5/en/applications/katepart/highlight.html#katehighlight-xml-format -->
36cd6a6acSopenharmony_ci<!DOCTYPE language SYSTEM "language.dtd">
46cd6a6acSopenharmony_ci<language name="secil" section="Sources" extensions="*.cil" version="1" kateversion="2.4">
56cd6a6acSopenharmony_ci    <highlighting>
66cd6a6acSopenharmony_ci        <!--
76cd6a6acSopenharmony_ci            The keywords where extracted from libsepol/cil/src/cil.c sorted into the
86cd6a6acSopenharmony_ci            right lists and sorted alphabetically
96cd6a6acSopenharmony_ci        -->
106cd6a6acSopenharmony_ci        <list name="keywords_blockstart">
116cd6a6acSopenharmony_ci            <item>allow</item>
126cd6a6acSopenharmony_ci            <item>allowx</item>
136cd6a6acSopenharmony_ci            <item>auditallow</item>
146cd6a6acSopenharmony_ci            <item>auditallowx</item>
156cd6a6acSopenharmony_ci            <item>block</item>
166cd6a6acSopenharmony_ci            <item>blockabstract</item>
176cd6a6acSopenharmony_ci            <item>boolean</item>
186cd6a6acSopenharmony_ci            <item>booleanif</item>
196cd6a6acSopenharmony_ci            <item>category</item>
206cd6a6acSopenharmony_ci            <item>categoryalias</item>
216cd6a6acSopenharmony_ci            <item>categoryaliasactual</item>
226cd6a6acSopenharmony_ci            <item>categoryorder</item>
236cd6a6acSopenharmony_ci            <item>categoryset</item>
246cd6a6acSopenharmony_ci            <item>class</item>
256cd6a6acSopenharmony_ci            <item>classcommon</item>
266cd6a6acSopenharmony_ci            <item>classmap</item>
276cd6a6acSopenharmony_ci            <item>classmapping</item>
286cd6a6acSopenharmony_ci            <item>classorder</item>
296cd6a6acSopenharmony_ci            <item>classpermission</item>
306cd6a6acSopenharmony_ci            <item>classpermissionset</item>
316cd6a6acSopenharmony_ci            <item>common</item>
326cd6a6acSopenharmony_ci            <item>constrain</item>
336cd6a6acSopenharmony_ci            <item>context</item>
346cd6a6acSopenharmony_ci            <item>defaultrange</item>
356cd6a6acSopenharmony_ci            <item>defaultrole</item>
366cd6a6acSopenharmony_ci            <item>defaulttype</item>
376cd6a6acSopenharmony_ci            <item>defaultuser</item>
386cd6a6acSopenharmony_ci            <item>devicetreecon</item>
396cd6a6acSopenharmony_ci            <item>dontaudit</item>
406cd6a6acSopenharmony_ci            <item>dontauditx</item>
416cd6a6acSopenharmony_ci            <item>expandtypeattribute</item>
426cd6a6acSopenharmony_ci            <item>false</item>
436cd6a6acSopenharmony_ci            <item>filecon</item>
446cd6a6acSopenharmony_ci            <item>fsuse</item>
456cd6a6acSopenharmony_ci            <item>genfscon</item>
466cd6a6acSopenharmony_ci            <item>handleunknown</item>
476cd6a6acSopenharmony_ci            <item>ibendportcon</item>
486cd6a6acSopenharmony_ci            <item>ibpkeycon</item>
496cd6a6acSopenharmony_ci            <item>ioctl</item>
506cd6a6acSopenharmony_ci            <item>iomemcon</item>
516cd6a6acSopenharmony_ci            <item>ioportcon</item>
526cd6a6acSopenharmony_ci            <item>ipaddr</item>
536cd6a6acSopenharmony_ci            <item>level</item>
546cd6a6acSopenharmony_ci            <item>levelrange</item>
556cd6a6acSopenharmony_ci            <item>mls</item>
566cd6a6acSopenharmony_ci            <item>mlsconstrain</item>
576cd6a6acSopenharmony_ci            <item>mlsvalidatetrans</item>
586cd6a6acSopenharmony_ci            <item>netifcon</item>
596cd6a6acSopenharmony_ci            <item>neverallow</item>
606cd6a6acSopenharmony_ci            <item>neverallowx</item>
616cd6a6acSopenharmony_ci            <item>nodecon</item>
626cd6a6acSopenharmony_ci            <item>optional</item>
636cd6a6acSopenharmony_ci            <item>pcidevicecon</item>
646cd6a6acSopenharmony_ci            <item>perm</item>
656cd6a6acSopenharmony_ci            <item>permissionx</item>
666cd6a6acSopenharmony_ci            <item>pirqcon</item>
676cd6a6acSopenharmony_ci            <item>policycap</item>
686cd6a6acSopenharmony_ci            <item>portcon</item>
696cd6a6acSopenharmony_ci            <item>rangetransition</item>
706cd6a6acSopenharmony_ci            <item>role</item>
716cd6a6acSopenharmony_ci            <item>roleallow</item>
726cd6a6acSopenharmony_ci            <item>roleattribute</item>
736cd6a6acSopenharmony_ci            <item>roleattributeset</item>
746cd6a6acSopenharmony_ci            <item>rolebounds</item>
756cd6a6acSopenharmony_ci            <item>roletransition</item>
766cd6a6acSopenharmony_ci            <item>roletype</item>
776cd6a6acSopenharmony_ci            <item>selinuxuser</item>
786cd6a6acSopenharmony_ci            <item>selinuxuserdefault</item>
796cd6a6acSopenharmony_ci            <item>sensitivity</item>
806cd6a6acSopenharmony_ci            <item>sensitivityalias</item>
816cd6a6acSopenharmony_ci            <item>sensitivityaliasactual</item>
826cd6a6acSopenharmony_ci            <item>sensitivitycategory</item>
836cd6a6acSopenharmony_ci            <item>sensitivityorder</item>
846cd6a6acSopenharmony_ci            <item>sid</item>
856cd6a6acSopenharmony_ci            <item>sidcontext</item>
866cd6a6acSopenharmony_ci            <item>sidorder</item>
876cd6a6acSopenharmony_ci            <item>true</item>
886cd6a6acSopenharmony_ci            <item>tunable</item>
896cd6a6acSopenharmony_ci            <item>tunableif</item>
906cd6a6acSopenharmony_ci            <item>type</item>
916cd6a6acSopenharmony_ci            <item>typealias</item>
926cd6a6acSopenharmony_ci            <item>typealiasactual</item>
936cd6a6acSopenharmony_ci            <item>typeattribute</item>
946cd6a6acSopenharmony_ci            <item>typeattributeset</item>
956cd6a6acSopenharmony_ci            <item>typebounds</item>
966cd6a6acSopenharmony_ci            <item>typechange</item>
976cd6a6acSopenharmony_ci            <item>typemember</item>
986cd6a6acSopenharmony_ci            <item>typepermissive</item>
996cd6a6acSopenharmony_ci            <item>typetransition</item>
1006cd6a6acSopenharmony_ci            <item>unordered</item>
1016cd6a6acSopenharmony_ci            <item>user</item>
1026cd6a6acSopenharmony_ci            <item>userattribute</item>
1036cd6a6acSopenharmony_ci            <item>userattributeset</item>
1046cd6a6acSopenharmony_ci            <item>userbounds</item>
1056cd6a6acSopenharmony_ci            <item>userlevel</item>
1066cd6a6acSopenharmony_ci            <item>userprefix</item>
1076cd6a6acSopenharmony_ci            <item>userrange</item>
1086cd6a6acSopenharmony_ci            <item>userrole</item>
1096cd6a6acSopenharmony_ci            <item>validatetrans</item>
1106cd6a6acSopenharmony_ci        </list>
1116cd6a6acSopenharmony_ci
1126cd6a6acSopenharmony_ci        <list name="function">
1136cd6a6acSopenharmony_ci            <item>blockinherit</item>
1146cd6a6acSopenharmony_ci            <item>call</item>
1156cd6a6acSopenharmony_ci            <item>in</item>
1166cd6a6acSopenharmony_ci            <item>macro</item>
1176cd6a6acSopenharmony_ci        </list>
1186cd6a6acSopenharmony_ci
1196cd6a6acSopenharmony_ci        <list name="operators">
1206cd6a6acSopenharmony_ci            <item>and</item>
1216cd6a6acSopenharmony_ci            <item>dom</item>
1226cd6a6acSopenharmony_ci            <item>domby</item>
1236cd6a6acSopenharmony_ci            <item>eq</item>
1246cd6a6acSopenharmony_ci            <item>incomp</item>
1256cd6a6acSopenharmony_ci            <item>neq</item>
1266cd6a6acSopenharmony_ci            <item>not</item>
1276cd6a6acSopenharmony_ci            <item>or</item>
1286cd6a6acSopenharmony_ci            <item>range</item>
1296cd6a6acSopenharmony_ci            <item>xor</item>
1306cd6a6acSopenharmony_ci        </list>
1316cd6a6acSopenharmony_ci
1326cd6a6acSopenharmony_ci        <!-- list of "magic" functions or values -->
1336cd6a6acSopenharmony_ci        <list name="builtins">
1346cd6a6acSopenharmony_ci            <item>*</item>
1356cd6a6acSopenharmony_ci            <item>all</item>
1366cd6a6acSopenharmony_ci            <item>dccp</item>
1376cd6a6acSopenharmony_ci            <item>false</item>
1386cd6a6acSopenharmony_ci            <item>h1</item>
1396cd6a6acSopenharmony_ci            <item>h2</item>
1406cd6a6acSopenharmony_ci            <item>l1</item>
1416cd6a6acSopenharmony_ci            <item>l2</item>
1426cd6a6acSopenharmony_ci            <item>object_r</item>
1436cd6a6acSopenharmony_ci            <item>r1</item>
1446cd6a6acSopenharmony_ci            <item>r2</item>
1456cd6a6acSopenharmony_ci            <item>r3</item>
1466cd6a6acSopenharmony_ci            <item>sctp</item>
1476cd6a6acSopenharmony_ci            <item>self</item>
1486cd6a6acSopenharmony_ci            <item>t1</item>
1496cd6a6acSopenharmony_ci            <item>t2</item>
1506cd6a6acSopenharmony_ci            <item>t3</item>
1516cd6a6acSopenharmony_ci            <item>tcp</item>
1526cd6a6acSopenharmony_ci            <item>true</item>
1536cd6a6acSopenharmony_ci            <item>u1</item>
1546cd6a6acSopenharmony_ci            <item>u2</item>
1556cd6a6acSopenharmony_ci            <item>u3</item>
1566cd6a6acSopenharmony_ci            <item>udp</item>
1576cd6a6acSopenharmony_ci
1586cd6a6acSopenharmony_ci            <!--
1596cd6a6acSopenharmony_ci                Excluded because they lead to a lot of false-positives
1606cd6a6acSopenharmony_ci            <item>allow</item>
1616cd6a6acSopenharmony_ci            <item>any</item>
1626cd6a6acSopenharmony_ci            <item>char</item>
1636cd6a6acSopenharmony_ci            <item>deny</item>
1646cd6a6acSopenharmony_ci            <item>dir</item>
1656cd6a6acSopenharmony_ci            <item>file</item>
1666cd6a6acSopenharmony_ci            <item>glblub</item>
1676cd6a6acSopenharmony_ci            <item>high</item>
1686cd6a6acSopenharmony_ci            <item>low-high</item>
1696cd6a6acSopenharmony_ci            <item>low</item>
1706cd6a6acSopenharmony_ci            <item>pipe</item>
1716cd6a6acSopenharmony_ci            <item>reject</item>
1726cd6a6acSopenharmony_ci            <item>socket</item>
1736cd6a6acSopenharmony_ci            <item>source</item>
1746cd6a6acSopenharmony_ci            <item>symlink</item>
1756cd6a6acSopenharmony_ci            <item>target</item>
1766cd6a6acSopenharmony_ci            <item>task</item>
1776cd6a6acSopenharmony_ci            <item>trans</item>
1786cd6a6acSopenharmony_ci            <item>xattr</item>
1796cd6a6acSopenharmony_ci            -->
1806cd6a6acSopenharmony_ci        </list>
1816cd6a6acSopenharmony_ci        <contexts>
1826cd6a6acSopenharmony_ci            <context name="Normal" attribute="Normal" lineEndContext="#stay">
1836cd6a6acSopenharmony_ci                <DetectChar attribute="Brackets" context="BlockStart" char="("/>
1846cd6a6acSopenharmony_ci
1856cd6a6acSopenharmony_ci                <DetectChar attribute="Comment" context="Comment" char=";"/>
1866cd6a6acSopenharmony_ci            </context>
1876cd6a6acSopenharmony_ci            <context name="BlockStart" attribute="Normal" lineEndContext="#stay">
1886cd6a6acSopenharmony_ci                <keyword attribute="Keyword" context="Block" String="keywords_blockstart"/>
1896cd6a6acSopenharmony_ci                <keyword attribute="Function" context="Block" String="function"/>
1906cd6a6acSopenharmony_ci                <keyword attribute="Operator" context="Block" String="operators"/>
1916cd6a6acSopenharmony_ci
1926cd6a6acSopenharmony_ci                <DetectChar attribute="Comment" context="Comment" char=";"/>
1936cd6a6acSopenharmony_ci            </context>
1946cd6a6acSopenharmony_ci            <context name="Block" attribute="Normal" lineEndContext="#stay">
1956cd6a6acSopenharmony_ci                <keyword attribute="Builtin" context="#stay" String="builtins"/>
1966cd6a6acSopenharmony_ci
1976cd6a6acSopenharmony_ci                <DetectChar attribute="Comment" context="Comment" char=";"/>
1986cd6a6acSopenharmony_ci                <DetectChar attribute="String" context="String" char="&quot;"/>
1996cd6a6acSopenharmony_ci
2006cd6a6acSopenharmony_ci                <DetectChar attribute="Brackets" context="BlockStart" char="("/>
2016cd6a6acSopenharmony_ci                <DetectChar attribute="Brackets" context="#pop" char=")"/>
2026cd6a6acSopenharmony_ci            </context>
2036cd6a6acSopenharmony_ci
2046cd6a6acSopenharmony_ci            <!-- single line comment -->
2056cd6a6acSopenharmony_ci            <context name="Comment" attribute="Comment" lineEndContext="#pop"></context>
2066cd6a6acSopenharmony_ci
2076cd6a6acSopenharmony_ci            <!-- string / name -->
2086cd6a6acSopenharmony_ci            <context name="String" attribute="String" lineEndContext="#stay">
2096cd6a6acSopenharmony_ci                <RegExpr attribute="Char" context="#stay" String="#\\."/>
2106cd6a6acSopenharmony_ci
2116cd6a6acSopenharmony_ci                <!-- allow escaping " or similar -->
2126cd6a6acSopenharmony_ci                <HlCStringChar attribute="String Char" context="#stay"/>
2136cd6a6acSopenharmony_ci
2146cd6a6acSopenharmony_ci                <DetectChar attribute="String" context="#pop" char="&quot;"/>
2156cd6a6acSopenharmony_ci            </context>
2166cd6a6acSopenharmony_ci        </contexts>
2176cd6a6acSopenharmony_ci        <itemDatas>
2186cd6a6acSopenharmony_ci            <itemData name="Normal" defStyleNum="dsNormal" />
2196cd6a6acSopenharmony_ci            <itemData name="Keyword" defStyleNum="dsKeyword"/>
2206cd6a6acSopenharmony_ci            <itemData name="Function" defStyleNum="dsFunction"/>
2216cd6a6acSopenharmony_ci            <itemData name="Operator" defStyleNum="dsOperator"/>
2226cd6a6acSopenharmony_ci            <itemData name="Builtin" defStyleNum="dsBuiltIn"/>
2236cd6a6acSopenharmony_ci
2246cd6a6acSopenharmony_ci            <itemData name="Comment" defStyleNum="dsComment"/>
2256cd6a6acSopenharmony_ci
2266cd6a6acSopenharmony_ci            <itemData name="String" defStyleNum="dsString"/>
2276cd6a6acSopenharmony_ci            <itemData name="String Char" defStyleNum="dsSpecialChar"/>
2286cd6a6acSopenharmony_ci        </itemDatas>
2296cd6a6acSopenharmony_ci    </highlighting>
2306cd6a6acSopenharmony_ci    <general>
2316cd6a6acSopenharmony_ci        <comments>
2326cd6a6acSopenharmony_ci            <comment name="singleLine" start=";"/>
2336cd6a6acSopenharmony_ci        </comments>
2346cd6a6acSopenharmony_ci        <keywords casesensitive="1" weakDeliminator="."/>
2356cd6a6acSopenharmony_ci    </general>
2366cd6a6acSopenharmony_ci</language>
237