tree 0b9fb4ef053eb9fa4f4a09972e250a67d60b6247
parent 911dd71d68ddc058c6f5dbdb9025cd23f3177db5
parent f5f899c3c0f684ffba6950b343e652abd78d0fd9
author The Android Open Source Project <initial-contribution@android.com> 1334082697 -0700
committer Android Git Automerger <android-git-automerger@android.com> 1334082697 -0700

am f5f899c3: Merge from upstream sepolicy

* commit 'f5f899c3c0f684ffba6950b343e652abd78d0fd9':
  Rework the radio vs rild property split. Only label properties with the ril. prefix with rild_prop. Allow rild and system (and radio) to set radio_prop. Only rild can set rild_prop presently.
  Allow apps to write to anr_data_file for /data/anr/traces.txt.
  Add policy for property service. New property_contexts file for property selabel backend. New property.te file with property type declarations. New property_service security class and set permission. Allow rules for setting properties.
  Allow adbd to access the qemu device and label /dev/eac correctly.
  Integrate nfc_power and rild rules from tuna sepolicy by Bryan Hinton.
  Rewrite MLS constraints to only constrain open for app_data_file, not read/write.
  Introduce a separate wallpaper_file type for the wallpaper file.
  Introduce a separate apk_tmp_file type for the vmdl.*\.tmp files.
  Allow the shell to create files on the sdcard.
  Drop redundant rules.
  Policy changes to support running the latest CTS.
  Limit per-device policy files to a well-defined sepolicy prefix.
  Add support for per-device .te and .fc files.
