- Jul 24, 2015
-
-
William Roberts authored
Allow device builders to pass arbitrary m4 definitions during the build via make variable BOARD_SEPOLICY_M4DEFS. This enables OEMs to define their own static policy build conditionals. Change-Id: Ibea1dbb7b8615576c5668e47f16ed0eedfa0b73c Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jul 17, 2015
-
-
Colin Cross authored
Improve incremental ninja builds by keeping the command line the same across builds. Change-Id: Iedbaa40c9f816f91afc8f073a9ed7f9ffd5d9a53
-
- Jul 16, 2015
-
-
William Roberts authored
Change-Id: Iae3edba40a94f78e78c0cc89a03e3f5a098d3909 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jul 10, 2015
-
-
William Roberts authored
Lowercase local variables and clear them to be consistent with other recipes and prevent polluting Make's global name space with set variables. Change-Id: If455cd4f33d5babbea985867a711e8a10c21a00f Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jul 07, 2015
-
-
William Roberts authored
Change-Id: I040904b69b98c49d60546f024f5ace5b7c6f7d5e Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 30, 2015
-
-
William Roberts authored
Change-Id: Ie800ebf9d8e68680ec377e8c51f7cd7717f3c755 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 29, 2015
-
-
William Roberts authored
Change-Id: Ibd22582deb24fde49cdb71b8754446f3948db36c Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Produce a list of neverallow assertions from seapp_contexts into a separate file, general_seapp_context_neverallows, to be used during CTS neverallow checking. Change-Id: I171ed43cf4ae4961f66d5d8f56695345493f1261 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 27, 2015
-
-
William Roberts authored
Change-Id: If944d8bd1e324f6500920ee3c5d44611ec7f8af9 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 25, 2015
-
-
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:
William Roberts <william.c.roberts@intel.com>
-
- Jun 13, 2015
-
-
Evgenii Stepanov authored
SANITIZE_TARGET adds shared libraries in /data/lib. Bug: 21785137 Change-Id: I8ac3d059d88d57d24ed762ffc6202a4ce5a42333
-
- Apr 01, 2015
-
-
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:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Mar 13, 2015
-
-
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:
Stephen Smalley <sds@tycho.nsa.gov>
-
Stephen Smalley authored
Failed to include base_rules.mk, so this target was not being built. Change-Id: I2414fa6c3e3e37c74f63c205e3694d1a811c956e Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Mar 12, 2015
-
-
Stephen Smalley authored
Generate general forms of the remaining *_contexts files with only the device-independent entries for use in CTS testing. Change-Id: I2bf0e41db8a73c26754cedd92cbc3783ff03d6b5 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Stephen Smalley authored
Generate a general_seapp_contexts file with only the device-independent entries, similar to general_sepolicy.conf. This is for use by CTS tests to compare with the prefix of device seapp_contexts. Change-Id: If8d1456afff5347adff7157411c6a160484e0b39 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 28, 2015
-
-
Nick Kralevich authored
No longer used. :-) Change-Id: I687cc36404e8ad8b899b6e76b1de7ee8c5392e07
-
- Dec 20, 2014
-
-
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
-
- Nov 13, 2014
-
-
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
-
- Nov 07, 2014
-
-
Stephen Smalley authored
Change-Id I52fd5fbe30a7f52f1143f176915ce55fb6a33f87 was only intended for lollipop, not for master. This reverts commit 2aa727e3. Change-Id: If2101939eb50cd6bbcde118b91c003d1f30d811c Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Nov 05, 2014
-
-
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
-
- Sep 20, 2014
-
- Jul 29, 2014
-
-
dcashman authored
Bug: 16563899 Bug: 14251916 Change-Id: Id3172b73f10186ba361caf6b7333e5d2a0648475
-
- Jul 14, 2014
-
-
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
-
- Jun 12, 2014
-
-
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
-
- May 30, 2014
-
-
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:
rpcraig <rpcraig@tycho.ncsc.mil>
-
Stephen Smalley authored
Create a separate recovery policy and only include the recovery domain allow rules in it. Change-Id: I444107f9821eabf4164ba07a44d03bd71e719989 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- May 23, 2014
-
-
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
-
- May 20, 2014
-
-
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
-
- Feb 05, 2014
-
-
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
-
- Jan 29, 2014
-
-
Robert Craig authored
Added a new check to make sure that all listed BOARD_SEPOLICY_UNION files are located somewhere in the listed BOARD_SEPOLICY_DIRS locations. The build will error out otherwise. Change-Id: Icc5febc5fe5a7cccb90ac5b83e6289c2aa5bf069 Signed-off-by:
rpcraig <rpcraig@tycho.ncsc.mil>
-
- Jan 11, 2014
-
-
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
-
- Jan 09, 2014
-
-
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
-
- Dec 02, 2013
-
-
Stephen Smalley authored
Also make su and shell permissive in non-user builds to allow use of setenforce without violating the neverallow rule. Change-Id: Ie76ee04e90d5a76dfaa5f56e9e3eb7e283328a3f Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Oct 28, 2013
-
-
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
-
- Sep 06, 2013
-
-
William Roberts authored
This breaks the ability for users to have certs in many directories. Currently the design is to allow keys.conf to specify arbitrary locations for pem files, relative to the root of the Android tree. If users want to have a common prefix on all the keys, then they can export DEFAULT_SYSTEM_DEV_CERTIFICATE, and make that an environment variable in their keys.conf file. Signed-off-by:
William Roberts <wroberts@tresys.com> Change-Id: I23455b891206cab6eca7db08ff3c28283f87c640 Signed-off-by:
William Roberts <wroberts@tresys.com>
-
- Apr 05, 2013
-
-
Stephen Smalley authored
Increase the SELinux policy version to 26. This is needed for name-based transitions used by the manta sepolicy. Requires kernel 3.0 or higher. Change-Id: I046fa9f7122f77506c70b2c735345bc0194935df Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Apr 01, 2013
-
-
Stephen Smalley authored
Increase the SELinux policy version to 26. This is needed for name-based transitions used by the manta sepolicy. Requires kernel 3.0 or higher. Change-Id: I046fa9f7122f77506c70b2c735345bc0194935df Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Mar 29, 2013
-
-
Geremy Condra authored
This allows us to better integrate key selection with our existing build process. Change-Id: I6e3eb5fbbfffb8e31c5edcf16f74df7c38abe537
-
- Mar 28, 2013
-
-
Geremy Condra authored
This allows us to better integrate key selection with our existing build process. Change-Id: I6e3eb5fbbfffb8e31c5edcf16f74df7c38abe537
-