Move IPC path into media-util-user 17/307217/3
authorminje.ahn <minje.ahn@samsung.com>
Wed, 6 Mar 2024 05:51:28 +0000 (14:51 +0900)
committerMinje ahn <minje.ahn@samsung.com>
Wed, 6 Mar 2024 06:25:25 +0000 (06:25 +0000)
Change-Id: Icedec36291e601fa8a0631c88b2304f87f23c667
Signed-off-by: minje.ahn <minje.ahn@samsung.com>
lib/include/media-util-user.h
lib/include/media-util.h
lib/media-util-db.c
lib/media-util-ipc.c
lib/media-util-user.c

index df72b7a..dd18d09 100644 (file)
@@ -35,6 +35,8 @@ int ms_user_get_wordbook_db_path(uid_t uid, char **path);
 int ms_user_get_mediashared_path(uid_t uid, char **path);
 #endif
 
+char *ms_user_get_ipc_path(ms_msg_port_type_e type);
+
 #ifdef __cplusplus
 }
 #endif
index 2f226ea..034ceae 100644 (file)
@@ -28,8 +28,6 @@
 #include <media-util-cynara.h>
 #include <media-util-user.h>
 
-#include <tzplatform_config.h>
-
 #ifdef _USE_TVPD_MODE
 #define MEDIA_DB_SIZE_LIMIT_2 20000000
 #define MEDIA_DB_SIZE_LIMIT_1 10000000
index fc3056f..08d618d 100644 (file)
@@ -181,15 +181,15 @@ static int __media_db_connect_db_with_handle(sqlite3 **db_handle, uid_t uid, boo
        return MS_MEDIA_ERR_NONE;
 }
 
