Skip to content
Snippets Groups Projects
  1. Jul 24, 2015
  2. Jul 17, 2015
    • Colin Cross's avatar
      Use build fingerprint from file · 29a463d5
      Colin Cross authored
      Improve incremental ninja builds by keeping the command line the same
      across builds.
      
      Change-Id: Iedbaa40c9f816f91afc8f073a9ed7f9ffd5d9a53
      29a463d5
  3. Jul 16, 2015
  4. Jul 10, 2015
  5. Jul 07, 2015
  6. Jun 30, 2015
  7. Jun 29, 2015
  8. Jun 27, 2015
  9. Jun 25, 2015
    • William Roberts's avatar
      check_seapp: add support for "neverallow" checks · 81e1f90c
      William Roberts authored
      
      Introduce "neverallow" rules for seapp_contexts. A neverallow rule is
      similar to the existing key-value-pair entries but the line begins
      with "neverallow". A neverallow violation is detected when all keys,
      both inputs and outputs are matched. The neverallow rules value
      parameter (not the key) can contain regular expressions to assist in
      matching. Neverallow rules are never output to the generated
      seapp_contexts file.
      
      Also, unless -o is specified, checkseapp runs in silent mode and
      outputs nothing. Specifying - as an argument to -o outputs to stdout.
      
      Sample Output:
      Error: Rule in File "external/sepolicy/seapp_contexts" on line 87: "user=fake domain=system_app type=app_data_file" violates neverallow in File "external/sepolicy/seapp_contexts" on line 57: "user=((?!system).)* domain=system_app"
      
      Change-Id: Ia4dcbf02feb774f2e201bb0c5d4ce385274d8b8d
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      81e1f90c
  10. Jun 13, 2015
  11. Apr 01, 2015
    • Stephen Smalley's avatar
      Drop BOARD_SEPOLICY_UNION. · 8e0ca886
      Stephen Smalley authored
      As suggested in the comments on
      https://android-review.googlesource.com/#/c/141560/
      
      
      drop BOARD_SEPOLICY_UNION and simplify the build_policy logic.
      Union all files found under BOARD_SEPOLICY_DIRS.
      
      Unlike BOARD_SEPOLICY_REPLACE/IGNORE, on which we trigger an error
      to catch any lingering uses and force updating of the BoardConfig.mk
      files, we only warn on uses of BOARD_SEPOLICY_UNION to avoid
      breaking the build until all device BoardConfig*.mk files have been
      updated, and since they should be harmless - the files will be unioned
      regardless.
      
      Change-Id: I4214893c999c23631f5456cb1b8edd59771ef13b
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      8e0ca886
  12. Mar 13, 2015
    • Stephen Smalley's avatar
      sepolicy: Drop BOARD_SEPOLICY_IGNORE/REPLACE support. · b4f17069
      Stephen Smalley authored
      With changes I431c1ab22fc53749f623937154b9ec43469d9645 and
      Ia54aa263f2245c7090f4b9d9703130c19f11bd28, it is no longer
      legitimate to use BOARD_SEPOLICY_IGNORE or REPLACE with
      any of the *_contexts files since the CTS requires the AOSP
      entries to be present in the device files.
      
      Further, these changes render BOARD_SEPOLICY_IGNORE unusable for
      most policy files since all domains and types referenced within any
      of the AOSP *_contexts entries must be defined in the kernel policy, so
      you cannot use BOARD_SEPOLICY_IGNORE to exclude any .te file
      that defines a type referenced in any of those *_contexts files.
      There does not seem to be a significant need for such a facility,
      as AOSP policy is small and only domains and types used by most
      devices should be defined in external/sepolicy.
      
      BOARD_SEPOLICY_REPLACE is commonly misused to eliminate neverallow rules
      from AOSP policy, which will only lead to CTS failures, especially
      since change Iefe508df265f62efa92f8eb74fc65542d39e3e74 introduced neverallow
      checking on the entire policy via sepolicy-analyze.  The only remaining
      legitimate function of BOARD_SEPOLICY_REPLACE is to support overriding
      AOSP .te files with more restrictive rule sets.  However, the need for this
      facility has been significantly reduced by the fact that AOSP policy
      is now fully confined + enforcing for all domains, and further restrictions
      beyond AOSP carry a compatibility risk.
      
      Builders of custom policies and custom ROMs still have the freedom to
      apply patches on top of external/sepolicy to tighten rule sets (which are
      likely more maintainable than maintaining a completely separate copy of
      the file via BOARD_SEPOLICY_REPLACE) and/or of using their own separate
      policy build system as exemplified by
      https://bitbucket.org/quarksecurity/build-policies
      
      
      
      Change-Id: I2611e983f7cbfa15f9d45ec3ea301e94132b06fa
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      b4f17069
    • Stephen Smalley's avatar
      Fix rules for general_property_contexts. · c9361731
      Stephen Smalley authored
      
      Failed to include base_rules.mk, so this target was not being built.
      
      Change-Id: I2414fa6c3e3e37c74f63c205e3694d1a811c956e
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      c9361731
  13. Mar 12, 2015
  14. Feb 28, 2015
  15. Dec 20, 2014
    • William Roberts's avatar
      Allow overiding FORCE_PERMISSIVE_TO_UNCONFINED · 754f5ea7
      William Roberts authored
      It's beneficial to be able to overide this in a device makefile
      if you need to get the domains into an unconfined state to keep
      the logs from filling up on kernel entries without having to add
      rules into device specific policy.
      
      Change-Id: I7778be01256ac601f247e4d6e12573d0d23d12a1
      754f5ea7
  16. Nov 13, 2014
    • William Roberts's avatar
      Remove network shell script · f330f375
      William Roberts authored
      This seems to not really being used, especially considering
      that the init.rc does not have a oneshot service for it, and its
      not using the build_policy() and other things to even make it
      configurable.
      
      Change-Id: I964f94b30103917ed39cf5d003564de456b169a5
      f330f375
  17. Nov 07, 2014
  18. Nov 05, 2014
    • Nick Kralevich's avatar
      recovery.te: add /data neverallow rules · a17a266e
      Nick Kralevich authored
      Recovery should never be accessing files from /data.
      In particular, /data may be encrypted, and the files within
      /data will be inaccessible to recovery, because recovery doesn't
      know the decryption key.
      
      Enforce write/execute restrictions on recovery. We can't tighten
      it up further because domain.te contains some /data read-only
      access rules, which shouldn't apply to recovery but do.
      
      Create neverallow_macros, used for storing permission macros
      useful for neverallow rules. Standardize recovery.te and
      property_data_file on the new macros.
      
      Change-Id: I02346ab924fe2fdb2edc7659cb68c4f8dffa1e88
      a17a266e
  19. Sep 20, 2014
  20. Jul 29, 2014
  21. Jul 14, 2014
    • Nick Kralevich's avatar
      DO NOT MERGE: Flip FORCE_PERMISSIVE_TO_UNCONFINED to true · 2aa727e3
      Nick Kralevich authored
      Force any experimental SELinux domains (ones tagged with
      "permissive_or_unconfined") into unconfined. This flag is
      intended to be flipped when we're preparing a release,
      to eliminate inconsistencies between user and userdebug devices,
      and to ensure that we're enforcing a minimal set of rules for all
      SELinux domains.
      
      Without this change, our user builds will behave differently than
      userdebug builds, complicating testing.
      
      Change-Id: I52fd5fbe30a7f52f1143f176915ce55fb6a33f87
      2aa727e3
  22. Jun 12, 2014
    • Riley Spahn's avatar
      Add SELinux rules for service_manager. · f90c41f6
      Riley Spahn authored
      Add a service_mananger class with the verb add.
      Add a type that groups the services for each of the
      processes that is allowed to start services in service.te
      and an attribute for all services controlled by the service
      manager. Add the service_contexts file which maps service
      name to target label.
      
      Bug: 12909011
      Change-Id: I017032a50bc90c57b536e80b972118016d340c7d
      f90c41f6
  23. May 30, 2014
    • Robert Craig's avatar
      Build the selinux_version file. · 8b7545bf
      Robert Craig authored
      
      The selinux_version file is used to perform policy
      versioning checks by libselinux and SELinuxMMAC. When
      loading policy a check is first performed to determine
      if the policy out in /data/security/current should be
      used to override the base policy shipped with the device.
      The selinux_version file is used to make that choice. The
      contents of the file simply contains the BUILD_FINGERPRINT
      that the policy was built against. A simple string comparison
      is then performed by libselinux and SELinuxMMAC.
      
      Change-Id: I69d9d071743cfd46bb247c98f94a193396f8ebbd
      Signed-off-by: default avatarrpcraig <rpcraig@tycho.ncsc.mil>
      8b7545bf
    • Stephen Smalley's avatar
      Create a separate recovery policy. · e60723ab
      Stephen Smalley authored
      
      Create a separate recovery policy and only include the
      recovery domain allow rules in it.
      
      Change-Id: I444107f9821eabf4164ba07a44d03bd71e719989
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      e60723ab
  24. May 23, 2014
    • Nick Kralevich's avatar
      DO NOT MERGE: Flip FORCE_PERMISSIVE_TO_UNCONFINED to true · c51e4442
      Nick Kralevich authored
      Force any experimental SELinux domains (ones tagged with
      "permissive_or_unconfined") into unconfined. This flag is
      intended to be flipped when we're preparing a release,
      to eliminate inconsistencies between user and userdebug devices,
      and to ensure that we're enforcing a minimal set of rules for all
      SELinux domains.
      
      Without this change, our user builds will behave differently than
      userdebug builds, complicating testing.
      
      Change-Id: Ia43d185638336e545a7556c3a0ddf0f34e053706
      c51e4442
  25. May 20, 2014
    • Nick Kralevich's avatar
      DO NOT MERGE: Flip FORCE_PERMISSIVE_TO_UNCONFINED to true · 6e75f7df
      Nick Kralevich authored
      Force any experimental SELinux domains (ones tagged with
      "permissive_or_unconfined") into unconfined. This flag is
      intended to be flipped when we're preparing a release,
      to eliminate inconsistencies between user and userdebug devices,
      and to ensure that we're enforcing a minimal set of rules for all
      SELinux domains.
      
      Without this change, our user builds will behave differently than
      userdebug builds, complicating testing.
      
      Change-Id: I51c966f2b16b39a1e54a9ea3cc28c474586c5cb7
      6e75f7df
  26. Feb 05, 2014
    • Nick Kralevich's avatar
      DO NOT MERGE: Flip FORCE_PERMISSIVE_TO_UNCONFINED to true · 2772e78f
      Nick Kralevich authored
      Force any experimental SELinux domains (ones tagged with
      "permissive_or_unconfined") into unconfined. This flag is
      intended to be flipped when we're approaching stabilization,
      to eliminate inconsistencies between user and userdebug devices,
      and to ensure that we're enforcing a minimal set of rules for all
      SELinux domains.
      
      Change-Id: I1467b6b633934b18689683f3a3085329bb96dae1
      2772e78f
  27. Jan 29, 2014
  28. Jan 11, 2014
    • Nick Kralevich's avatar
      Support forcing permissive domains to unconfined. · 623975fa
      Nick Kralevich authored
      Permissive domains are only intended for development.
      When a device launches, we want to ensure that all
      permissive domains are in, at a minimum, unconfined+enforcing.
      
      Add FORCE_PERMISSIVE_TO_UNCONFINED to Android.mk. During
      development, this flag is false, and permissive domains
      are allowed. When SELinux new feature development has been
      frozen immediately before release, this flag will be flipped
      to true. Any previously permissive domains will move into
      unconfined+enforcing.
      
      This will ensure that all SELinux domains have at least a
      minimal level of protection.
      
      Unconditionally enable this flag for all user builds.
      
      Change-Id: I1632f0da0022c80170d8eb57c82499ac13fd7858
      623975fa
  29. Jan 09, 2014
    • Nick Kralevich's avatar
      Create new conditional userdebug_or_eng · 88ce951d
      Nick Kralevich authored
      Create a new m4 macro called userdebug_or_eng. Arguments
      passed to this macro are only emitted if we're performing
      a userdebug or eng build.
      
      Merge shell.te and shell_user.te and eliminate duplicate
      lines. Same for su.te and su_user.te
      
      Change-Id: I8fbabca65ec392aeafd5b90cef57b5066033fad0
      88ce951d
  30. Dec 02, 2013
  31. Oct 28, 2013
    • Nick Kralevich's avatar
      Make DEFAULT_SYSTEM_DEV_CERTIFICATE available in keys.conf · c3c9052b
      Nick Kralevich authored
      In 9af6f1bd, the -d option
      was dropped from insertkeys.py. This was done to allow an
      Android distribution to replace the default version of
      keys.conf distributed in external/sepolicy/keys.conf. keys.conf
      was modified to reference the publicly known test keys in
      build/target/product/security.
      
      Unfortunately, this broke Google's build of Android. Instead
      of incorporating our keys directory, we were using the
      default AOSP keys. As a result, apps were getting assigned
      to the wrong SELinux domain. (see "Steps to reproduce" below)
      
      This change continues to allow others to replace keys.conf,
      but makes DEFAULT_SYSTEM_DEV_CERTIFICATE available as an
      environment variable in case the customized version wants to
      make reference to it. This change also modifies the stock
      version of keys.conf to use DEFAULT_SYSTEM_DEV_CERTIFICATE,
      which should be appropriate for most Android distributions.
      It doesn't make any sense to force each OEM to have a copy of
      this file.
      
      Steps to reproduce.
      
      1) Compile and boot Android.
      2) Run the following command: "adb shell ps -Z | grep process.media"
      
      Expected:
      
        $ adb shell ps -Z | grep process.media
        u:r:media_app:s0               u0_a5     1332  202   android.process.media
      
      Actual:
      
        $ adb shell ps -Z | grep process.media
        u:r:untrusted_app:s0           u0_a5     3617  187   android.process.media
      
      Bug: 11327304
      Change-Id: Ica24fb25c5f9c0e2f4d181718c757cf372467822
      c3c9052b
  32. Sep 06, 2013
  33. Apr 05, 2013
  34. Apr 01, 2013
  35. Mar 29, 2013
  36. Mar 28, 2013
Loading