#include "cal_record.h"
#include "cal_list.h"
#include "cal_mutex.h"
-
#include "cal_ipc.h"
#include "cal_ipc_marshal.h"
-
#include "cal_client_ipc.h"
#include "cal_client_reminder.h"
_cal_mutex_lock(CAL_MUTEX_CONNECTION);
// ipc create
if (calendar_ipc == NULL) {
- ipc_handle = pims_ipc_create(CAL_IPC_SOCKET_PATH);
+ char sock_file[CAL_PATH_MAX_LEN] = {0};
+ snprintf(sock_file, sizeof(sock_file), CAL_SOCK_PATH"/.%s", getuid(), CAL_IPC_SERVICE);
+ ipc_handle = pims_ipc_create(sock_file);
if (ipc_handle == NULL) {
if (errno == EACCES) {
ERR("pims_ipc_create() Failed : Permission denied");
// ipc create
if (calendar_ipc_thread == NULL) {
- calendar_ipc_thread = pims_ipc_create(CAL_IPC_SOCKET_PATH);
+ char sock_file[CAL_PATH_MAX_LEN] = {0};
+ snprintf(sock_file, sizeof(sock_file), CAL_SOCK_PATH"/.%s", getuid(), CAL_IPC_SERVICE);
+ calendar_ipc_thread = pims_ipc_create(sock_file);
if (calendar_ipc_thread == NULL) {
if (errno == EACCES) {
ERR("pims_ipc_create() Failed(%d)", CALENDAR_ERROR_PERMISSION_DENIED);
#include <tzplatform_config.h>
#define CAL_TZID_GMT "Etc/GMT"
+#define CAL_SOCK_PATH "/run/user/%d"
#define CAL_NOTI_EVENT_CHANGED tzplatform_mkpath(TZ_USER_DATA,"calendar-svc/.CALENDAR_SVC_EVENT_CHANGED")
#define CAL_NOTI_TODO_CHANGED tzplatform_mkpath(TZ_USER_DATA,"calendar-svc/.CALENDAR_SVC_TODO_CHANGED")
#define CAL_NOTI_CALENDAR_CHANGED tzplatform_mkpath(TZ_USER_DATA,"calendar-svc/.CALENDAR_SVC_CALENDAR_CHANGED")
#define CAL_NOTI_REMINDER_CAHNGED "reminder"
#define CAL_FORMAT_LOCAL_DATETIME "%04d-%02d-%02dT%02d:%02d:%02d"
+#define CAL_PATH_MAX_LEN 1024
/**
* @enum cal_priority_e
while (CAL_DB_ROW == _cal_db_util_stmt_step(stmt)) {
int id = sqlite3_column_int(stmt, 0);
int mode = sqlite3_column_int(stmt, 1);
- char temp = (char *)sqlite3_column_text(stmt, 2);
+ char *temp = (char *)sqlite3_column_text(stmt, 2);
if (!smack_enabled) // smack disabled
info->write_list[write_index++] = id;
#include "calendar_view.h"
#include "calendar_list.h"
-#define CAL_DB_PATH tzplatform_mkpath(TZ_USER_DB, ".calendar-svc.db")
-#define CAL_DB_JOURNAL_PATH tzplatform_mkpath(TZ_USER_DB, ".calendar-svc.db-journal")
+#define CALS_DB_NAME ".calendar-svc.db"
+#define CALS_JN_NAME ".calendar-svc.db-journal"
+#define DB_PATH tzplatform_getenv(TZ_USER_DB)
+#define DATA_PATH tzplatform_getenv(TZ_USER_DATA)
+#define CAL_DB_FILE tzplatform_mkpath(TZ_USER_DB, ".calendar-svc.db")
+#define CAL_JN_FILE tzplatform_mkpath(TZ_USER_DB, ".calendar-svc.db-journal")
+#define CAL_DATA_PATH tzplatform_mkpath(TZ_USER_DATA,"calendar-svc")
// For Security
#define CAL_SECURITY_FILE_GROUP 5000
#include "cal_internal.h"
#include "cal_typedef.h"
#include "cal_db.h"
-
#include "cal_db_util.h"
-#define DB_PATH tzplatform_getenv(TZ_USER_DB)
-#define DATA_PATH tzplatform_getenv(TZ_USER_DATA)
-#define CAL_DATA_PATH tzplatform_mkpath(TZ_USER_DATA,"calendar-svc")
// For Security
#define CALS_SECURITY_FILE_GROUP 6003
-#define CALS_SECURITY_DEFAULT_PERMISSION 0660
static TLS sqlite3 *calendar_db_handle;
static TLS int transaction_cnt = 0;
static inline int create_noti_file(const char* noti_file)
{
int fd, ret;
- fd = creat(noti_file, CALS_SECURITY_DEFAULT_PERMISSION);
+ fd = creat(noti_file, CAL_SECURITY_DEFAULT_PERMISSION);
if (-1 == fd)
{
printf("open Failed\n");
{
mkdir(DB_PATH, 755);
}
- if (-1 == access (CAL_DB_PATH, F_OK))
+ if (-1 == access (CAL_DB_FILE, F_OK))
{
mkdir(DB_PATH, 755);
}
- ret = db_util_open(CAL_DB_PATH, &calendar_db_handle, 0);
+ ret = db_util_open(CAL_DB_FILE, &calendar_db_handle, 0);
retvm_if(SQLITE_OK != ret, CALENDAR_ERROR_DB_FAILED,
"db_util_open() Failed(%d).", ret);
}
int _cal_db_util_begin_trans(void);
int _cal_db_util_end_trans(bool is_success);
-
int _cal_db_util_get_next_ver(void);
-
int _cal_db_util_get_transaction_ver(void);
-
void cal_db_util_set_permission(int fd);
#endif //__CALENDAR_SVC_DB_UTIL_H__
Requires(post): /usr/bin/sqlite3, /bin/chown
Requires(post): contacts-service2
Requires(postun): /sbin/ldconfig
-Requires: sys-assert
BuildRequires: cmake
BuildRequires: pkgconfig(db-util)
int try_count = 0;
g_type_init();
- pims_ipc_svc_init(CAL_IPC_SOCKET_PATH,CAL_SECURITY_FILE_GROUP, 0777);
+ char sock_file[CAL_PATH_MAX_LEN] = {0};
+ snprintf(sock_file, sizeof(sock_file), CAL_SOCK_PATH"/.%s", getuid(), CAL_IPC_SERVICE);
+ pims_ipc_svc_init(sock_file,CAL_SECURITY_FILE_GROUP, 0777);
if (pims_ipc_svc_register(CAL_IPC_MODULE, CAL_IPC_SERVER_CONNECT, _cal_server_ipc_connect, NULL) != 0)
{
//loop = g_main_loop_new(NULL, FALSE);
//calendar_alarm_init();
-
+/*
ret = contacts_connect();
if (CONTACTS_ERROR_NONE != ret)
{
DBG("contacts connected");
on_contact = 1;
}
-
+*/
ret = calendar_connect();
if (CALENDAR_ERROR_NONE != ret)
{
if (on_contact)
{
- ret = _cal_server_contacts();
+/* ret = _cal_server_contacts();
if (CALENDAR_ERROR_NONE != ret)
{
contacts_disconnect();
}
_cal_server_contacts_sync_start();
- }
+*/ }
// access_control
_cal_access_control_set_client_info(NULL, NULL);
{
if (on_contact)
{
- contacts_disconnect();
+// contacts_disconnect();
}
ERR("_cal_server_alarm() failed");
- return -1;
+// return -1;
}
_cal_server_calendar_delete_start();
_cal_inotify_finalize();
calendar_disconnect();
- contacts_disconnect();
+// contacts_disconnect();
on_contact = 0;
if (cal_account_h)
#include <sys/time.h>
#include <unistd.h>
-
#include <alarm.h>
#include <vconf.h>
#include <app.h>
#include <db-util.h>
#include "cal_internal.h"
+#include "cal_typedef.h"
+#include "cal_db.h"
#include "schema.h"
-#define CALS_DB_NAME ".calendar-svc.db"
-#define CALS_DB_JOURNAL_NAME ".calendar-svc.db-journal"
-#define CALS_DB_PATH "/opt/usr/dbspace/"CALS_DB_NAME
-#define CALS_DB_JOURNAL_PATH "/opt/usr/dbspace/"CALS_DB_JOURNAL_NAME
-
-// For Security
-#define CALS_SECURITY_FILE_GROUP 5000
-#define CALS_SECURITY_DEFAULT_PERMISSION 0660
-#define CALS_SECURITY_DIR_DEFAULT_PERMISSION 0770
-
static inline int __remake_db_file(char* db_path)
{
int ret, fd;
char *errmsg;
sqlite3 *db;
- char db_file[256]={0,};
- char db_journal_file[256]={0,};
+ char db_file[CAL_PATH_MAX_LEN]={0};
+ char jn_file[CAL_PATH_MAX_LEN]={0};
- if(db_path == NULL)
- {
- snprintf(db_file,sizeof(db_file),CALS_DB_PATH);
- snprintf(db_journal_file,sizeof(db_journal_file),CALS_DB_JOURNAL_PATH);
- }
- else
- {
- snprintf(db_file,sizeof(db_file),"%s%s",db_path, CALS_DB_NAME);
- snprintf(db_journal_file,sizeof(db_journal_file),"%s%s", db_path, CALS_DB_JOURNAL_NAME);
- }
+ snprintf(db_file, sizeof(db_file), "%s/%s", db_path ? db_path : DB_PATH, CALS_DB_NAME);
ret = db_util_open(db_file, &db, 0);
-
- if (SQLITE_OK != ret)
- {
+ if (SQLITE_OK != ret) {
ERR("db_util_open() Failed(%d) ", ret);
return -1;
}
ERR("remake calendar DB file is Failed : %s ", errmsg);
sqlite3_free(errmsg);
}
-
db_util_close(db);
fd = open(db_file, O_CREAT | O_RDWR, 0660);
- if (-1 == fd)
- {
+ if (-1 == fd) {
ERR("open Failed ");
return -1;
}
- ret = fchown(fd, getuid(), CALS_SECURITY_FILE_GROUP);
- if (-1 == ret)
- {
+ ret = fchown(fd, getuid(), CAL_SECURITY_FILE_GROUP);
+ if (-1 == ret) {
ERR("Failed to fchown ");
close(fd);
return -1;
}
- fchmod(fd, CALS_SECURITY_DEFAULT_PERMISSION);
+ fchmod(fd, CAL_SECURITY_DEFAULT_PERMISSION);
close(fd);
- fd = open(db_journal_file, O_CREAT | O_RDWR, 0660);
+ snprintf(jn_file, sizeof(jn_file), "%s/%s", db_path ? db_path : DB_PATH, CALS_JN_NAME);
+ DBG("[%s]", jn_file);
- if (-1 == fd)
- {
+ fd = open(jn_file, O_CREAT | O_RDWR, 0660);
+ if (-1 == fd) {
ERR("open Failed ");
return -1;
}
- ret = fchown(fd, getuid(), CALS_SECURITY_FILE_GROUP);
- if (-1 == ret)
- {
+ ret = fchown(fd, getuid(), CAL_SECURITY_FILE_GROUP);
+ if (-1 == ret) {
ERR("Failed to fchown ");
close(fd);
return -1;
}
- fchmod(fd, CALS_SECURITY_DEFAULT_PERMISSION);
+ fchmod(fd, CAL_SECURITY_DEFAULT_PERMISSION);
close(fd);
return 0;
static inline int __check_db_file(char* db_path)
{
int fd = -1;
-
- char db_file[256]={0,};
- if(db_path == NULL)
- {
- snprintf(db_file,sizeof(db_file),CALS_DB_PATH);
- }
- else
- {
- snprintf(db_file,sizeof(db_file),"%s%s",db_path, CALS_DB_NAME);
- }
+ char db_file[CAL_PATH_MAX_LEN]={0,};
+ snprintf(db_file, sizeof(db_file), "%s/%s", db_path ? db_path : DB_PATH, CALS_DB_NAME);
+ DBG("[%s]", db_file);
fd = open(db_file, O_RDONLY);
- if (fd < 0)
- {
+ if (fd < 0) {
ERR("DB file(%s) is not exist(err:%d) ", db_file, fd);
return -1;
}
sqlite3_finalize(stmt);
return CALENDAR_ERROR_DB_FAILED;
}
- if (version) *version = (int)sqlite3_column_int(stmt, 0);
+ if (version)
+ *version = (int)sqlite3_column_int(stmt, 0);
sqlite3_finalize(stmt);
return CALENDAR_ERROR_NONE;
}
sqlite3 *__db;
char query[CAL_DB_SQL_MAX_LEN] = {0};
- ret = db_util_open(CAL_DB_PATH, &__db, 0);
- if (SQLITE_OK != ret)
- {
- ERR("db_util_open() failed");
+ char db_file[256] = {0};
+ snprintf(db_file, sizeof(db_file), "%s/%s", DB_PATH, CALS_DB_NAME);
+ ret = db_util_open(db_file, &__db, 0);
+ if (SQLITE_OK != ret) {
+ ERR("db_util_open() fail(%d):[%s]", ret, db_file);
return CALENDAR_ERROR_DB_FAILED;
}
__cal_server_update_get_db_version(__db, &old_version);
- DBG("old version(%d)", old_version);
+ DBG("[%s] old version(%d)", db_file, old_version);
if (old_version < 100)
{