Skip to content
Snippets Groups Projects
  • Nick Kralevich's avatar
    dbd28d91
    Enable SELinux protections for netd. · dbd28d91
    Nick Kralevich authored
    This change does several things:
    
    1) Restore domain.te to the version present at
    cd516a32 . This is the version
    currently being distributed in AOSP.
    
    2) Add "allow domain properties_device:file r_file_perms;" to
    domain.te, to allow all domains to read /dev/__properties__ .
    This change was missing from AOSP.
    
    3) Restore netd.te to the version present at
    80c9ba52 . This is the version
    currently being distributed in AOSP.
    
    4) Remove anything involving module loading from netd.te. CTS
    enforces that Android kernels can't have module loading enabled.
    
    5) Add several new capabilities, plus data file rules, to
    netd.te, since netd needs to write to files owned by wifi.
    
    6) Add a new unconfined domain called dnsmasq.te, and allow
    transitions from netd to that domain. Over time, we'll tighten up
    the dnsmasq.te domain.
    
    7) Add a new unconfined domain called hostapd.te, and allow
    transitions from netd to that domain. Over time, we'll tighten up
    the hostapd.te domain.
    
    The net effect of these changes is to re-enable SELinux protections
    for netd. The policy is FAR from perfect, and allows a lot of wiggle
    room, but we can improve it over time.
    
    Testing: as much as possible, I've exercised networking related
    functionality, including turning on and off wifi, entering airplane
    mode, and enabling tethering and portable wifi hotspots. It's quite
    possible I've missed something, and if we experience problems, I
    can roll back this change.
    
    Bug: 9618347
    Change-Id: I23ff3eebcef629bc7baabcf6962f25f116c4a3c0
    dbd28d91
    History
    Enable SELinux protections for netd.
    Nick Kralevich authored
    This change does several things:
    
    1) Restore domain.te to the version present at
    cd516a32 . This is the version
    currently being distributed in AOSP.
    
    2) Add "allow domain properties_device:file r_file_perms;" to
    domain.te, to allow all domains to read /dev/__properties__ .
    This change was missing from AOSP.
    
    3) Restore netd.te to the version present at
    80c9ba52 . This is the version
    currently being distributed in AOSP.
    
    4) Remove anything involving module loading from netd.te. CTS
    enforces that Android kernels can't have module loading enabled.
    
    5) Add several new capabilities, plus data file rules, to
    netd.te, since netd needs to write to files owned by wifi.
    
    6) Add a new unconfined domain called dnsmasq.te, and allow
    transitions from netd to that domain. Over time, we'll tighten up
    the dnsmasq.te domain.
    
    7) Add a new unconfined domain called hostapd.te, and allow
    transitions from netd to that domain. Over time, we'll tighten up
    the hostapd.te domain.
    
    The net effect of these changes is to re-enable SELinux protections
    for netd. The policy is FAR from perfect, and allows a lot of wiggle
    room, but we can improve it over time.
    
    Testing: as much as possible, I've exercised networking related
    functionality, including turning on and off wifi, entering airplane
    mode, and enabling tethering and portable wifi hotspots. It's quite
    possible I've missed something, and if we experience problems, I
    can roll back this change.
    
    Bug: 9618347
    Change-Id: I23ff3eebcef629bc7baabcf6962f25f116c4a3c0