Skip to content
Snippets Groups Projects
  • Stephen Smalley's avatar
    Define extended_socket_class policy capability and socket classes · 431bdd9f
    Stephen Smalley authored
    
    Add a definition for the extended_socket_class policy capability used
    to enable the use of separate socket security classes for all network
    address families rather than the generic socket class.  The capability
    also enables the use of separate security classes for ICMP and SCTP
    sockets, which were previously mapped to rawip_socket class.  Add
    definitions for the new socket classes and access vectors enabled by
    this capability.  Add the new socket classes to the socket_class_set
    macro, and exclude them from webview_zygote domain as with other socket
    classes.
    
    Allowing access by specific domains to the new socket security
    classes is left to future commits.  Domains previously allowed
    permissions to the 'socket' class will require permission to the
    more specific socket class when running on kernels with this support.
    
    The kernel support will be included upstream in Linux 4.11.  The
    relevant kernel commits are da69a5306ab92e07224da54aafee8b1dccf024f6
    ("selinux: support distinctions among all network address families"),
    ef37979a2cfa3905adbf0c2a681ce16c0aaea92d ("selinux: handle ICMPv6
    consistently with ICMP"), and b4ba35c75a0671a06b978b6386b54148efddf39f
    ("selinux: drop unused socket security classes").
    
    This change requires selinux userspace commit
    d479baa82d67c9ac56c1a6fa041abfb9168aa4b3 ("libsepol: Define
    extended_socket_class policy capability") in order to build the
    policy with this capability enabled.  This commit is already in
    AOSP master.
    
    Test: policy builds
    
    Change-Id: I788b4be9f0ec0bf2356c0bbef101cd42a1af49bb
    Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
    431bdd9f