enable to make group of read_only book 90/56990/12
authorJeesun Kim <iamjs.kim@samsung.com>
Thu, 14 Jan 2016 07:04:40 +0000 (16:04 +0900)
committerJeesun Kim <iamjs.kim@samsung.com>
Mon, 15 Feb 2016 02:54:07 +0000 (11:54 +0900)
Change-Id: I0f00c1d0982d3a747b13f420a56a13f450ceb16e

24 files changed:
packaging/contacts-service.spec
server/ctsvc_server_group.c
server/db/ctsvc_db_access_control.c
server/db/ctsvc_db_access_control.h
server/db/ctsvc_db_plugin_activity_photo.c
server/db/ctsvc_db_plugin_address.c
server/db/ctsvc_db_plugin_company.c
server/db/ctsvc_db_plugin_contact.c
server/db/ctsvc_db_plugin_contact_helper.c
server/db/ctsvc_db_plugin_email.c
server/db/ctsvc_db_plugin_event.c
server/db/ctsvc_db_plugin_extension.c
server/db/ctsvc_db_plugin_group.c
server/db/ctsvc_db_plugin_image.c
server/db/ctsvc_db_plugin_messenger.c
server/db/ctsvc_db_plugin_my_profile.c
server/db/ctsvc_db_plugin_name.c
server/db/ctsvc_db_plugin_nickname.c
server/db/ctsvc_db_plugin_note.c
server/db/ctsvc_db_plugin_number.c
server/db/ctsvc_db_plugin_profile.c
server/db/ctsvc_db_plugin_relationship.c
server/db/ctsvc_db_plugin_sip.c
server/db/ctsvc_db_plugin_url.c

index 00e9f5d..7bb89ab 100644 (file)
@@ -1,6 +1,6 @@
 Name:       contacts-service
 Summary:    Contacts Service
-Version:    0.13.46
+Version:    0.13.47
 Release:    0
 Group:      Social & Content/Service
 License:    Apache-2.0
index 4e08e91..32f6712 100644 (file)
@@ -118,8 +118,8 @@ int ctsvc_group_add_contact(int group_id, int contact_id)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to get this group record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, true)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -215,8 +215,8 @@ int ctsvc_group_remove_contact(int group_id, int contact_id)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to get this group record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, true)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -273,8 +273,8 @@ int ctsvc_group_set_group_order(int group_id, int previous_group_id, int next_gr
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to get this group record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, true)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
 
index b787cf5..41146b7 100644 (file)
 #include "ctsvc_mutex.h"
 #include "ctsvc_server_service.h"
 
+enum {
+       CTSVC_TYPE_NONE,
+       CTSVC_TYPE_PERMISSION,
+       CTSVC_TYPE_BOOK_READONLY,
+};
+
+typedef struct {
+       int id;
+       int type;
+} ctsvc_writable_info_s;
+
 typedef struct {
        unsigned int thread_id;
        pims_ipc_h ipc;
        char *smack;
-       int *write_list;
-       int write_list_count;
+       GList *writable_list; /* ctsvc_writable_info_s */
 } ctsvc_permission_info_s;
 
 static GList *__thread_list = NULL;
@@ -97,7 +107,6 @@ static void __ctsvc_set_permission_info(ctsvc_permission_info_s *info)
 {
        int ret;
        int count;
-       int write_index;
        cts_stmt stmt;
        char query[CTS_SQL_MAX_LEN] = {0};
        bool smack_enabled = false;
@@ -108,9 +117,8 @@ static void __ctsvc_set_permission_info(ctsvc_permission_info_s *info)
                INFO("SAMCK disabled");
 
        /* white listing : core module */
-       free(info->write_list);
-       info->write_list = NULL;
-       info->write_list_count = 0;
+       g_list_free_full(info->writable_list, free);
+       info->writable_list = NULL;
 
        /* don't have write permission */
        if (!ctsvc_have_permission(info->ipc, CTSVC_PERMISSION_CONTACT_WRITE))
@@ -123,9 +131,6 @@ static void __ctsvc_set_permission_info(ctsvc_permission_info_s *info)
                ERR(" ctsvc_query_get_first_int_result() Fail(%d)", ret);
                return;
        }
