summaryrefslogtreecommitdiffstats
path: root/cmds
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2012-10-17 09:35:34 -0700
committerGerrit Code Review <noreply-gerritcodereview@google.com>2012-10-17 09:35:35 -0700
commit85f9ba9e7fdf9c3bf063f2e4c44a670861b4f199 (patch)
treef92e4d72caf27ece69a5a811f90b7b4f3a442be5 /cmds
parent826343138dfd8666d2263dd82bfdbf657fc1881e (diff)
parentc9a1aabc49d31370e3bf41f85b805499640230b1 (diff)
downloadframeworks_base-85f9ba9e7fdf9c3bf063f2e4c44a670861b4f199.zip
frameworks_base-85f9ba9e7fdf9c3bf063f2e4c44a670861b4f199.tar.gz
frameworks_base-85f9ba9e7fdf9c3bf063f2e4c44a670861b4f199.tar.bz2
Merge "Remove HAVE_SELINUX guards"
Diffstat (limited to 'cmds')
-rw-r--r--cmds/installd/Android.mk9
-rw-r--r--cmds/installd/commands.c38
2 files changed, 11 insertions, 36 deletions
diff --git a/cmds/installd/Android.mk b/cmds/installd/Android.mk
index 3e722ea..1dd4ee5 100644
--- a/cmds/installd/Android.mk
+++ b/cmds/installd/Android.mk
@@ -29,17 +29,12 @@ LOCAL_SRC_FILES := \
$(common_src_files)
LOCAL_SHARED_LIBRARIES := \
- libcutils
+ libcutils \
+ libselinux
LOCAL_STATIC_LIBRARIES := \
libdiskusage
-ifeq ($(HAVE_SELINUX),true)
-LOCAL_C_INCLUDES += external/libselinux/include
-LOCAL_SHARED_LIBRARIES += libselinux
-LOCAL_CFLAGS := -DHAVE_SELINUX
-endif # HAVE_SELINUX
-
LOCAL_MODULE := installd
LOCAL_MODULE_TAGS := optional
diff --git a/cmds/installd/commands.c b/cmds/installd/commands.c
index 41e7b8d..9d0dc53 100644
--- a/cmds/installd/commands.c
+++ b/cmds/installd/commands.c
@@ -16,10 +16,7 @@
#include "installd.h"
#include <diskusage/dirsize.h>
-
-#ifdef HAVE_SELINUX
#include <selinux/android.h>
-#endif
/* Directory records that are used in execution of commands. */
dir_rec_t android_data_dir;
@@ -76,14 +73,12 @@ int install(const char *pkgname, uid_t uid, gid_t gid)
return -errno;
}
-#ifdef HAVE_SELINUX
- if (selinux_android_setfilecon(libdir, pkgname, AID_SYSTEM) < 0) {
+ if (selinux_android_setfilecon(libdir, pkgname, uid) < 0) {
ALOGE("cannot setfilecon dir '%s': %s\n", libdir, strerror(errno));
unlink(libdir);
unlink(pkgdir);
return -errno;
}
-#endif
if (chown(pkgdir, uid, gid) < 0) {
ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno));
@@ -92,15 +87,6 @@ int install(const char *pkgname, uid_t uid, gid_t gid)
return -errno;
}
-#ifdef HAVE_SELINUX
- if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) {
- ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
- unlink(libdir);
- unlink(pkgdir);
- return -errno;
- }
-#endif
-
return 0;
}
@@ -193,19 +179,16 @@ int make_user_data(const char *pkgname, uid_t uid, uid_t persona)
ALOGE("cannot create dir '%s': %s\n", pkgdir, strerror(errno));
return -errno;
}
- if (chown(pkgdir, uid, uid) < 0) {
- ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno));
+ if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) {
+ ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
unlink(pkgdir);
return -errno;
}
-
-#ifdef HAVE_SELINUX
- if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) {
- ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
+ if (chown(pkgdir, uid, uid) < 0) {
+ ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno));
unlink(pkgdir);
return -errno;
}
-#endif
return 0;
}
@@ -394,21 +377,18 @@ int protect(char *pkgname, gid_t gid)
if (stat(pkgpath, &s) < 0) return -1;
- if (chown(pkgpath, s.st_uid, gid) < 0) {
- ALOGE("failed to chgrp '%s': %s\n", pkgpath, strerror(errno));
- return -1;
- }
if (chmod(pkgpath, S_IRUSR|S_IWUSR|S_IRGRP) < 0) {
ALOGE("failed to chmod '%s': %s\n", pkgpath, strerror(errno));
return -1;
}
-
-#ifdef HAVE_SELINUX
if (selinux_android_setfilecon(pkgpath, pkgname, s.st_uid) < 0) {
ALOGE("cannot setfilecon dir '%s': %s\n", pkgpath, strerror(errno));
return -1;
}
-#endif
+ if (chown(pkgpath, s.st_uid, gid) < 0) {
+ ALOGE("failed to chgrp '%s': %s\n", pkgpath, strerror(errno));
+ return -1;
+ }
return 0;
}