blob: 2d00dda2e2feeab3961fb5a1dfd389b93a7e5635 [file] [log] [blame]
Nick Kralevich4be31902014-07-01 13:59:50 -07001# Input selectors:
Stephen Smalley2dd4e512012-01-04 12:33:27 -05002# isSystemServer (boolean)
Stephen Smalleyff4db912014-09-15 15:16:06 -04003# isOwner (boolean)
Stephen Smalley2dd4e512012-01-04 12:33:27 -05004# user (string)
5# seinfo (string)
6# name (string)
Stephen Smalley6139de52014-02-19 10:54:41 -05007# path (string)
Stephen Smalleydd31ddf2012-07-27 17:08:21 -04008# sebool (string)
Stephen Smalley2dd4e512012-01-04 12:33:27 -05009# isSystemServer=true can only be used once.
Stephen Smalleydd31ddf2012-07-27 17:08:21 -040010# An unspecified isSystemServer defaults to false.
Stephen Smalleyff4db912014-09-15 15:16:06 -040011# isOwner=true will only match for the owner/primary user.
12# isOwner=false will only match for secondary users.
13# If unspecified, the entry can match either case.
Stephen Smalley2dd4e512012-01-04 12:33:27 -050014# An unspecified string selector will match any value.
15# A user string selector that ends in * will perform a prefix match.
Stephen Smalley3ac1d262012-09-24 10:16:03 -040016# user=_app will match any regular app UID.
17# user=_isolated will match any isolated service UID.
Stephen Smalley2dd4e512012-01-04 12:33:27 -050018# All specified input selectors in an entry must match (i.e. logical AND).
19# Matching is case-insensitive.
Nick Kralevich4be31902014-07-01 13:59:50 -070020#
Stephen Smalley2dd4e512012-01-04 12:33:27 -050021# Precedence rules:
22# (1) isSystemServer=true before isSystemServer=false.
Stephen Smalleyff4db912014-09-15 15:16:06 -040023# (2) Specified isOwner= before unspecified isOwner= boolean.
24# (3) Specified user= string before unspecified user= string.
25# (4) Fixed user= string before user= prefix (i.e. ending in *).
26# (5) Longer user= prefix before shorter user= prefix.
27# (6) Specified seinfo= string before unspecified seinfo= string.
28# (7) Specified name= string before unspecified name= string.
29# (8) Specified path= string before unspecified path= string.
30# (9) Specified sebool= string before unspecified sebool= string.
Stephen Smalley2dd4e512012-01-04 12:33:27 -050031#
32# Outputs:
33# domain (string)
34# type (string)
Stephen Smalley38084142012-11-28 10:46:18 -050035# levelFrom (string; one of none, all, app, or user)
Stephen Smalley2dd4e512012-01-04 12:33:27 -050036# level (string)
37# Only entries that specify domain= will be used for app process labeling.
38# Only entries that specify type= will be used for app directory labeling.
Stephen Smalley38084142012-11-28 10:46:18 -050039# levelFrom=user is only supported for _app or _isolated UIDs.
40# levelFrom=app or levelFrom=all is only supported for _app UIDs.
Nick Kralevich4be31902014-07-01 13:59:50 -070041# level may be used to specify a fixed level for any UID.
Stephen Smalley2dd4e512012-01-04 12:33:27 -050042#
Alex Klyubin1fdee112013-09-13 15:59:04 -070043isSystemServer=true domain=system_server
Stephen Smalley91a4f8d2014-05-07 13:10:02 -040044user=system domain=system_app type=system_app_data_file
Stephen Smalley61c80d52012-11-16 09:06:47 -050045user=bluetooth domain=bluetooth type=bluetooth_data_file
Stephen Smalley2dd4e512012-01-04 12:33:27 -050046user=nfc domain=nfc type=nfc_data_file
47user=radio domain=radio type=radio_data_file
Torne (Richard Coles)9786af22014-05-23 11:01:58 +010048user=shared_relro domain=shared_relro
Stephen Smalley6d8fa692014-03-27 11:48:32 -040049user=shell domain=shell type=shell_data_file
Joshua Brindlef26d8132012-09-25 18:52:54 -040050user=_isolated domain=isolated_app
Stephen Smalley9ba844f2014-04-04 09:09:25 -040051user=_app seinfo=platform domain=platform_app type=app_data_file
52user=_app domain=untrusted_app type=app_data_file