#include "app2sd_internals.h"
+#define APPFW_UID 301
+
GMainLoop *app2sd_mainloop = NULL;
gboolean __exit_app2sd_server(void *data)
" </interface>"
"</node>";
+static bool _app2sd_server_check_permission(uid_t sender_uid, uid_t target_uid)
+{
+ if (sender_uid != 0 && sender_uid != APPFW_UID && sender_uid != target_uid) {
+ _E("Not permitted user!, uid(%d)", sender_uid);
+ return false;
+ }
+
+ return true;
+}
+
static void _app2sd_server_return_method_error(GDBusMethodInvocation *invocation, int result)
{
GVariant *param = NULL;
_D("pkgid(%s), size(%d),sender_uid(%d), target_uid(%d)",
pkgid, size, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
g_variant_iter_free(iter);
_app2sd_server_return_method_error(invocation,
_D("pkgid(%s), install_status(%d), sender_uid(%d), target_uid(%d)",
pkgid, install_status, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
_app2sd_server_return_method_error(invocation,
APP2EXT_ERROR_OPERATION_NOT_PERMITTED);
_D("pkgid(%s), size(%d), sender_uid(%d), target_uid(%d)",
pkgid, size, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
g_variant_iter_free(iter);
_app2sd_server_return_method_error(invocation,
_D("pkgid(%s), install_status(%d), sender_uid(%d), target_uid(%d)",
pkgid, install_status, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
_app2sd_server_return_method_error(invocation,
APP2EXT_ERROR_OPERATION_NOT_PERMITTED);
_D("pkgid(%s), sender_uid(%d), target_uid(%d)",
pkgid, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
_app2sd_server_return_method_error(invocation,
APP2EXT_ERROR_OPERATION_NOT_PERMITTED);
_D("pkgid(%s), sender_uid(%d), target_uid(%d)",
pkgid, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
_app2sd_server_return_method_error(invocation,
APP2EXT_ERROR_OPERATION_NOT_PERMITTED);
_D("pkgid(%s), sender_uid(%d), target_uid(%d)",
pkgid, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
_app2sd_server_return_method_error(invocation,
APP2EXT_ERROR_OPERATION_NOT_PERMITTED);
_D("pkgid(%s), sender_uid(%d), target_uid(%d)",
pkgid, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
_app2sd_server_return_method_error(invocation,
APP2EXT_ERROR_OPERATION_NOT_PERMITTED);
_D("pkgid(%s), move_type(%d),sender_uid(%d), target_uid(%d)",
pkgid, move_type, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
g_variant_iter_free(iter);
_app2sd_server_return_method_error(invocation,
_D("pkgid(%s), move_type(%d),sender_uid(%d), target_uid(%d)",
pkgid, move_type, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
_app2sd_server_return_method_error(invocation,
APP2EXT_ERROR_OPERATION_NOT_PERMITTED);
_D("pkgid(%s), sender_uid(%d), target_uid(%d)",
pkgid, sender_uid, target_uid);
- if (sender_uid != 0 && sender_uid != target_uid) {
+ if (!_app2sd_server_check_permission(sender_uid, target_uid)) {
_E("Not permitted user!");
_app2sd_server_return_method_error(invocation,
APP2EXT_ERROR_OPERATION_NOT_PERMITTED);