summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2013-03-05 10:27:40 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-03-05 10:27:40 -0800
commitaf4ececc7bd10aec1240acfbfe7756ab8ee16883 (patch)
treeaee918b59d2a34ebb10acdbdcf7ae069aa9d9eeb
parentb3be89dfe9e0eb1cb0fbf834d6fbcef976c03a1e (diff)
parent515bed0e6aae4a835ab4393499c7dd99941a8423 (diff)
downloadsystem_core-af4ececc7bd10aec1240acfbfe7756ab8ee16883.zip
system_core-af4ececc7bd10aec1240acfbfe7756ab8ee16883.tar.gz
system_core-af4ececc7bd10aec1240acfbfe7756ab8ee16883.tar.bz2
am 515bed0e: Merge "run-as: set the SELinux security context."
* commit '515bed0e6aae4a835ab4393499c7dd99941a8423': run-as: set the SELinux security context.
-rw-r--r--run-as/Android.mk2
-rw-r--r--run-as/run-as.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/run-as/Android.mk b/run-as/Android.mk
index 043cc3a..a8f2885 100644
--- a/run-as/Android.mk
+++ b/run-as/Android.mk
@@ -3,6 +3,8 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES:= run-as.c package.c
+LOCAL_SHARED_LIBRARIES := libselinux
+
LOCAL_MODULE:= run-as
include $(BUILD_EXECUTABLE)
diff --git a/run-as/run-as.c b/run-as/run-as.c
index 20e1530..9eb09ae 100644
--- a/run-as/run-as.c
+++ b/run-as/run-as.c
@@ -29,6 +29,7 @@
#include <time.h>
#include <stdarg.h>
+#include <selinux/android.h>
#include <private/android_filesystem_config.h>
#include "package.h"
@@ -162,6 +163,11 @@ int main(int argc, char **argv)
return 1;
}
+ if (selinux_android_setcontext(uid, 0, NULL, pkgname) < 0) {
+ panic("Could not set SELinux security context: %s\n", strerror(errno));
+ return 1;
+ }
+
/* User specified command for exec. */
if (argc >= 3 ) {
if (execvp(argv[2], argv+2) < 0) {