snprintf(query, sizeof(query), "select policy, until, command from uid_policy where uid=%d", ctx->from.uid);
int ret = sqlite3_open_v2(ctx->user.database_path, &db, SQLITE_OPEN_READONLY, NULL);
if (ret) {
- LOGE("sqlite3 open failure: %d", ret);
+ LOGE("sqlite3 open %s failure: %d", ctx->user.database_path, ret);
sqlite3_close(db);
return INTERACTIVE;
}
}
static void user_init(struct su_context *ctx) {
- if (ctx->from.uid > 99999) {
+ if (ctx->user.multiuser_mode != MULTIUSER_MODE_NONE) {
ctx->user.android_user_id = ctx->from.uid / 100000;
- if (ctx->user.multiuser_mode == MULTIUSER_MODE_USER) {
- snprintf(ctx->user.database_path, PATH_MAX, "%s/%d/%s", REQUESTOR_USER_PATH, ctx->user.android_user_id, REQUESTOR_DATABASE_PATH);
- snprintf(ctx->user.base_path, PATH_MAX, "%s/%d/%s", REQUESTOR_USER_PATH, ctx->user.android_user_id, REQUESTOR);
- }
+ snprintf(ctx->user.database_path, PATH_MAX, "%s/%d/%s", REQUESTOR_USER_PATH, ctx->user.android_user_id, REQUESTOR_DATABASE_PATH);
+ snprintf(ctx->user.base_path, PATH_MAX, "%s/%d/%s", REQUESTOR_USER_PATH, ctx->user.android_user_id, REQUESTOR);
}
}
#endif
#define REQUESTOR_DATA_PATH "/data/data/"
#define REQUESTOR_FILES_PATH REQUESTOR_DATA_PATH REQUESTOR "/files"
-#define REQUESTOR_USER_PATH "/data/user/"
+#define REQUESTOR_USER_PATH "/data/user_de"
#define REQUESTOR_CACHE_PATH "/dev/" REQUESTOR
#define REQUESTOR_DAEMON_PATH REQUESTOR_CACHE_PATH ".daemon"