#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
-#include <pwd.h>
#include <sys/inotify.h>
#include "contacts.h"
}
}
-static const char* __ctsvc_inotify_get_username(uid_t uid)
-{
- struct passwd pwd;
- struct passwd* pwd_result;
- char tmp[CTSVC_STR_SHORT_LEN];
-
- int ret = getpwuid_r(uid, &pwd, tmp, sizeof(tmp), &pwd_result);
- if (ret != 0 || pwd_result == NULL) {
- ERR("getpwuid_r() fail");
- return "";
- }
-
- return pwd.pw_name;
-}
-
char* ctsvc_inotify_makepath(const char *file)
{
RETV_IF(NULL == file, NULL);
- static int user_name_max = 32;
+ static int user_id_max = 10;
int path_len = 0;
char *path = NULL;
uid_t uid = getuid();
- const char* user_name = NULL;
#ifdef _CONTACTS_IPC_CLIENT
if (ctsvc_client_is_in_system_session()) {
}
#endif
- path_len = strlen(CTSVC_NOTI_PATH) + user_name_max + strlen(file) + 1;
+ path_len = strlen(CTSVC_NOTI_PATH) + user_id_max + strlen(file) + 1;
path = calloc(1, path_len);
if (NULL == path) {
ERR("calloc() fail");
return NULL;
}
- user_name = __ctsvc_inotify_get_username(uid);
- snprintf(path, path_len, CTSVC_NOTI_PATH"/%s", user_name, file);
+ snprintf(path, path_len, CTSVC_NOTI_PATH"/%s", uid, file);
DBG("%s", path);
return path;
}
#define CTS_LOGO_IMAGE_LOCATION tzplatform_mkpath(TZ_USER_DATA, "contacts-svc/img/logo")
#define CTSVC_CONTACT_IMG_FULL_LOCATION tzplatform_mkpath(TZ_USER_DATA, "contacts-svc/img/contact")
-#define CTSVC_NOTI_PATH "/opt/usr/home/%s/data/contacts-svc"
+#define CTSVC_NOTI_PATH "/run/user_ext/%d/contacts-svc"
#define CTSVC_NOTI_IPC_READY ".CONTACTS_SVC_IPC_READY"
#define CTSVC_NOTI_ADDRESSBOOK_CHANGED ".CONTACTS_SVC_AB_CHANGED"
#define CTSVC_NOTI_GROUP_CHANGED ".CONTACTS_SVC_GROUP_CHANGED"
#include "contacts_views.h"
-#define CTSVC_SOCK_PATH "/run/user/%d"
+#define CTSVC_SOCK_PATH "/run/user_ext/%d"
#define CTSVC_IMG_FULL_PATH_SIZE_MAX 1024 /* current max length file path is 256 */
#define CTSVC_PATH_MAX_LEN 1024
#define CTSVC_STR_SHORT_LEN 1024
Name: contacts-service
Summary: Contacts Service
-Version: 0.13.63
+Version: 0.13.64
Release: 0
Group: Social & Content/Service
License: Apache-2.0
fd = creat(path, mode);
if (0 <= fd) {
close(fd);
- chmod(path, 0644);
+ chmod(path, CTS_SECURITY_DEFAULT_PERMISSION);
}
free(path);
}
-/*
+
void __ctsvc_create_noti_rep_set_permission(mode_t mode)
{
char path[CTSVC_PATH_MAX_LEN] = {0};
if (-1 == access(path, F_OK))
mkdir(path, mode);
}
-*/
+
int main(int argc, char *argv[])
{
__ctsvc_create_rep_set_permission(CTS_LOGO_IMAGE_LOCATION, 0750);
__ctsvc_create_rep_set_permission(CTSVC_CONTACT_IMG_FULL_LOCATION, 0750);
- //__ctsvc_create_noti_rep_set_permission(0744);
+ __ctsvc_create_noti_rep_set_permission(0755);
__ctsvc_create_noti_file_set_permission(CTSVC_NOTI_IPC_READY, CTS_SECURITY_DEFAULT_PERMISSION);
__ctsvc_create_noti_file_set_permission(CTSVC_NOTI_ADDRESSBOOK_CHANGED, CTS_SECURITY_DEFAULT_PERMISSION);
__ctsvc_create_noti_file_set_permission(CTSVC_NOTI_GROUP_CHANGED, CTS_SECURITY_DEFAULT_PERMISSION);