-       info->write_list = calloc(count, sizeof(int));
-       RETM_IF(NULL == info->write_list, "calloc() Fail");
-       info->write_list_count = 0;
 
        snprintf(query, sizeof(query),
                        "SELECT addressbook_id, mode, smack_label FROM "CTS_TABLE_ADDRESSBOOKS);
@@ -135,7 +140,7 @@ static void __ctsvc_set_permission_info(ctsvc_permission_info_s *info)
                return;
        }
 
-       write_index = 0;
+       int i = 0;
        while ((ret = ctsvc_stmt_step(stmt))) {
                int id;
                int mode;
@@ -151,20 +156,40 @@ static void __ctsvc_set_permission_info(ctsvc_permission_info_s *info)
                mode = ctsvc_stmt_get_int(stmt, 1);
                temp = ctsvc_stmt_get_text(stmt, 2);
 
-               if (!smack_enabled) /* smack disabled */
-                       info->write_list[write_index++] = id;
-               else if (NULL == info->ipc) /* contacts-service daemon */
-                       info->write_list[write_index++] = id;
-               else if (info->smack && temp && STRING_EQUAL == strcmp(temp, info->smack))/* owner */
-                       info->write_list[write_index++] = id;
-               else if (CONTACTS_ADDRESS_BOOK_MODE_NONE == mode)
-                       info->write_list[write_index++] = id;
+               ctsvc_writable_info_s *wi = calloc(1, sizeof(ctsvc_writable_info_s));
+               if (NULL == wi) {
+                       ERR("calloc() Fail");
+                       break;
+               }
+
+               if (!smack_enabled) { /* smack disabled */
+                       wi->id = id;
+                       wi->type = CTSVC_TYPE_PERMISSION;
+               } else if (NULL == info->ipc) { /* contacts-service daemon */
+                       wi->id = id;
+                       wi->type = CTSVC_TYPE_PERMISSION;
+               } else if (info->smack && temp && STRING_EQUAL == strcmp(temp, info->smack)) { /* owner */
+                       wi->id = id;
+                       wi->type = CTSVC_TYPE_PERMISSION;
+               } else if (CONTACTS_ADDRESS_BOOK_MODE_NONE == mode) {
+                       wi->id = id;
+                       wi->type = CTSVC_TYPE_PERMISSION;
+               } else if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == mode) {
+                       wi->id = id;
+                       wi->type = CTSVC_TYPE_BOOK_READONLY;
+               } else {
+                       DBG("Unable to check permission");
+               }
+
+               if (wi->type == CTSVC_TYPE_NONE)
+                       free(wi);
+               else
+                       info->writable_list = g_list_append(info->writable_list, wi);
        }
-       info->write_list_count = write_index;
        ctsvc_stmt_finalize(stmt);
 }
 
-void ctsvc_unset_client_access_info()
+void ctsvc_unset_client_access_info(void)
 {
        ctsvc_permission_info_s *find = NULL;
 
@@ -172,7 +197,7 @@ void ctsvc_unset_client_access_info()
        find = __ctsvc_find_access_info(pthread_self());
        if (find) {
                free(find->smack);
-               free(find->write_list);
+               g_list_free_full(find->writable_list, free);
                __thread_list = g_list_remove(__thread_list, find);
                free(find);
        }
@@ -192,7 +217,7 @@ static void __ctsvc_client_disconnected_cb(pims_ipc_h ipc, void *user_data)
        if (info) {
                INFO("Thread(0x%x), info(%p)", info->thread_id, info);
                free(info->smack);
-               free(info->write_list);
+               g_list_free_full(info->writable_list, free);
                __thread_list = g_list_remove(__thread_list, info);
                free(info);
        }
@@ -282,9 +307,8 @@ bool ctsvc_have_permission(pims_ipc_h ipc, int permission)
        return true;
 }
 
-bool ctsvc_have_ab_write_permission(int addressbook_id)
+bool ctsvc_have_ab_write_permission(int addressbook_id, bool allow_readonly)
 {
-       int i;
        unsigned int thread_id;
        ctsvc_permission_info_s *find = NULL;
 
@@ -301,17 +325,26 @@ bool ctsvc_have_ab_write_permission(int addressbook_id)
                return false;
        }
 
