[SATIZENVUL-1315/SATIZENVUL-1316] Remove msg_size from ms_comm_msg_s
authorMinje Ahn <minje.ahn@samsung.com>
Wed, 7 Feb 2018 01:44:08 +0000 (10:44 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Thu, 8 Feb 2018 08:02:25 +0000 (17:02 +0900)
Change-Id: I8d56e8a6184679656efca3d2471e00a78e46abce
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
14 files changed:
lib/include/media-server-ipc.h
lib/include/media-util-ipc.h
lib/media-util-cynara.c
lib/media-util-db.c
lib/media-util-ipc.c
lib/media-util-register.c
packaging/media-server.spec
src/scanner-v2/media-scanner-extract-v2.c
src/scanner-v2/media-scanner-scan-v2.c
src/scanner-v2/media-scanner-socket-v2.c
src/scanner/media-scanner-scan.c
src/scanner/media-scanner-socket.c
src/server/media-server-socket.c
src/server/media-server-thumb.c

index 3990584..43ef796 100755 (executable)
@@ -84,7 +84,6 @@ typedef struct {
        int pid;
        uid_t uid;
        int result;
-       size_t msg_size; /*this is size of message below and this does not include the terminationg null byte ('\0'). */
        char storage_id[MS_UUID_SIZE];
        char msg[MAX_MSG_SIZE];
        int noti_type;
index aa7d06b..70878c1 100755 (executable)
@@ -49,7 +49,7 @@ int ms_ipc_create_client_socket(int timeout_sec, int *sock_fd);
 int ms_ipc_create_server_socket(ms_msg_port_type_e port, int *sock_fd);
 int ms_ipc_send_msg_to_server_tcp(int sockfd, ms_msg_port_type_e port, ms_comm_msg_s *send_msg, struct sockaddr_un *serv_addr);
 int ms_ipc_send_msg_to_client_tcp(int sockfd, ms_comm_msg_s *send_msg, struct sockaddr_un *client_addr);
-int ms_ipc_receive_message(int sockfd, void *recv_msg, unsigned int msg_size);
+int ms_ipc_receive_message(int sockfd, void *recv_msg);
 int ms_ipc_receive_message_tcp(int client_sock, ms_comm_msg_s *recv_msg);
 int ms_ipc_accept_client_tcp(int serv_sock, int* client_sock);
 
index 74d4469..d47a55c 100755 (executable)
@@ -114,8 +114,8 @@ int ms_cynara_receive_untrusted_message(int sockfd, ms_comm_msg_s *recv_msg, ms_
 
        MSAPI_DBG_SLOG("receive msg from [%d] %d, %s", recv_msg->pid, recv_msg->msg_type, recv_msg->msg);
 
-       if (!(recv_msg->msg_size > 0 && recv_msg->msg_size < MAX_MSG_SIZE)) {
-               MSAPI_DBG_ERR("IPC message is wrong. message size is %d", recv_msg->msg_size);
+       if (strlen(recv_msg->msg) == 0 || strlen(recv_msg->msg) >= MAX_MSG_SIZE) {
+               MSAPI_DBG_ERR("IPC message is wrong. message size is %d", strlen(recv_msg->msg));
                return MS_MEDIA_ERR_INVALID_IPC_MESSAGE;
        }
 
index 26ccb23..25c7d39 100755 (executable)
@@ -163,7 +163,6 @@ static int __media_db_request_update_tcp(ms_msg_type_e msg_type, const char *req
        memset((void *)&send_msg, 0, sizeof(ms_comm_msg_s));
 
        send_msg.msg_type = msg_type;
-       send_msg.msg_size = request_msg_size;
        SAFE_STRLCPY(send_msg.msg, request_msg, sizeof(send_msg.msg));
        send_msg.uid = uid;
 
@@ -303,7 +302,6 @@ static int __media_db_request_batch_update(ms_msg_type_e msg_type, const char *r
        memset((void *)&send_msg, 0, sizeof(ms_comm_msg_s));
 
        send_msg.msg_type = msg_type;
-       send_msg.msg_size = request_msg_size;
        send_msg.uid = uid;
        SAFE_STRLCPY(send_msg.msg, request_msg, sizeof(send_msg.msg));
 
@@ -637,7 +635,6 @@ static int __media_db_request_recovery(uid_t uid)
        memset((void *)&send_msg, 0, sizeof(ms_comm_msg_s));
 
        send_msg.msg_type = MS_MSG_MEDIA_DB_MALFORMED;
-       send_msg.msg_size = request_msg_size;
        SAFE_STRLCPY(send_msg.msg, db_path, sizeof(send_msg.msg));
        MS_SAFE_FREE(db_path);
        send_msg.uid = uid;
index 0ad27d7..a4726ac 100755 (executable)
@@ -162,7 +162,7 @@ int ms_ipc_send_msg_to_client_tcp(int sockfd, ms_comm_msg_s *send_msg, struct so
        return MS_MEDIA_ERR_NONE;
 }
 
-int ms_ipc_receive_message(int sockfd, void *recv_msg, unsigned int msg_size)
+int ms_ipc_receive_message(int sockfd, void *recv_msg)
 {
        int recv_msg_size;
 
@@ -217,8 +217,8 @@ int ms_ipc_receive_message_tcp(int client_sock, ms_comm_msg_s *recv_msg)
 
        MSAPI_DBG_SLOG("receive msg from P[%d] T[%d] M[%s]", recv_msg->pid, recv_msg->msg_type, recv_msg->msg);
 
-       if (!(recv_msg->msg_size > 0 && recv_msg->msg_size < MAX_MSG_SIZE)) {
-               MSAPI_DBG_ERR("IPC message is wrong. message size is %d", recv_msg->msg_size);
+       if (strlen(recv_msg->msg) == 0 || strlen(recv_msg->msg) >= MAX_MSG_SIZE) {
+               MSAPI_DBG_ERR("IPC message is wrong. message size is %d", strlen(recv_msg->msg));
                return MS_MEDIA_ERR_INVALID_IPC_MESSAGE;
        }
 
index cfee72c..d6df733 100755 (executable)
@@ -94,25 +94,25 @@ gboolean _read_socket(GIOChannel *src, GIOCondition condition, gpointer data)
        req_result.result = recv_msg.result;
 
        if (recv_msg.msg_type == MS_MSG_SCANNER_RESULT) {
-               req_result.complete_path = strndup(recv_msg.msg, recv_msg.msg_size);
+               req_result.complete_path = g_strdup(recv_msg.msg);
                req_result.request_type = MEDIA_DIRECTORY_SCAN;
                MSAPI_DBG("complete_path :%s", req_result.complete_path);
        } else if (recv_msg.msg_type == MS_MSG_SCANNER_BULK_RESULT) {
-               req_result.complete_path = strndup(recv_msg.msg, recv_msg.msg_size);
+               req_result.complete_path = g_strdup(recv_msg.msg);
                req_result.request_type = MEDIA_FILES_REGISTER;
        } else if (recv_msg.msg_type == MS_MSG_SCANNER_COMPLETE) {
-               req_result.complete_path = strndup(recv_msg.msg, recv_msg.msg_size);
+               req_result.complete_path = g_strdup(recv_msg.msg);
                req_result.request_type = MEDIA_REQUEST_SCAN_COMPLETE;
        } else if (recv_msg.msg_type == MS_MSG_SCANNER_PARTIAL) {
-               req_result.complete_path = strndup(recv_msg.msg, recv_msg.msg_size);
+               req_result.complete_path = g_strdup(recv_msg.msg);
                req_result.request_type = MEDIA_REQUEST_SCAN_PARTIAL;
        } else if (recv_msg.msg_type == MS_MSG_EXTRACTOR_COMPLETE) {
-               req_result.complete_path = strndup(recv_msg.msg, recv_msg.msg_size);
+               req_result.complete_path = g_strdup(recv_msg.msg);
                req_result.request_type = MEDIA_REQUEST_EXTRACT_COMPLETE;
        } else if (recv_msg.msg_type == MS_MSG_RECEIVE_MSG_FAILED) {
-               MSAPI_DBG_ERR("in _read_socket MS_MSG_RECEIVE_MSG_FAILED msg_size[%d]", recv_msg.msg_size);
-               if ((recv_msg.msg_size > 0) && (recv_msg.msg_size < MAX_MSG_SIZE))
-                       req_result.complete_path = strndup(recv_msg.msg, recv_msg.msg_size);
+               MSAPI_DBG_ERR("in _read_socket MS_MSG_RECEIVE_MSG_FAILED");
+               if (strlen(recv_msg.msg) == 0 || strlen(recv_msg.msg) >= MAX_MSG_SIZE)
+                       req_result.complete_path = g_strdup(recv_msg.msg);
 
                req_result.request_type = MEDIA_REQUEST_ERROR_SERVER_RECEIVE_MSG_FAILED;
        } else {
@@ -357,7 +357,6 @@ static int __media_db_request_update_async(ms_msg_type_e msg_type, const char *s
        memset((void *)&send_msg, 0, sizeof(ms_comm_msg_s));
        send_msg.msg_type = msg_type;
        send_msg.pid = syscall(__NR_getpid);
-       send_msg.msg_size = request_msg_size;
        send_msg.uid = uid;
        SAFE_STRLCPY(send_msg.msg, request_path, sizeof(send_msg.msg));
        if (MS_STRING_VALID(storage_id))
@@ -417,7 +416,6 @@ static int __media_db_request_update_cancel(ms_msg_type_e msg_type, const char *
        memset((void *)&send_msg, 0, sizeof(ms_comm_msg_s));
        send_msg.msg_type = msg_type;
        send_msg.pid = syscall(__NR_getpid);
-       send_msg.msg_size = request_msg_size;
        SAFE_STRLCPY(send_msg.msg, request_path, sizeof(send_msg.msg));
 
        /*Create Socket*/
index 5ea7219..d84e540 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       media-server
 Summary:    A server for media content management
-Version:    0.3.61
+Version:    0.3.62
 Release:    0
 Group:      Multimedia/Service
 License:    Apache-2.0
index ba30d2b..e4e7461 100755 (executable)
@@ -229,7 +229,7 @@ gboolean msc_folder_extract_thread(void *data)
 
                MS_DBG("path : [%s], storage_id : [%s]", extract_data->msg, storage_id);
 
-               update_path = strndup(extract_data->msg, extract_data->msg_size);
+               update_path = g_strdup(extract_data->msg);
 
                if (strlen(storage_id) == 0) {
                        MS_DBG_ERR("storage_id length is 0. There is no information of your request [%s]", extract_data->msg);
@@ -387,7 +387,7 @@ gboolean msc_storage_extract_thread(void *data)
                }
 
                end_flag = extract_data->result ? LAST_EVENT : NORMAL_EVENT;
-               update_path = g_strndup(extract_data->msg, extract_data->msg_size);
+               update_path = g_strdup(extract_data->msg);
                if (!MS_STRING_VALID(update_path)) {
                        MS_DBG_ERR("Invalid update_path");
                        ret = MS_MEDIA_ERR_INVALID_PARAMETER;
@@ -508,7 +508,6 @@ void msc_insert_exactor_request(int message_type, bool ins_status, const char *s
        extract_data->pid = pid;
        extract_data->uid = uid;
        extract_data->result = ins_status;
-       extract_data->msg_size = strlen(path);
        extract_data->noti_type = noti_type;
        SAFE_STRLCPY(extract_data->msg, path, sizeof(extract_data->msg));
        SAFE_STRLCPY(extract_data->storage_id, storage_id, sizeof(extract_data->storage_id));
index 8fbd22d..d865254 100755 (executable)
@@ -1038,7 +1038,7 @@ static int __msc_db_update(void **handle, const char *storage_id, const ms_comm_
        /*if scan type is not MS_SCAN_NONE, check data in db. */
        if (scan_type != MS_MSG_STORAGE_INVALID) {
                MS_DBG_WARN("INSERT");
-               start_path = strndup(scan_data->msg, scan_data->msg_size);
+               start_path = g_strdup(scan_data->msg);
                if (scan_type == MS_MSG_DIRECTORY_SCANNING || scan_type == MS_MSG_DIRECTORY_SCANNING_NON_RECURSIVE)
                        err = __msc_dir_scan_for_folder(handle, storage_id, start_path, storage_type, scan_type, scan_data->pid, scan_data->uid);
                else if (scan_type == MS_MSG_STORAGE_ALL || scan_type == MS_MSG_STORAGE_PARTIAL)
@@ -1395,7 +1395,7 @@ gboolean msc_storage_scan_thread(void *data)
                        goto NEXT;
                }
 
-               update_path = g_strndup(scan_data->msg, scan_data->msg_size);
+               update_path = g_strdup(scan_data->msg);
                if (!MS_STRING_VALID(update_path)) {
                        MS_DBG_ERR("Invalid update_path");
                        ret = MS_MEDIA_ERR_INVALID_PARAMETER;
@@ -1666,8 +1666,8 @@ static int __msc_pop_register_request(GArray *register_array, ms_comm_msg_s **re
                }
        }
 
-       if (((*register_data)->msg_size <= 0) || ((*register_data)->msg_size > MS_FILE_PATH_LEN_MAX)) {
-               MS_DBG_ERR("message size[%d] is wrong", (*register_data)->msg_size);
+       if ((strlen((*register_data)->msg) <= 0) || (strlen((*register_data)->msg) > MS_FILE_PATH_LEN_MAX)) {
+               MS_DBG_ERR("message size[%d] is wrong", strlen((*register_data)->msg));
                return MS_MEDIA_ERR_INVALID_IPC_MESSAGE;
        }
 
@@ -1720,7 +1720,7 @@ gboolean msc_register_thread(void *data)
                        goto FREE_RESOURCE;
                }
 
-               file_path = strndup(register_data->msg, register_data->msg_size);
+               file_path = g_strdup(register_data->msg);
                if (file_path == NULL) {
                        MS_DBG_ERR("file_path is NULL");
                        goto FREE_RESOURCE;
index e53e111..1c99f7b 100755 (executable)
@@ -265,7 +265,6 @@ int msc_send_result(int result, ms_comm_msg_s *res_data)
                send_msg.msg_type = MS_MSG_SCANNER_BULK_RESULT;
        send_msg.pid = res_data->pid;
        send_msg.result = result;
-       send_msg.msg_size = res_data->msg_size;
        SAFE_STRLCPY(send_msg.msg, res_data->msg, sizeof(send_msg.msg));
 
        /* send ready message */
@@ -301,7 +300,6 @@ int msc_send_result_partial(int result, ms_msg_type_e msg_type, int pid, const c
        send_msg.msg_type = MS_MSG_SCANNER_PARTIAL;
        send_msg.pid = pid;
        send_msg.result = result;
-       send_msg.msg_size = strlen(msg);
        SAFE_STRLCPY(send_msg.msg, msg, sizeof(send_msg.msg));
 
        /* send ready message */
index 6fb6b94..0ee78f1 100755 (executable)
@@ -168,7 +168,7 @@ static int __msc_db_update(void **handle, const char *storage_id, const ms_comm_
        MS_DBG_RETVM_IF(err != MS_MEDIA_ERR_NONE, err, "Fail to get storage type");
 
        scan_type = scan_data->msg_type;
-       start_path = strndup(scan_data->msg, scan_data->msg_size);
+       start_path = g_strdup(scan_data->msg);
 
        if (scan_type != MS_MSG_STORAGE_INVALID) {
                MS_DBG_INFO("INSERT");
@@ -293,7 +293,7 @@ gboolean msc_directory_scan_thread(void *data)
                        MS_DBG_ERR("ms_user_get_storage_type failed");
                        goto NEXT;
                }
-               start_path = strndup(scan_data->msg, scan_data->msg_size);
+               start_path = g_strdup(scan_data->msg);
 
                ms_bacth_commit_enable(handle, TRUE, TRUE, MS_NOTI_SWITCH_OFF, 0);
 
@@ -386,7 +386,7 @@ gboolean msc_storage_scan_thread(void *data)
                        MS_DBG_ERR("ms_user_get_storage_type failed");
                        goto NEXT;
                }
-               update_path = strndup(scan_data->msg, scan_data->msg_size);
+               update_path = g_strdup(scan_data->msg);
 
                if (strlen(scan_data->storage_id) > 0) {
                        storage_id = g_strdup(scan_data->storage_id);
@@ -635,8 +635,8 @@ static int __msc_pop_register_request(GArray *register_array, ms_comm_msg_s **re
                }
        }
 
-       if (((*register_data)->msg_size <= 0) || ((*register_data)->msg_size > MS_FILE_PATH_LEN_MAX)) {
-               MS_DBG_ERR("message size[%d] is wrong", (*register_data)->msg_size);
+       if ((strlen((*register_data)->msg) <= 0) || (strlen((*register_data)->msg) > MS_FILE_PATH_LEN_MAX)) {
+               MS_DBG_ERR("message size[%d] is wrong", strlen((*register_data)->msg));
                return MS_MEDIA_ERR_INVALID_IPC_MESSAGE;
        }
 
@@ -687,7 +687,7 @@ gboolean msc_register_thread(void *data)
                        goto FREE_RESOURCE;
                }
 
-               file_path = strndup(register_data->msg, register_data->msg_size);
+               file_path = g_strdup(register_data->msg);
                if (file_path == NULL) {
                        MS_DBG_ERR("file_path is NULL");
                        goto FREE_RESOURCE;
index fa637dd..0d7a06c 100755 (executable)
@@ -160,7 +160,6 @@ int msc_send_result(int result, ms_comm_msg_s *res_data)
        send_msg.msg_type = MS_MSG_SCANNER_BULK_RESULT;
        send_msg.pid = res_data->pid;
        send_msg.result = result;
-       send_msg.msg_size = res_data->msg_size;
        send_msg.uid = res_data->uid;
        SAFE_STRLCPY(send_msg.msg, res_data->msg, sizeof(send_msg.msg));
 
index a43bea6..5a151d0 100755 (executable)
@@ -158,7 +158,6 @@ int ms_reset_ownerlist()
                        send_msg.pid = data->pid;
                        send_msg.result = MS_MEDIA_ERR_DB_RESET;
                        send_msg.msg_type = MS_MSG_MEDIA_DB_RESET;
-                       send_msg.msg_size = strlen(data->req_path);
                        SAFE_STRLCPY(send_msg.msg, data->req_path, sizeof(send_msg.msg));
 
                        /* owner data exists */
@@ -470,7 +469,6 @@ int ms_send_storage_scan_request(const char *root_path, const char *storage_id,
                .pid = 0, /* pid 0 means media-server */
                .uid = 0,
                .result = -1,
-               .msg_size = 0,
                .msg = {0},
        };
 
@@ -496,10 +494,8 @@ int ms_send_storage_scan_request(const char *root_path, const char *storage_id,
        }
 
        /* msg_size & msg */
-       if (root_path != NULL) {
-               scan_msg.msg_size = strlen(root_path);
+       if (root_path != NULL)
                SAFE_STRLCPY(scan_msg.msg, root_path, sizeof(scan_msg.msg));
-       }
 
        if (storage_id != NULL)
                SAFE_STRLCPY(scan_msg.storage_id, storage_id, sizeof(scan_msg.storage_id));
@@ -613,7 +609,7 @@ gboolean ms_read_db_tcp_socket(GIOChannel *src, GIOCondition condition, gpointer
        }
 
        if (ms_cynara_check(&creds, CONTENT_WRITE_PRIVILEGE) != MS_MEDIA_ERR_NONE) {
-               MS_DBG_ERR("invalid query. size[%d]", recv_msg.msg_size);
+               MS_DBG_ERR("Permission denied");
                send_msg = MS_MEDIA_ERR_PERMISSION_DENIED;
                goto ERROR;
        }
@@ -627,7 +623,7 @@ gboolean ms_read_db_tcp_socket(GIOChannel *src, GIOCondition condition, gpointer
        }
 
        if (MS_STRING_VALID(recv_msg.msg)) {
-               sql_query = strndup(recv_msg.msg, recv_msg.msg_size);
+               sql_query = g_strdup(recv_msg.msg);
                if (sql_query != NULL) {
                        ret = media_db_update_db(db_handle, sql_query);
                        if (ret != MS_MEDIA_ERR_NONE)
@@ -685,7 +681,7 @@ void _ms_process_tcp_message(gpointer data, gpointer user_data)
                        goto ERROR;
                }
 
-               sql_query = strndup(recv_msg.msg, recv_msg.msg_size);
+               sql_query = g_strdup(recv_msg.msg);
                if (sql_query != NULL) {
                        if (recv_msg.msg_type == MS_MSG_DB_UPDATE_BATCH_START) {
                                ret = media_db_update_db_batch_start(sql_query);
@@ -929,7 +925,6 @@ int ms_send_storage_otg_scan_request(const char *path, const char *device_uuid,
                .pid = 0, /* pid 0 means media-server */
                .uid = 0,
                .result = -1,
-               .msg_size = 0,
                .storage_id = {0},
                .msg = {0},
        };
@@ -953,7 +948,6 @@ int ms_send_storage_otg_scan_request(const char *path, const char *device_uuid,
        }
 
        /* msg_size & msg */
-       scan_msg.msg_size = strlen(path);
        SAFE_STRLCPY(scan_msg.msg, path, sizeof(scan_msg.msg));
        SAFE_STRLCPY(scan_msg.storage_id, device_uuid, sizeof(scan_msg.storage_id));
 
index 1ad623b..7127239 100755 (executable)
@@ -269,7 +269,7 @@ gboolean _ms_thumb_agent_recv_msg_from_server()
        ms_thumb_server_msg recv_msg;
        int recv_msg_size = 0;
 
-       recv_msg_size = ms_ipc_receive_message(sockfd, &recv_msg, sizeof(ms_thumb_server_msg));
+       recv_msg_size = ms_ipc_receive_message(sockfd, &recv_msg);
        if (recv_msg_size != MS_MEDIA_ERR_NONE) {
                MS_DBG_STRERROR("ms_ipc_receive_message failed");
                close(sockfd);