xref: /aosp_15_r20/system/sepolicy/public/global_macros (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1*e4a36f41SAndroid Build Coastguard Worker#####################################
2*e4a36f41SAndroid Build Coastguard Worker# Common groupings of object classes.
3*e4a36f41SAndroid Build Coastguard Worker#
4*e4a36f41SAndroid Build Coastguard Workerdefine(`capability_class_set', `{ capability capability2 cap_userns cap2_userns }')
5*e4a36f41SAndroid Build Coastguard Workerdefine(`global_capability_class_set', `{ capability cap_userns }')
6*e4a36f41SAndroid Build Coastguard Workerdefine(`global_capability2_class_set', `{ capability2 cap2_userns }')
7*e4a36f41SAndroid Build Coastguard Worker
8*e4a36f41SAndroid Build Coastguard Workerdefine(`devfile_class_set', `{ chr_file blk_file }')
9*e4a36f41SAndroid Build Coastguard Workerdefine(`notdevfile_class_set', `{ file lnk_file sock_file fifo_file }')
10*e4a36f41SAndroid Build Coastguard Workerdefine(`file_class_set', `{ devfile_class_set notdevfile_class_set }')
11*e4a36f41SAndroid Build Coastguard Workerdefine(`dir_file_class_set', `{ dir file_class_set }')
12*e4a36f41SAndroid Build Coastguard Worker
13*e4a36f41SAndroid Build Coastguard Workerdefine(`socket_class_set', `{ socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket }')
14*e4a36f41SAndroid Build Coastguard Workerdefine(`dgram_socket_class_set', `{ udp_socket unix_dgram_socket }')
15*e4a36f41SAndroid Build Coastguard Workerdefine(`stream_socket_class_set', `{ tcp_socket unix_stream_socket sctp_socket }')
16*e4a36f41SAndroid Build Coastguard Workerdefine(`unpriv_socket_class_set', `{ tcp_socket udp_socket unix_stream_socket unix_dgram_socket sctp_socket }')
17*e4a36f41SAndroid Build Coastguard Workerdefine(`network_socket_class_set', `{ icmp_socket rawip_socket tcp_socket udp_socket }')
18*e4a36f41SAndroid Build Coastguard Worker
19*e4a36f41SAndroid Build Coastguard Workerdefine(`ipc_class_set', `{ sem msgq shm ipc }')
20*e4a36f41SAndroid Build Coastguard Worker
21*e4a36f41SAndroid Build Coastguard Worker#####################################
22*e4a36f41SAndroid Build Coastguard Worker# Common groupings of permissions.
23*e4a36f41SAndroid Build Coastguard Worker#
24*e4a36f41SAndroid Build Coastguard Workerdefine(`x_file_perms', `{ getattr execute execute_no_trans map }')
25*e4a36f41SAndroid Build Coastguard Workerdefine(`r_file_perms', `{ getattr open read ioctl lock map watch watch_reads }')
26*e4a36f41SAndroid Build Coastguard Workerdefine(`w_file_perms', `{ open append write lock map }')
27*e4a36f41SAndroid Build Coastguard Workerdefine(`rx_file_perms', `{ r_file_perms x_file_perms }')
28*e4a36f41SAndroid Build Coastguard Workerdefine(`ra_file_perms', `{ r_file_perms append }')
29*e4a36f41SAndroid Build Coastguard Workerdefine(`rw_file_perms', `{ r_file_perms w_file_perms }')
30*e4a36f41SAndroid Build Coastguard Workerdefine(`rwx_file_perms', `{ rw_file_perms x_file_perms }')
31*e4a36f41SAndroid Build Coastguard Workerdefine(`create_file_perms', `{ create rename setattr unlink rw_file_perms }')
32*e4a36f41SAndroid Build Coastguard Worker
33*e4a36f41SAndroid Build Coastguard Workerdefine(`r_dir_perms', `{ open getattr read search ioctl lock watch watch_reads }')
34*e4a36f41SAndroid Build Coastguard Workerdefine(`w_dir_perms', `{ open search write add_name remove_name lock }')
35*e4a36f41SAndroid Build Coastguard Workerdefine(`ra_dir_perms', `{ r_dir_perms add_name write }')
36*e4a36f41SAndroid Build Coastguard Workerdefine(`rw_dir_perms', `{ r_dir_perms w_dir_perms }')
37*e4a36f41SAndroid Build Coastguard Workerdefine(`create_dir_perms', `{ create reparent rename rmdir setattr rw_dir_perms }')
38*e4a36f41SAndroid Build Coastguard Worker
39*e4a36f41SAndroid Build Coastguard Workerdefine(`r_ipc_perms', `{ getattr read associate unix_read }')
40*e4a36f41SAndroid Build Coastguard Workerdefine(`w_ipc_perms', `{ write unix_write }')
41*e4a36f41SAndroid Build Coastguard Workerdefine(`rw_ipc_perms', `{ r_ipc_perms w_ipc_perms }')
42*e4a36f41SAndroid Build Coastguard Workerdefine(`create_ipc_perms', `{ create setattr destroy rw_ipc_perms }')
43*e4a36f41SAndroid Build Coastguard Worker
44*e4a36f41SAndroid Build Coastguard Worker#####################################
45*e4a36f41SAndroid Build Coastguard Worker# Common socket permission sets.
46*e4a36f41SAndroid Build Coastguard Workerdefine(`rw_socket_perms', `{ ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map }')
47*e4a36f41SAndroid Build Coastguard Workerdefine(`rw_socket_perms_no_ioctl', `{ read getattr write setattr lock append bind connect getopt setopt shutdown map }')
48*e4a36f41SAndroid Build Coastguard Workerdefine(`create_socket_perms', `{ create rw_socket_perms }')
49*e4a36f41SAndroid Build Coastguard Workerdefine(`create_socket_perms_no_ioctl', `{ create rw_socket_perms_no_ioctl }')
50*e4a36f41SAndroid Build Coastguard Workerdefine(`rw_stream_socket_perms', `{ rw_socket_perms listen accept }')
51*e4a36f41SAndroid Build Coastguard Workerdefine(`create_stream_socket_perms', `{ create rw_stream_socket_perms }')
52