-extern char MEDIA_IPC_PATH[][70];
 #define MAX_RETRY_COUNT 3
 
 static int __media_db_request_update_tcp(ms_msg_type_e msg_type, const char *request_msg, uid_t uid)
 {
        int ret = MS_MEDIA_ERR_NONE;
        int sockfd = -1;
-       struct sockaddr_un serv_addr;
+       struct sockaddr_un serv_addr = { 0, };
        int retry_count = 0;
+       g_autofree gchar *ipc_path = NULL;
 
        MSAPI_RETVM_IF(!request_msg || strlen(request_msg) == 0, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid request_msg");
 
@@ -208,9 +208,10 @@ static int __media_db_request_update_tcp(ms_msg_type_e msg_type, const char *req
        MSAPI_RETV_IF(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*Set server Address*/
-       memset(&serv_addr, 0, sizeof(serv_addr));
        serv_addr.sun_family = AF_UNIX;
-       g_strlcpy(serv_addr.sun_path, tzplatform_mkpath(TZ_SYS_RUN, MEDIA_IPC_PATH[MS_DB_UPDATE_PORT]), sizeof(serv_addr.sun_path));
+       ipc_path = ms_user_get_ipc_path(MS_DB_UPDATE_PORT);
+       MSAPI_RETV_IF(!ipc_path, MS_MEDIA_ERR_INTERNAL);
+       g_strlcpy(serv_addr.sun_path, ipc_path, sizeof(serv_addr.sun_path));
 
        /* Connecting to the media db server */
        if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) {
@@ -401,9 +402,10 @@ static int __media_db_request_recovery(uid_t uid)
 {
        int ret = MS_MEDIA_ERR_NONE;
        int sockfd = -1;
-       struct sockaddr_un serv_addr;
+       struct sockaddr_un serv_addr = { 0, };
        int retry_count = 0;
        char *db_path = NULL;
+       g_autofree gchar *ipc_path = NULL;
 
        ret = ms_user_get_media_db_path(uid, &db_path);
        MSAPI_RETVM_IF(ret != MS_MEDIA_ERR_NONE, MS_MEDIA_ERR_INVALID_PARAMETER, "ms_user_get_media_db_path failed");
@@ -424,10 +426,10 @@ static int __media_db_request_recovery(uid_t uid)
        MSAPI_RETV_IF(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*Set server Address*/
-       memset(&serv_addr, 0, sizeof(serv_addr));
        serv_addr.sun_family = AF_UNIX;
-       /*      MSAPI_DBG_SLOG("%s", MEDIA_IPC_PATH[port]); */
-       g_strlcpy(serv_addr.sun_path, MEDIA_IPC_PATH[MS_SCANNER_PORT], sizeof(serv_addr.sun_path));
+       ipc_path = ms_user_get_ipc_path(MS_SCANNER_PORT);
+       MSAPI_RETV_IF(!ipc_path, MS_MEDIA_ERR_INTERNAL);
+       g_strlcpy(serv_addr.sun_path, ipc_path, sizeof(serv_addr.sun_path));
 
        /* Connecting to the media db server */
        if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) {
index 56cc5df..a3cc247 100644 (file)
 #include "media-util-dbg.h"
 #include "media-util.h"
 
-char MEDIA_IPC_PATH[][70] = {
-       {"media-server/media_ipc_scanner.socket"},
-       {"media-server/media_ipc_dbupdate.socket"},
-};
-
 int ms_ipc_create_client_socket(int timeout_sec, int *sock_fd)
 {
        int sock = -1;
@@ -58,20 +53,19 @@ int ms_ipc_create_server_socket(ms_msg_port_type_e port, int *sock_fd)
 {
        int i;
        int sock = -1;
-       struct sockaddr_un serv_addr;
-       unsigned short serv_port;
-
-       serv_port = port;
+       struct sockaddr_un serv_addr = { 0, };
+       g_autofree gchar *ipc_path = NULL;
        /* Create a TCP socket */
        if ((sock = socket(PF_FILE, SOCK_STREAM, 0)) < 0) {
                MSAPI_DBG_STRERROR("socket failed");
                return MS_MEDIA_ERR_IPC;
        }
 
-       memset(&serv_addr, 0, sizeof(serv_addr));
        serv_addr.sun_family = AF_UNIX;
-       unlink(tzplatform_mkpath(TZ_SYS_RUN, MEDIA_IPC_PATH[serv_port]));
-       g_strlcpy(serv_addr.sun_path, tzplatform_mkpath(TZ_SYS_RUN, MEDIA_IPC_PATH[serv_port]), sizeof(serv_addr.sun_path));
+       ipc_path = ms_user_get_ipc_path(port);
+       MSAPI_RETV_IF(!ipc_path, MS_MEDIA_ERR_INTERNAL);
+       unlink(ipc_path);
+       g_strlcpy(serv_addr.sun_path, ipc_path, sizeof(serv_addr.sun_path));
 
        /* Bind to the local address */
        for (i = 0; i < 100; i++) {
@@ -95,7 +89,7 @@ int ms_ipc_create_server_socket(ms_msg_port_type_e port, int *sock_fd)
        MSAPI_DBG("Listening...");
 
        /*change permission of sock file*/
-       if (chmod(tzplatform_mkpath(TZ_SYS_RUN, MEDIA_IPC_PATH[serv_port]), 0776) < 0)
+       if (chmod(ipc_path, 0776) < 0)
                MSAPI_DBG_STRERROR("chmod failed");
 
        *sock_fd = sock;
@@ -109,13 +103,13 @@ ERROR:
 
 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)
 {
-       struct sockaddr_un addr;
-
-       /* Set server Address */
-       memset(&addr, 0, sizeof(addr));
+       struct sockaddr_un addr = { 0, };
+       g_autofree gchar *ipc_path = NULL;
 
        addr.sun_family = AF_UNIX;
-       g_strlcpy(addr.sun_path, tzplatform_mkpath(TZ_SYS_RUN, MEDIA_IPC_PATH[port]), sizeof(addr.sun_path));
+       ipc_path = ms_user_get_ipc_path(port);
+       MSAPI_RETV_IF(!ipc_path, MS_MEDIA_ERR_INTERNAL);
+       g_strlcpy(addr.sun_path, ipc_path, sizeof(addr.sun_path));
 
        /* Connecting to the media db server */
        if (connect(sockfd, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
@@ -131,7 +125,7 @@ int ms_ipc_send_msg_to_server_tcp(int sockfd, ms_msg_port_type_e port, ms_comm_m
                return MS_MEDIA_ERR_IPC;
        } else {
                MSAPI_DBG_SLOG("result[%d] message[%.*s]", send_msg->result, MAX_MSG_SIZE, send_msg->msg);
-               if (serv_addr != NULL)
+               if (serv_addr)
                        *serv_addr = addr;
        }
 
index ff95309..fb486cd 100644 (file)
 
 #include "media-util-dbg.h"
 #include "media-util.h"
+
 #include <glib.h>
 #include <unistd.h>
+#include <tzplatform_config.h>
 
 #define USER_BAND 5000;
 
@@ -173,4 +175,16 @@ int ms_user_get_mediashared_path(uid_t uid, char **path)
 
        return MS_MEDIA_ERR_NONE;
 }
-#endif
\ No newline at end of file
+#endif
+
+static char MEDIA_IPC_PATH[][70] = {
+       {"media-server/media_ipc_scanner.socket"},
+       {"media-server/media_ipc_dbupdate.socket"},
+};
+char *ms_user_get_ipc_path(ms_msg_port_type_e type)
+{
+       if (type != MS_SCANNER_PORT && type != MS_DB_UPDATE_PORT)
+               return NULL;
+
+       return g_strdup(tzplatform_mkpath(TZ_SYS_RUN, MEDIA_IPC_PATH[type]));
+}
\ No newline at end of file