am 0c191624: Remove "protect" command from installd
* commit '0c191624fba8484e811027a9db40a62a960ab7dc': Remove "protect" command from installd
This commit is contained in:
@@ -403,37 +403,6 @@ int rm_dex(const char *path)
|
||||
}
|
||||
}
|
||||
|
||||
int protect(char *pkgname, gid_t gid)
|
||||
{
|
||||
struct stat s;
|
||||
char pkgpath[PKG_PATH_MAX];
|
||||
|
||||
if (gid < AID_SYSTEM) return -1;
|
||||
|
||||
if (create_pkg_path_in_dir(pkgpath, &android_app_private_dir, pkgname, ".apk"))
|
||||
return -1;
|
||||
|
||||
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("protect(): 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
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int get_size(const char *pkgname, int persona, const char *apkpath,
|
||||
const char *fwdlock_apkpath, const char *asecpath,
|
||||
int64_t *_codesize, int64_t *_datasize, int64_t *_cachesize,
|
||||
|
||||
@@ -75,11 +75,6 @@ static int do_rm_cache(char **arg, char reply[REPLY_MAX])
|
||||
return delete_cache(arg[0]); /* pkgname */
|
||||
}
|
||||
|
||||
static int do_protect(char **arg, char reply[REPLY_MAX])
|
||||
{
|
||||
return protect(arg[0], atoi(arg[1])); /* pkgname, gid */
|
||||
}
|
||||
|
||||
static int do_get_size(char **arg, char reply[REPLY_MAX])
|
||||
{
|
||||
int64_t codesize = 0;
|
||||
@@ -153,7 +148,6 @@ struct cmdinfo cmds[] = {
|
||||
{ "fixuid", 3, do_fixuid },
|
||||
{ "freecache", 1, do_free_cache },
|
||||
{ "rmcache", 1, do_rm_cache },
|
||||
{ "protect", 2, do_protect },
|
||||
{ "getsize", 5, do_get_size },
|
||||
{ "rmuserdata", 2, do_rm_user_data },
|
||||
{ "movefiles", 0, do_movefiles },
|
||||
|
||||
@@ -324,20 +324,6 @@ class Installer {
|
||||
return execute(builder.toString());
|
||||
}
|
||||
|
||||
/*
|
||||
* @param packagePathSuffix The name of the path relative to install
|
||||
* directory. Say if the path name is /data/app/com.test-1.apk, the package
|
||||
* suffix path will be com.test-1
|
||||
*/
|
||||
public int setForwardLockPerm(String packagePathSuffix, int gid) {
|
||||
StringBuilder builder = new StringBuilder("protect");
|
||||
builder.append(' ');
|
||||
builder.append(packagePathSuffix);
|
||||
builder.append(' ');
|
||||
builder.append(gid);
|
||||
return execute(builder.toString());
|
||||
}
|
||||
|
||||
public int getSizeInfo(String pkgName, int persona, String apkPath, String fwdLockApkPath,
|
||||
String asecPath, PackageStats pStats) {
|
||||
StringBuilder builder = new StringBuilder("getsize");
|
||||
|
||||
Reference in New Issue
Block a user