diff options
author | Kenny Root <kroot@google.com> | 2012-10-17 10:02:22 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2012-10-17 10:02:22 -0700 |
commit | ad0090e7b8c70cf44609aafbfea8c3946e2802a9 (patch) | |
tree | e00685d10039cdcd83a33a7e848724d724b9b787 /cmds/installd | |
parent | 9cb417b76fa72b3a53c6ce6d4017b389f553a2b8 (diff) | |
parent | 85f9ba9e7fdf9c3bf063f2e4c44a670861b4f199 (diff) | |
download | frameworks_base-ad0090e7b8c70cf44609aafbfea8c3946e2802a9.zip frameworks_base-ad0090e7b8c70cf44609aafbfea8c3946e2802a9.tar.gz frameworks_base-ad0090e7b8c70cf44609aafbfea8c3946e2802a9.tar.bz2 |
resolved conflicts for merge of 85f9ba9e to jb-mr1-dev-plus-aosp
Change-Id: I9ae49075935f0e9ec432ce9d828ee26a4fcdb44c
Diffstat (limited to 'cmds/installd')
-rw-r--r-- | cmds/installd/Android.mk | 9 | ||||
-rw-r--r-- | cmds/installd/commands.c | 20 |
2 files changed, 8 insertions, 21 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 a276225..902463d 100644 --- a/cmds/installd/commands.c +++ b/cmds/installd/commands.c @@ -17,10 +17,7 @@ #include <linux/capability.h> #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; @@ -74,14 +71,12 @@ int install(const char *pkgname, uid_t uid, gid_t gid) return -1; } -#ifdef HAVE_SELINUX - if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) { - ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno)); + if (selinux_android_setfilecon(libdir, pkgname, uid) < 0) { + ALOGE("cannot setfilecon dir '%s': %s\n", libdir, strerror(errno)); unlink(libsymlink); unlink(pkgdir); return -1; } -#endif if (chown(pkgdir, uid, gid) < 0) { ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno)); @@ -186,19 +181,16 @@ int make_user_data(const char *pkgname, uid_t uid, uid_t persona) unlink(pkgdir); 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; } |