#define MC_SVC_NAME "mediacontroller"
/* This checks if service daemon is running */
-static gboolean __is_service_activated()
+static int __is_service_activated()
{
- gboolean ret = FALSE;
+ int ret = MEDIA_CONTROLLER_ERROR_NONE;
ret = mc_ipc_send_message_to_server(MC_MSG_SERVER_CONNECTION, MC_SERVER_CONNECTION_MSG);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
- mc_error("Failed to mc_ipc_send_message_to_server [%d]", ret);
- return FALSE;
- }
- return TRUE;
+ return ret;
}
static char *__make_key_for_map(const char *main_key, const char *sub_key)
struct sockaddr_un serv_addr;
unsigned int retrycount = 0;
- if (__is_service_activated() == TRUE) {
+ ret = __is_service_activated();
+
+ if (ret == MEDIA_CONTROLLER_ERROR_NONE) {
mc_debug("service is already running!");
- return MEDIA_CONTROLLER_ERROR_NONE;
+ return ret;
+ }
+ else if (ret == MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED) {
+ mc_error("Permission deny!");
+ return ret;
}
/*Create Socket*/
mc_ipc_delete_client_socket(&sock_info);
- while ((__is_service_activated() == FALSE) && (retrycount++ < MAX_WAIT_COUNT)) {
+ while ((__is_service_activated() != MEDIA_CONTROLLER_ERROR_NONE) && (retrycount++ < MAX_WAIT_COUNT)) {
MC_MILLISEC_SLEEP(200);
mc_error("[No-Error] retry count [%d]", retrycount);
}
}
}
} else if (recv_msg.msg_type == MC_MSG_SERVER_CONNECTION) {
+ ret = mc_cynara_check(&creds, MC_CLIENT_PRIVILEGE);
+ if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
+ mc_error("permission is denied![%d]", ret);
+ ret = mc_cynara_check(&creds, MC_SERVER_PRIVILEGE);
+ if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
+ mc_error("permission is denied![%d]", ret);
+
+ send_msg = MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED;
+ goto ERROR;
+ }
+ }
+
+ MC_SAFE_FREE(creds.uid);
+ MC_SAFE_FREE(creds.smack);
+
if (recv_msg.msg_size > 0) {
if (strncmp(recv_msg.msg, MC_SERVER_CONNECTION_MSG, recv_msg.msg_size) == 0) {
if (g_connection_cnt == -1)