diff options
author | Colin Cross <ccross@android.com> | 2013-03-05 17:31:38 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-03-05 17:31:38 +0000 |
commit | 515bed0e6aae4a835ab4393499c7dd99941a8423 (patch) | |
tree | 2fb338e442fd613f5fa62fd6063bb37a49e5f1ae | |
parent | 3fb63338e9faddeb50a582cfec114bd48f93f1c2 (diff) | |
parent | 4ead8beac8fe59b01ad1e5670713b99e7f841b9b (diff) | |
download | system_core-515bed0e6aae4a835ab4393499c7dd99941a8423.zip system_core-515bed0e6aae4a835ab4393499c7dd99941a8423.tar.gz system_core-515bed0e6aae4a835ab4393499c7dd99941a8423.tar.bz2 |
Merge "run-as: set the SELinux security context."
-rw-r--r-- | run-as/Android.mk | 2 | ||||
-rw-r--r-- | run-as/run-as.c | 6 |
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) { |