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;
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);
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;
}
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;
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));
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;
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;
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;
}
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 {
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))
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*/
Name: media-server
Summary: A server for media content management
-Version: 0.3.63
+Version: 0.3.64
Release: 0
Group: Multimedia/Service
License: Apache-2.0
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);
}
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;
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));
/*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)
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;
}
}
- 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;
}
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;
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 */
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 */
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");
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);
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);
}
}
- 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;
}
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;
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));
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 */
.pid = 0, /* pid 0 means media-server */
.uid = 0,
.result = -1,
- .msg_size = 0,
.msg = {0},
};
}
/* 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));
}
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;
}
}
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)
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);
.pid = 0, /* pid 0 means media-server */
.uid = 0,
.result = -1,
- .msg_size = 0,
.storage_id = {0},
.msg = {0},
};
}
/* 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));
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);