-       if (NULL == find->write_list) {
+       if (NULL == find->writable_list) {
                ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
                ERR("there is no write access info");
                return false;
        }
 
-       for (i = 0; i < find->write_list_count; i++) {
-               if (addressbook_id == find->write_list[i]) {
+       GList *cursor = find->writable_list;
+       while (cursor) {
+               ctsvc_writable_info_s *wi = cursor->data;
+               if (NULL == wi) {
+                       cursor = g_list_next(cursor);
+                       continue;
+               }
+               if (addressbook_id == wi->id) {
                        ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
+                       if (CTSVC_TYPE_BOOK_READONLY == wi->type)
+                               return allow_readonly;
                        return true;
                }
+               cursor = g_list_next(cursor);
        }
 
        ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
@@ -329,31 +362,51 @@ int ctsvc_get_write_permitted_addressbook_ids(int **addressbook_ids, int *count)
        ctsvc_mutex_lock(CTS_MUTEX_ACCESS_CONTROL);
        thread_id = (unsigned int)pthread_self();
        find = __ctsvc_find_access_info(thread_id);
-       if (find) {
-               if (find->write_list && 0 < find->write_list_count) {
-                       int size = find->write_list_count * sizeof(int);
-                       int *list = calloc(1, size);
-                       if (NULL == list) {
-                               ERR("Thread(0x%x), calloc() Fail", thread_id);
-                               ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
-                               return CONTACTS_ERROR_OUT_OF_MEMORY;
-                       }
-
-                       memcpy(list, find->write_list, size);
-                       *count = find->write_list_count;
-                       *addressbook_ids = list;
-                       ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
-                       return CONTACTS_ERROR_NONE;
-               }
+       if (NULL == find) {
+               ERR("__ctsvc_find_access_info() Fail");
                ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
 
+       if (NULL == find->writable_list) {
+               ERR("No permission info");
+               ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
+               return CONTACTS_ERROR_PERMISSION_DENIED;
+       }
+
+       int book_count = g_list_length(find->writable_list);
+       int *book_ids = calloc(book_count, sizeof(int));
+       if (NULL == book_ids) {
+               ERR("Thread(0x%x), calloc() Fail", thread_id);
+               ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
+               return CONTACTS_ERROR_OUT_OF_MEMORY;
+       }
+       int i = 0;
+       GList *cursor = find->writable_list;
+       while (cursor) {
+               ctsvc_writable_info_s *wi = cursor->data;
+               if (NULL == wi) {
+                       cursor = g_list_next(cursor);
+                       continue;
+               }
+               if (CTSVC_TYPE_BOOK_READONLY == wi->type) {
+                       cursor = g_list_next(cursor);
+                       continue;
+               }
+               book_ids[i] = wi->id;
+               i++;
+
+               cursor = g_list_next(cursor);
+       }
+
+       *count = i;
+       *addressbook_ids = book_ids;
+
        ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
-       return CONTACTS_ERROR_INTERNAL;
+       return CONTACTS_ERROR_NONE;
 }
 
-char* ctsvc_get_client_smack_label()
+char* ctsvc_get_client_smack_label(void)
 {
        ctsvc_permission_info_s *find = NULL;
        char *smack = NULL;
index 8825008..9493a2c 100644 (file)
@@ -38,7 +38,7 @@ void ctsvc_reset_all_client_access_info(void);
 char* ctsvc_get_client_smack_label(void);
 
 int ctsvc_get_write_permitted_addressbook_ids(int **addressbook_ids, int *count);
-bool ctsvc_have_ab_write_permission(int addressbook_id);
+bool ctsvc_have_ab_write_permission(int addressbook_id, bool allow_readonly);
 int ctsvc_is_owner(int addressbook_id);
 
 
index ff9ce59..af672ac 100644 (file)
@@ -60,8 +60,8 @@ static int __ctsvc_db_activity_photo_insert_record(contacts_record_h record, int
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to insert this activity_photo record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -141,8 +141,8 @@ static int __ctsvc_db_activity_photo_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this activity_photo record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -184,8 +184,8 @@ static int __ctsvc_db_activity_photo_delete_record(int id)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this activity_photo record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index b275e0e..15fa25a 100644 (file)
@@ -63,8 +63,8 @@ static int __ctsvc_db_address_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this address record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -117,8 +117,8 @@ static int __ctsvc_db_address_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this address record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -180,8 +180,9 @@ static int __ctsvc_db_address_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this address record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
+               ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
 
index a0eae4d..f00cd32 100644 (file)
@@ -101,8 +101,8 @@ static int __ctsvc_db_company_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this company record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -160,8 +160,8 @@ static int __ctsvc_db_company_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this company record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -231,8 +231,8 @@ static int __ctsvc_db_company_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this company record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index da7852e..538f2fd 100644 (file)
@@ -1194,8 +1194,8 @@ static int __ctsvc_db_contact_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(contact->addressbook_id)) {
-               ERR("Does not have permission to update this contact");
+       if (false == ctsvc_have_ab_write_permission(contact->addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", contact->addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -2030,9 +2030,8 @@ static int __ctsvc_db_contact_insert_record(contacts_record_h record, int *id)
        ret = ctsvc_begin_trans();
        RETVM_IF(ret < CONTACTS_ERROR_NONE, ret, "ctsvc_begin_trans() Fail(%d)", ret);
 
-       if (false == ctsvc_have_ab_write_permission(contact->addressbook_id)) {
-               ERR("ctsvc_have_ab_write_permission Fail: does not have permission(addressbook_id : %d)",
-                               contact->addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(contact->addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", contact->addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -2270,8 +2269,8 @@ static int __ctsvc_db_contact_replace_record(contacts_record_h record, int conta
        person_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("ctsvc_have_ab_write_permission(%d) Fail", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 8731a07..8f449ff 100644 (file)
@@ -261,8 +261,8 @@ int ctsvc_db_contact_delete(int contact_id)
        ctsvc_stmt_finalize(stmt);
        stmt = NULL;
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this contact");
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index e4947ff..9b63b45 100644 (file)
@@ -172,8 +172,8 @@ static int __ctsvc_db_email_insert_record(contacts_record_h record, int *id)
        person_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this email record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -284,8 +284,8 @@ static int __ctsvc_db_email_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this email record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -367,8 +367,8 @@ static int __ctsvc_db_email_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 2);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this email record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 6272237..4370450 100644 (file)
@@ -61,8 +61,8 @@ static int __ctsvc_db_event_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this event record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -149,8 +149,8 @@ static int __ctsvc_db_event_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this event record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -218,8 +218,8 @@ static int __ctsvc_db_event_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this event record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 4e98824..0c06908 100644 (file)
@@ -64,8 +64,8 @@ static int __ctsvc_db_extension_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this extension record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -158,8 +158,8 @@ static int __ctsvc_db_extension_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this extension record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -226,8 +226,8 @@ static int __ctsvc_db_extension_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this extension record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 531b842..c7b270e 100644 (file)
@@ -71,9 +71,8 @@ static int __ctsvc_db_group_insert_record(contacts_record_h record, int *id)
        ret = ctsvc_begin_trans();
        RETVM_IF(ret < CONTACTS_ERROR_NONE, ret,  "ctsvc_begin_trans() Fail(%d)", ret);
 
-       if (false == ctsvc_have_ab_write_permission(group->addressbook_id)) {
-               ERR("ctsvc_have_ab_write_permission Fail: does not have permission(addressbook_id : %d)",
-                               group->addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(group->addressbook_id, true)) {
+               ERR("No permission in this addresbook_id(%d)", group->addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -218,9 +217,8 @@ static int __ctsvc_db_group_update_record(contacts_record_h record)
                return CONTACTS_ERROR_INVALID_PARAMETER;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("ctsvc_have_ab_write_permission Fail: does not have permission(addressbook_id : %d, group_id : %d)",
-                               addressbook_id, group->id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, true)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                free(image);
                return CONTACTS_ERROR_PERMISSION_DENIED;
@@ -360,9 +358,8 @@ static int __ctsvc_db_group_delete_record(int id)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("ctsvc_have_ab_write_permission Fail: does not have permission(addressbook_id : %d, group_id : %d)",
-                               addressbook_id, id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, true)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 1bca792..6ad06c8 100644 (file)
@@ -192,8 +192,8 @@ static int __ctsvc_db_image_insert_record(contacts_record_h record, int *id)
        person_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this image record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -328,8 +328,8 @@ static int __ctsvc_db_image_update_record(contacts_record_h record)
        person_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this image record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -426,8 +426,8 @@ static int __ctsvc_db_image_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 2);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this image record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 7377e6d..2302c90 100644 (file)
@@ -60,8 +60,8 @@ static int __ctsvc_db_messenger_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this messenger record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -149,8 +149,8 @@ static int __ctsvc_db_messenger_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this messenger record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -217,8 +217,8 @@ static int __ctsvc_db_messenger_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this messenger record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index c8e5978..0931a08 100644 (file)
@@ -220,8 +220,8 @@ static int __ctsvc_db_my_profile_delete_record(int id)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this contact");
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -679,9 +679,8 @@ static int __ctsvc_db_my_profile_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(my_profile->addressbook_id)) {
-               ERR("ctsvc_have_ab_write_permission Fail: does not have permission(addressbook_id : %d)",
-                               my_profile->addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(my_profile->addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", my_profile->addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -1127,9 +1126,8 @@ static int __ctsvc_db_my_profile_insert_record(contacts_record_h record, int *id
        ret = ctsvc_begin_trans();
        RETVM_IF(ret < CONTACTS_ERROR_NONE, ret, "ctsvc_begin_trans() Fail(%d)", ret);
 
-       if (false == ctsvc_have_ab_write_permission(my_profile->addressbook_id)) {
-               ERR("ctsvc_have_ab_write_permission Fail: does not have permission(addressbook_id : %d)",
-                               my_profile->addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(my_profile->addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", my_profile->addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index b11bada..4782dd7 100644 (file)
@@ -60,8 +60,8 @@ static int __ctsvc_db_name_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this name record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -163,8 +163,8 @@ static int __ctsvc_db_name_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this name record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -234,8 +234,8 @@ static int __ctsvc_db_name_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this name record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 4992764..8560ea3 100644 (file)
@@ -60,8 +60,8 @@ static int __ctsvc_db_nickname_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this nickname record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -151,8 +151,8 @@ static int __ctsvc_db_nickname_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this nickname record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -222,8 +222,8 @@ static int __ctsvc_db_nickname_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this nickname record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 3715139..730a04b 100644 (file)
@@ -95,8 +95,8 @@ static int __ctsvc_db_note_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this note record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -149,8 +149,8 @@ static int __ctsvc_db_note_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this note record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -219,8 +219,8 @@ static int __ctsvc_db_note_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this note record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 942c85c..e098805 100644 (file)
@@ -175,8 +175,8 @@ static int __ctsvc_db_number_insert_record(contacts_record_h record, int *id)
        person_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this number record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -279,8 +279,8 @@ static int __ctsvc_db_number_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this number record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -363,8 +363,8 @@ static int __ctsvc_db_number_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 2);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this number record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 64a20d0..1116c87 100644 (file)
@@ -61,8 +61,8 @@ static int __ctsvc_db_profile_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this profile record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -151,8 +151,8 @@ static int __ctsvc_db_profile_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this profile record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -219,8 +219,8 @@ static int __ctsvc_db_profile_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this profile record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 0eaa1cd..91071d3 100644 (file)
@@ -60,8 +60,8 @@ static int __ctsvc_db_relationship_insert_record(contacts_record_h record, int *
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this relationship record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -149,8 +149,8 @@ static int __ctsvc_db_relationship_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this relationship record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -217,8 +217,8 @@ static int __ctsvc_db_relationship_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this relationship record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 09b37f1..0870be8 100644 (file)
@@ -83,8 +83,8 @@ static int __ctsvc_db_sip_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this sip record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -171,8 +171,8 @@ static int __ctsvc_db_sip_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this sip record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -240,8 +240,8 @@ static int __ctsvc_db_sip_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this sip record : addresbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
index 11b8f30..c70f8b0 100644 (file)
@@ -60,8 +60,8 @@ static int __ctsvc_db_url_insert_record(contacts_record_h record, int *id)
                }
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this url record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -149,8 +149,8 @@ static int __ctsvc_db_url_update_record(contacts_record_h record)
                return ret;
        }
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to update this url record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }
@@ -217,8 +217,8 @@ static int __ctsvc_db_url_delete_record(int id)
        addressbook_id = ctsvc_stmt_get_int(stmt, 1);
        ctsvc_stmt_finalize(stmt);
 
-       if (false == ctsvc_have_ab_write_permission(addressbook_id)) {
-               ERR("Does not have permission to delete this url record : addressbook_id(%d)", addressbook_id);
+       if (false == ctsvc_have_ab_write_permission(addressbook_id, false)) {
+               ERR("No permission in this addresbook_id(%d)", addressbook_id);
                ctsvc_end_trans(false);
                return CONTACTS_ERROR_PERMISSION_DENIED;
        }