static int __process_cleardata(struct backend_job *job)
{
- char *backend_cmd;
+ static const char *backend_cmd = "/usr/bin/pkg_cleardata";
char **argv;
char args[MAX_PKG_ARGS_LEN];
int pid;
- backend_cmd = job->backend_path;
- if (backend_cmd == NULL)
+ if ((int)job->target_uid < REGULAR_USER)
return -1;
- /* TODO: set movetype */
- snprintf(args, sizeof(args), "%s -k %s -c %s -u %d", backend_cmd,
- job->req_id, job->pkgid, (int)job->target_uid);
+ snprintf(args, sizeof(args), "%s -d %s", backend_cmd, job->pkgid);
argv = __generate_argv(args);
-
- pid = __fork_and_exec_with_args(argv, APPFW_UID);
+ pid = __fork_and_exec_with_args(argv, job->target_uid);
g_strfreev(argv);
-
return pid;
}
static int __process_clearcache(struct backend_job *job)
{
- static const char *backend_cmd = "/usr/bin/pkg_clearcache";
+ static const char *backend_cmd = "/usr/bin/pkg_cleardata";
char **argv;
char args[MAX_PKG_ARGS_LEN];
int pid;
- snprintf(args, sizeof(args), "%s %s", backend_cmd, job->pkgid);
+ if ((int)job->target_uid < REGULAR_USER)
+ return -1;
+
+ snprintf(args, sizeof(args), "%s -c %s", backend_cmd, job->pkgid);
argv = __generate_argv(args);
pid = __fork_and_exec_with_args(argv, job->target_uid);
g_strfreev(argv);
-
return pid;
}