diff options
author | Nick Kralevich <nnk@google.com> | 2013-09-09 19:47:14 +0200 |
---|---|---|
committer | Nick Kralevich <nnk@google.com> | 2013-09-09 19:47:14 +0200 |
commit | 3328e3bc81161c2a57ea94d304162276facdd826 (patch) | |
tree | ecd8762bc38d8db05b1175ec392ae3ed54cbd0a8 | |
parent | recovery: fix use of init reboot method (diff) | |
download | android_bootable_recovery-3328e3bc81161c2a57ea94d304162276facdd826.tar android_bootable_recovery-3328e3bc81161c2a57ea94d304162276facdd826.tar.gz android_bootable_recovery-3328e3bc81161c2a57ea94d304162276facdd826.tar.bz2 android_bootable_recovery-3328e3bc81161c2a57ea94d304162276facdd826.tar.lz android_bootable_recovery-3328e3bc81161c2a57ea94d304162276facdd826.tar.xz android_bootable_recovery-3328e3bc81161c2a57ea94d304162276facdd826.tar.zst android_bootable_recovery-3328e3bc81161c2a57ea94d304162276facdd826.zip |
-rw-r--r-- | minzip/DirUtil.c | 9 | ||||
-rw-r--r-- | minzip/DirUtil.h | 2 | ||||
-rw-r--r-- | updater/install.c | 29 |
3 files changed, 8 insertions, 32 deletions
diff --git a/minzip/DirUtil.c b/minzip/DirUtil.c index c120fa3cd..8dd5da1da 100644 --- a/minzip/DirUtil.c +++ b/minzip/DirUtil.c @@ -23,7 +23,6 @@ #include <errno.h> #include <dirent.h> #include <limits.h> -#include <selinux/selinux.h> #include "DirUtil.h" @@ -238,7 +237,7 @@ dirUnlinkHierarchy(const char *path) int dirSetHierarchyPermissions(const char *path, - int uid, int gid, int dirMode, int fileMode, const char* secontext) + int uid, int gid, int dirMode, int fileMode) { struct stat st; if (lstat(path, &st)) { @@ -256,10 +255,6 @@ dirSetHierarchyPermissions(const char *path, return -1; } - if ((secontext != NULL) && lsetfilecon(path, secontext) && (errno != ENOTSUP)) { - return -1; - } - /* recurse over directory components */ if (S_ISDIR(st.st_mode)) { DIR *dir = opendir(path); @@ -276,7 +271,7 @@ dirSetHierarchyPermissions(const char *path, char dn[PATH_MAX]; snprintf(dn, sizeof(dn), "%s/%s", path, de->d_name); - if (!dirSetHierarchyPermissions(dn, uid, gid, dirMode, fileMode, secontext)) { + if (!dirSetHierarchyPermissions(dn, uid, gid, dirMode, fileMode)) { errno = 0; } else if (errno == 0) { errno = -1; diff --git a/minzip/DirUtil.h b/minzip/DirUtil.h index 3e12a0bf5..a5cfa761b 100644 --- a/minzip/DirUtil.h +++ b/minzip/DirUtil.h @@ -54,7 +54,7 @@ int dirUnlinkHierarchy(const char *path); * Sets directories to <dirMode> and files to <fileMode>. Skips symlinks. */ int dirSetHierarchyPermissions(const char *path, - int uid, int gid, int dirMode, int fileMode, const char* secontext); + int uid, int gid, int dirMode, int fileMode); #ifdef __cplusplus } diff --git a/updater/install.c b/updater/install.c index c81bbb59d..9fa06a225 100644 --- a/updater/install.c +++ b/updater/install.c @@ -27,7 +27,6 @@ #include <unistd.h> #include <fcntl.h> #include <time.h> -#include <selinux/selinux.h> #include "cutils/misc.h" #include "cutils/properties.h" @@ -522,10 +521,9 @@ Value* SymlinkFn(const char* name, State* state, int argc, Expr* argv[]) { Value* SetPermFn(const char* name, State* state, int argc, Expr* argv[]) { char* result = NULL; - bool recursive = (strcmp(name, "set_perm_recursive") == 0) || (strcmp(name, "set_perm2_recursive") == 0); - bool has_selabel = (strcmp(name, "set_perm2") == 0) || (strcmp(name, "set_perm2_recursive") == 0); + bool recursive = (strcmp(name, "set_perm_recursive") == 0); - int min_args = 4 + (has_selabel ? 1 : 0) + (recursive ? 1 : 0); + int min_args = 4 + (recursive ? 1 : 0); if (argc < min_args) { return ErrorAbort(state, "%s() expects %d+ args, got %d", name, min_args, argc); @@ -564,13 +562,8 @@ Value* SetPermFn(const char* name, State* state, int argc, Expr* argv[]) { goto done; } - char* secontext = NULL; - if (has_selabel) { - secontext = args[4]; - } - - for (i = 4 + (has_selabel ? 1 : 0); i < argc; ++i) { - dirSetHierarchyPermissions(args[i], uid, gid, dir_mode, file_mode, secontext); + for (i = 4; i < argc; ++i) { + dirSetHierarchyPermissions(args[i], uid, gid, dir_mode, file_mode); } } else { int mode = strtoul(args[2], &end, 0); @@ -579,12 +572,7 @@ Value* SetPermFn(const char* name, State* state, int argc, Expr* argv[]) { goto done; } - char* secontext = NULL; - if (has_selabel) { - secontext = args[3]; - } - - for (i = 3 + (has_selabel ? 1 : 0); i < argc; ++i) { + for (i = 3; i < argc; ++i) { if (chown(args[i], uid, gid) < 0) { printf("%s: chown of %s to %d %d failed: %s\n", name, args[i], uid, gid, strerror(errno)); @@ -595,11 +583,6 @@ Value* SetPermFn(const char* name, State* state, int argc, Expr* argv[]) { name, args[i], mode, strerror(errno)); ++bad; } - if (has_selabel && lsetfilecon(args[i], secontext) && (errno != ENOTSUP)) { - printf("%s: lsetfilecon of %s to %s failed: %s\n", - name, args[i], secontext, strerror(errno)); - ++bad; - } } } result = strdup(""); @@ -1152,8 +1135,6 @@ void RegisterInstallFunctions() { RegisterFunction("symlink", SymlinkFn); RegisterFunction("set_perm", SetPermFn); RegisterFunction("set_perm_recursive", SetPermFn); - RegisterFunction("set_perm2", SetPermFn); - RegisterFunction("set_perm2_recursive", SetPermFn); RegisterFunction("getprop", GetPropFn); RegisterFunction("file_getprop", FileGetPropFn); |