Skip to content
Snippets Groups Projects
Select Git revision
  • android-7.1.2_r28_klist
  • master default protected
  • pie-cts-release
  • pie-vts-release
  • pie-cts-dev
  • oreo-mr1-iot-release
  • sdk-release
  • oreo-m6-s4-release
  • oreo-m4-s12-release
  • pie-release
  • pie-r2-release
  • pie-r2-s1-release
  • oreo-vts-release
  • oreo-cts-release
  • oreo-dev
  • oreo-mr1-dev
  • pie-gsi
  • pie-platform-release
  • pie-dev
  • oreo-cts-dev
  • android-o-mr1-iot-release-1.0.4
  • android-9.0.0_r8
  • android-9.0.0_r7
  • android-9.0.0_r6
  • android-9.0.0_r5
  • android-8.1.0_r46
  • android-8.1.0_r45
  • android-n-iot-release-smart-display-r2
  • android-vts-8.1_r5
  • android-cts-8.1_r8
  • android-cts-8.0_r12
  • android-cts-7.1_r20
  • android-cts-7.0_r24
  • android-o-mr1-iot-release-1.0.3
  • android-cts-9.0_r1
  • android-8.1.0_r43
  • android-8.1.0_r42
  • android-n-iot-release-smart-display
  • android-p-preview-5
  • android-9.0.0_r3
40 results

global_macros

Blame
    • Jeff Vander Stoep's avatar
      c71c6622
      Enforce ioctl command whitelisting on all sockets · c71c6622
      Jeff Vander Stoep authored
      Remove the ioctl permission for most socket types. For others, such as
      tcp/udp/rawip/unix_dgram/unix_stream set a default unprivileged whitelist
      that individual domains may extend (except where neverallowed like
      untrusted_app). Enforce via a neverallowxperm rule.
      
      Change-Id: I15548d830f8eff1fd4d64005c5769ca2be8d4ffe
      c71c6622
      History
      Enforce ioctl command whitelisting on all sockets
      Jeff Vander Stoep authored
      Remove the ioctl permission for most socket types. For others, such as
      tcp/udp/rawip/unix_dgram/unix_stream set a default unprivileged whitelist
      that individual domains may extend (except where neverallowed like
      untrusted_app). Enforce via a neverallowxperm rule.
      
      Change-Id: I15548d830f8eff1fd4d64005c5769ca2be8d4ffe
    global_macros 2.91 KiB
    #####################################
    # Common groupings of object classes.
    #
    define(`capability_class_set', `{ capability capability2 }')
    
    define(`devfile_class_set', `{ chr_file blk_file }')
    define(`notdevfile_class_set', `{ file lnk_file sock_file fifo_file }')
    define(`file_class_set', `{ devfile_class_set notdevfile_class_set }')
    define(`dir_file_class_set', `{ dir file_class_set }')
    
    define(`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_firewall_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_ip6fw_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 }')
    define(`dgram_socket_class_set', `{ udp_socket unix_dgram_socket }')
    define(`stream_socket_class_set', `{ tcp_socket unix_stream_socket }')
    define(`unpriv_socket_class_set', `{ tcp_socket udp_socket unix_stream_socket unix_dgram_socket }')
    
    define(`ipc_class_set', `{ sem msgq shm ipc }')
    
    #####################################
    # Common groupings of permissions.
    #
    define(`x_file_perms', `{ getattr execute execute_no_trans }')
    define(`r_file_perms', `{ getattr open read ioctl lock }')
    define(`w_file_perms', `{ open append write lock }')
    define(`rx_file_perms', `{ r_file_perms x_file_perms }')
    define(`ra_file_perms', `{ r_file_perms append }')
    define(`rw_file_perms', `{ r_file_perms w_file_perms }')
    define(`rwx_file_perms', `{ rw_file_perms x_file_perms }')
    define(`create_file_perms', `{ create rename setattr unlink rw_file_perms }')
    
    define(`r_dir_perms', `{ open getattr read search ioctl lock }')
    define(`w_dir_perms', `{ open search write add_name remove_name lock }')
    define(`ra_dir_perms', `{ r_dir_perms add_name write }')
    define(`rw_dir_perms', `{ r_dir_perms w_dir_perms }')
    define(`create_dir_perms', `{ create reparent rename rmdir setattr rw_dir_perms }')
    
    define(`r_ipc_perms', `{ getattr read associate unix_read }')
    define(`w_ipc_perms', `{ write unix_write }')
    define(`rw_ipc_perms', `{ r_ipc_perms w_ipc_perms }')
    define(`create_ipc_perms', `{ create setattr destroy rw_ipc_perms }')
    
    #####################################
    # Common socket permission sets.
    define(`rw_socket_perms', `{ ioctl read getattr write setattr lock append bind connect getopt setopt shutdown }')
    define(`rw_socket_perms_no_ioctl', `{ read getattr write setattr lock append bind connect getopt setopt shutdown }')
    define(`create_socket_perms', `{ create rw_socket_perms }')
    define(`create_socket_perms_no_ioctl', `{ create rw_socket_perms_no_ioctl }')
    define(`rw_stream_socket_perms', `{ rw_socket_perms listen accept }')
    define(`create_stream_socket_perms', `{ create rw_stream_socket_perms }')