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
#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
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");
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) {
{
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");
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) {
#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;
{
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++) {
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;
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) {
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;
}
#include "media-util-dbg.h"
#include "media-util.h"
+
#include <glib.h>
#include <unistd.h>
+#include <tzplatform_config.h>
#define USER_BAND 5000;
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