// ipc create
if (__contacts_ipc == NULL) {
- __contacts_ipc = pims_ipc_create(CTSVC_IPC_SOCKET_PATH);
+ char sock_file[CTSVC_PATH_MAX_LEN] = {0};
+ snprintf(sock_file, sizeof(sock_file), CTSVC_SOCK_PATH"/.%s", getuid(), CTSVC_IPC_SERVICE);
+ __contacts_ipc = pims_ipc_create(sock_file);
if (__contacts_ipc == NULL) {
if (errno == EACCES) {
CTS_ERR("pims_ipc_create() Failed(%d)", CONTACTS_ERROR_PERMISSION_DENIED);
// ipc create
if (__contacts_global_ipc == NULL) {
- __contacts_global_ipc = pims_ipc_create(CTSVC_IPC_SOCKET_PATH);
+ char sock_file[CTSVC_PATH_MAX_LEN] = {0};
+ snprintf(sock_file, sizeof(sock_file), CTSVC_SOCK_PATH"/.%s", getuid(), CTSVC_IPC_SERVICE);
+ __contacts_global_ipc = pims_ipc_create(sock_file);
if (__contacts_global_ipc == NULL) {
if (errno == EACCES) {
CTS_ERR("[GLOBAL_IPC_CHANNEL] pims_ipc_create() Failed(%d)", CONTACTS_ERROR_PERMISSION_DENIED);
return CONTACTS_ERROR_NONE;
}
+ char sock_file[CTSVC_PATH_MAX_LEN] = {0};
+ snprintf(sock_file, sizeof(sock_file), CTSVC_SOCK_PATH"/%s", getuid(), CTSVC_SOCKET_FILE);
+
bzero(&caddr, sizeof(caddr));
caddr.sun_family = AF_UNIX;
- snprintf(caddr.sun_path, sizeof(caddr.sun_path), "%s", CTSVC_SOCKET_PATH);
+ snprintf(caddr.sun_path, sizeof(caddr.sun_path), "%s", sock_file);
__ctsvc_sockfd = socket(PF_UNIX, SOCK_STREAM, 0);
RETVM_IF(-1 == __ctsvc_sockfd, CONTACTS_ERROR_IPC,
#include "contacts.h"
-#define CTSVC_SOCKET_PATH "/tmp/.contacts-svc.sock"
+#define CTSVC_SOCKET_FILE ".contacts-svc.sock"
#define CTSVC_SOCKET_MSG_SIZE 1024
// for use current contacts-svc-helper daemon
#include "contacts_views.h"
+#define CTSVC_SOCK_PATH "/run/user/%d"
+#define CTSVC_PATH_MAX_LEN 1024
+
#define CTSVC_IMG_FULL_PATH_SIZE_MAX 1024 // current max length file path is 256
#define CTSVC_IMG_FULL_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img")
#define CTSVC_CONTACT_IMG_FULL_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/contact")
static int __server_main(void)
{
int ret;
- pims_ipc_svc_init(CTSVC_IPC_SOCKET_PATH, CTS_SECURITY_FILE_GROUP, 0777);
+
+ char sock_file[CTSVC_PATH_MAX_LEN] = {0};
+ snprintf(sock_file, sizeof(sock_file), CTSVC_SOCK_PATH"/.%s", getuid(), CTSVC_IPC_SERVICE);
+ pims_ipc_svc_init(sock_file, CTS_SECURITY_FILE_GROUP, 0777);
do {
// register handle functions
_ctsvc_server_initialize_cynara();
#endif
- unlink(CTSVC_SOCKET_PATH);
+ char sock_file[CTSVC_PATH_MAX_LEN] = {0};
+ snprintf(sock_file, sizeof(sock_file), CTSVC_SOCK_PATH"/%s", getuid(), CTSVC_SOCKET_FILE);
+ unlink(sock_file);
bzero(&addr, sizeof(addr));
addr.sun_family = AF_UNIX;
- snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", CTSVC_SOCKET_PATH);
+ snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", sock_file);
sockfd = socket(PF_UNIX, SOCK_STREAM, 0);
RETVM_IF(-1 == sockfd, CONTACTS_ERROR_SYSTEM, "socket() Failed(errno = %d)", errno);
ret = bind(sockfd, (struct sockaddr *)&addr, sizeof(addr));
RETVM_IF(-1 == ret, CONTACTS_ERROR_SYSTEM, "bind() Failed(errno = %d)", errno);
- ret = chown(CTSVC_SOCKET_PATH, getuid(), CTS_SECURITY_FILE_GROUP);
+ ret = chown(sock_file, getuid(), CTS_SECURITY_FILE_GROUP);
if (0 != ret)
- CTS_ERR("chown(%s) Failed(%d)", CTSVC_SOCKET_PATH, ret);
+ CTS_ERR("chown(%s) Failed(%d)", sock_file, ret);
- ret = chmod(CTSVC_SOCKET_PATH, CTS_SECURITY_DEFAULT_PERMISSION);
+ ret = chmod(sock_file, CTS_SECURITY_DEFAULT_PERMISSION);
if (0 != ret)
- CTS_ERR("chmod(%s) Failed(%d)", CTSVC_SOCKET_PATH, ret);
+ CTS_ERR("chmod(%s) Failed(%d)", sock_file, ret);
ret = listen(sockfd, 30);
if (-1 == ret) {