Please, see the attached patches. Best Regards, -- Fabiano Fidêncio
From 6985f8c5ac2491829af99d71b2ecb7926a38fe26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com> Date: Wed, 25 May 2016 20:16:58 +0200 Subject: [PATCH 1/4] sysdb: move add_string() convenience to sysdb.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
Considering that sysdb.c is about utilities around our cache and that sysdb_ops.c is about operations on objects, seems that add_string() could fit better in sysdb.c. This move is a suggestion from Jakub Hrozek. Related: https://fedorahosted.org/sssd/ticket/1656 Signed-off-by: Fabiano Fidêncio <fabi...@fidencio.org> --- src/db/sysdb.c | 13 +++++++++++++ src/db/sysdb_ops.c | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/db/sysdb.c b/src/db/sysdb.c index d4366a3c76f114bf113567754a1e0417afe664e3..f83d236c8e2d66d9e1ce03f84ec95dbd7c858213 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -2111,3 +2111,16 @@ done: *_usn = usn; return EOK; } + +int add_string(struct ldb_message *msg, int flags, + const char *attr, const char *value) +{ + int ret; + + ret = ldb_msg_add_empty(msg, attr, flags, NULL); + if (ret == LDB_SUCCESS) { + ret = ldb_msg_add_string(msg, attr, value); + if (ret == LDB_SUCCESS) return EOK; + } + return ENOMEM; +} diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 843251b3e87a697a0f9e8cb2bb2d83be0150a474..1a93956b02078dd1b67fb3b49a18ef54d9e76fb0 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -27,19 +27,6 @@ #include "util/cert.h" #include <time.h> -int add_string(struct ldb_message *msg, int flags, - const char *attr, const char *value) -{ - int ret; - - ret = ldb_msg_add_empty(msg, attr, flags, NULL); - if (ret == LDB_SUCCESS) { - ret = ldb_msg_add_string(msg, attr, value); - if (ret == LDB_SUCCESS) return EOK; - } - return ENOMEM; -} - int add_ulong(struct ldb_message *msg, int flags, const char *attr, unsigned long value) { -- 2.7.4
From fbb071581f0b90ffe85499d46641038e8b55ccaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com> Date: Wed, 25 May 2016 21:12:18 +0200 Subject: [PATCH 2/4] sysdb: add sysdb_{add,replace,delete}_string() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As the add_string() convenience can add, replace or delete a string according to the operation received as its argument, some confusion can easily happen due to its misleading name. In order to improve the explicitness of our code, let's introduce sysdb_add_string(), sysdb_replace_string() and sysdb_delete_string(). These new functions are basically wrappers of add_string() (now sysdb_ldb_msg_string_helper()), calling it using the proper flag according to each function. Any code previously using add_string() is now adapted to use these brand new functions. Resolves: https://fedorahosted.org/sssd/ticket/1656 Signed-off-by: Fabiano Fidêncio <fabi...@fidencio.org> --- src/db/sysdb.c | 22 ++++++++++++++++++++-- src/db/sysdb_ops.c | 30 ++++++++++++++---------------- src/db/sysdb_private.h | 8 ++++++-- src/db/sysdb_ranges.c | 19 ++++++++----------- src/db/sysdb_services.c | 9 +++------ 5 files changed, 51 insertions(+), 37 deletions(-) diff --git a/src/db/sysdb.c b/src/db/sysdb.c index f83d236c8e2d66d9e1ce03f84ec95dbd7c858213..81223ad7463c8b961ce6011d90b97172bb402814 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -2112,8 +2112,8 @@ done: return EOK; } -int add_string(struct ldb_message *msg, int flags, - const char *attr, const char *value) +static int sysdb_ldb_msg_string_helper(struct ldb_message *msg, int flags, + const char *attr, const char *value) { int ret; @@ -2124,3 +2124,21 @@ int add_string(struct ldb_message *msg, int flags, } return ENOMEM; } + +int sysdb_add_string(struct ldb_message *msg, + const char *attr, const char *value) +{ + return sysdb_ldb_msg_string_helper(msg, LDB_FLAG_MOD_ADD, attr, value); +} + +int sysdb_replace_string(struct ldb_message *msg, + const char *attr, const char *value) +{ + return sysdb_ldb_msg_string_helper(msg, LDB_FLAG_MOD_REPLACE, attr, value); +} + +int sysdb_delete_string(struct ldb_message *msg, + const char *attr, const char *value) +{ + return sysdb_ldb_msg_string_helper(msg, LDB_FLAG_MOD_DELETE, attr, value); +} diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 1a93956b02078dd1b67fb3b49a18ef54d9e76fb0..62378b39cd9b4548aa49024eba586305519fb2c9 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -1037,10 +1037,10 @@ int sysdb_add_basic_user(struct sss_domain_info *domain, ERROR_OUT(ret, ENOMEM, done); } - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_OBJECTCLASS, SYSDB_USER_CLASS); + ret = sysdb_add_string(msg, SYSDB_OBJECTCLASS, SYSDB_USER_CLASS); if (ret) goto done; - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_NAME, name); + ret = sysdb_add_string(msg, SYSDB_NAME, name); if (ret) goto done; ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_UIDNUM, (unsigned long)uid); @@ -1054,19 +1054,19 @@ int sysdb_add_basic_user(struct sss_domain_info *domain, * admins to decide if they want to keep it in sync if they change * one of the 2 */ if (gecos && *gecos) { - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_FULLNAME, gecos); + ret = sysdb_add_string(msg, SYSDB_FULLNAME, gecos); if (ret) goto done; - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_GECOS, gecos); + ret = sysdb_add_string(msg, SYSDB_GECOS, gecos); if (ret) goto done; } if (homedir && *homedir) { - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_HOMEDIR, homedir); + ret = sysdb_add_string(msg, SYSDB_HOMEDIR, homedir); if (ret) goto done; } if (shell && *shell) { - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_SHELL, shell); + ret = sysdb_add_string(msg, SYSDB_SHELL, shell); if (ret) goto done; } @@ -1137,11 +1137,11 @@ sysdb_remove_ghost_from_group(struct sss_domain_info *dom, } if (add_member) { - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_MEMBER, userdn); + ret = sysdb_add_string(msg, SYSDB_MEMBER, userdn); if (ret) goto done; } - ret = add_string(msg, LDB_FLAG_MOD_DELETE, SYSDB_GHOST, name); + ret = sysdb_delete_string(msg, SYSDB_GHOST, name); if (ret) goto done; /* Delete aliases from the ghost attribute as well */ @@ -1452,10 +1452,10 @@ int sysdb_add_basic_group(struct sss_domain_info *domain, ERROR_OUT(ret, ENOMEM, done); } - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_OBJECTCLASS, SYSDB_GROUP_CLASS); + ret = sysdb_add_string(msg, SYSDB_OBJECTCLASS, SYSDB_GROUP_CLASS); if (ret) goto done; - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_NAME, name); + ret = sysdb_add_string(msg, SYSDB_NAME, name); if (ret) goto done; ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_GIDNUM, (unsigned long)gid); @@ -1765,16 +1765,14 @@ int sysdb_add_basic_netgroup(struct sss_domain_info *domain, ERROR_OUT(ret, ENOMEM, done); } - ret = add_string(msg, LDB_FLAG_MOD_ADD, - SYSDB_OBJECTCLASS, SYSDB_NETGROUP_CLASS); + ret = sysdb_add_string(msg, SYSDB_OBJECTCLASS, SYSDB_NETGROUP_CLASS); if (ret) goto done; - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_NAME, name); + ret = sysdb_add_string(msg, SYSDB_NAME, name); if (ret) goto done; if (description && *description) { - ret = add_string(msg, LDB_FLAG_MOD_ADD, - SYSDB_DESCRIPTION, description); + ret = sysdb_add_string(msg, SYSDB_DESCRIPTION, description); if (ret) goto done; } @@ -2794,7 +2792,7 @@ int sysdb_delete_user(struct sss_domain_info *domain, msg->dn = msgs[i]->dn; - ret = add_string(msg, LDB_FLAG_MOD_DELETE, SYSDB_GHOST, name); + ret = sysdb_delete_string(msg, SYSDB_GHOST, name); if (ret) goto fail; ret = ldb_modify(domain->sysdb->ldb, msg); diff --git a/src/db/sysdb_private.h b/src/db/sysdb_private.h index c2c8d7a0585463806997c43bd020436edddd8517..75a58c6d3702502cc9ca94750b94c44920b69c72 100644 --- a/src/db/sysdb_private.h +++ b/src/db/sysdb_private.h @@ -124,8 +124,12 @@ int sysdb_upgrade_14(struct sysdb_ctx *sysdb, const char **ver); int sysdb_upgrade_15(struct sysdb_ctx *sysdb, const char **ver); int sysdb_upgrade_16(struct sysdb_ctx *sysdb, const char **ver); -int add_string(struct ldb_message *msg, int flags, - const char *attr, const char *value); +int sysdb_add_string(struct ldb_message *msg, + const char *attr, const char *value); +int sysdb_replace_string(struct ldb_message *msg, + const char *attr, const char *value); +int sysdb_delete_string(struct ldb_message *msg, + const char *attr, const char *value); int add_ulong(struct ldb_message *msg, int flags, const char *attr, unsigned long value); diff --git a/src/db/sysdb_ranges.c b/src/db/sysdb_ranges.c index 431afd10e3bc405c3b9c51bd649419a7cfc5dddb..da599bf30c9a7478bf735ab8132dc2838bb59f87 100644 --- a/src/db/sysdb_ranges.c +++ b/src/db/sysdb_ranges.c @@ -198,13 +198,12 @@ errno_t sysdb_range_create(struct sysdb_ctx *sysdb, struct range_info *range) goto done; } - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_OBJECTCLASS, - SYSDB_ID_RANGE_CLASS); + ret = sysdb_add_string(msg, SYSDB_OBJECTCLASS, SYSDB_ID_RANGE_CLASS); if (ret) goto done; if (range->trusted_dom_sid == NULL && range->secondary_base_rid != 0) { - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_OBJECTCLASS, - SYSDB_DOMAIN_ID_RANGE_CLASS); + ret = sysdb_add_string(msg, SYSDB_OBJECTCLASS, + SYSDB_DOMAIN_ID_RANGE_CLASS); if (ret) goto done; ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_SECONDARY_BASE_RID, @@ -212,16 +211,15 @@ errno_t sysdb_range_create(struct sysdb_ctx *sysdb, struct range_info *range) if (ret) goto done; } else if (range->trusted_dom_sid != NULL && range->secondary_base_rid == 0) { - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_OBJECTCLASS, - SYSDB_TRUSTED_AD_DOMAIN_RANGE_CLASS); + ret = sysdb_add_string(msg, SYSDB_OBJECTCLASS, + SYSDB_TRUSTED_AD_DOMAIN_RANGE_CLASS); if (ret) goto done; - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_DOMAIN_ID, - range->trusted_dom_sid); + ret = sysdb_add_string(msg, SYSDB_DOMAIN_ID, range->trusted_dom_sid); if (ret) goto done; } - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_NAME, range->name); + ret = sysdb_add_string(msg, SYSDB_NAME, range->name); if (ret) goto done; ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_BASE_ID, @@ -240,8 +238,7 @@ errno_t sysdb_range_create(struct sysdb_ctx *sysdb, struct range_info *range) (unsigned long)time(NULL)); if (ret) goto done; - ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_ID_RANGE_TYPE, - range->range_type); + ret = sysdb_add_string(msg, SYSDB_ID_RANGE_TYPE, range->range_type); if (ret) goto done; ret = ldb_add(sysdb->ldb, msg); diff --git a/src/db/sysdb_services.c b/src/db/sysdb_services.c index 37f7ec5ff7e36605acd3b259c1622f1b1086a388..20c88b72474f4e4e593658e720b8e931f02bd8d4 100644 --- a/src/db/sysdb_services.c +++ b/src/db/sysdb_services.c @@ -460,13 +460,11 @@ sysdb_svc_add(TALLOC_CTX *mem_ctx, } /* Objectclass */ - ret = add_string(msg, LDB_FLAG_MOD_ADD, - SYSDB_OBJECTCLASS, SYSDB_SVC_CLASS); + ret = sysdb_add_string(msg, SYSDB_OBJECTCLASS, SYSDB_SVC_CLASS); if (ret != EOK) goto done; /* Set the primary name */ - ret = add_string(msg, LDB_FLAG_MOD_ADD, - SYSDB_NAME, primary_name); + ret = sysdb_add_string(msg, SYSDB_NAME, primary_name); if (ret != EOK) goto done; /* Set the port number */ @@ -623,8 +621,7 @@ sysdb_svc_remove_alias(struct sysdb_ctx *sysdb, msg->dn = dn; - ret = add_string(msg, SYSDB_MOD_DEL, - SYSDB_NAME_ALIAS, alias); + ret = sysdb_delete_string(msg, SYSDB_NAME_ALIAS, alias); if (ret != EOK) goto done; lret = ldb_modify(sysdb->ldb, msg); -- 2.7.4
From f4e3d4e3e7fb51c3a61fe2014217a930ae3a0091 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com> Date: Wed, 25 May 2016 21:40:28 +0200 Subject: [PATCH 3/4] sysdb: move add_ulong() convenience to sysdb.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Considering that sysdb.c is about utilities around our cache and that sysdb_ops.c is about operations on objects, seems that add_ulong() could fit better in sysdb.c. This move is a suggestion from Jakub Hrozek. Related: https://fedorahosted.org/sssd/ticket/1656 Signed-off-by: Fabiano Fidêncio <fabi...@fidencio.org> --- src/db/sysdb.c | 13 +++++++++++++ src/db/sysdb_ops.c | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/db/sysdb.c b/src/db/sysdb.c index 81223ad7463c8b961ce6011d90b97172bb402814..926994d3aeb53c1c85eba7d87bea1ef8ecd0dfbe 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -2142,3 +2142,16 @@ int sysdb_delete_string(struct ldb_message *msg, { return sysdb_ldb_msg_string_helper(msg, LDB_FLAG_MOD_DELETE, attr, value); } + +int add_ulong(struct ldb_message *msg, int flags, + const char *attr, unsigned long value) +{ + int ret; + + ret = ldb_msg_add_empty(msg, attr, flags, NULL); + if (ret == LDB_SUCCESS) { + ret = ldb_msg_add_fmt(msg, attr, "%lu", value); + if (ret == LDB_SUCCESS) return EOK; + } + return ENOMEM; +} diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 62378b39cd9b4548aa49024eba586305519fb2c9..39489a4655693bfcd566f7d5bcd6afea90cf9e32 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -27,19 +27,6 @@ #include "util/cert.h" #include <time.h> -int add_ulong(struct ldb_message *msg, int flags, - const char *attr, unsigned long value) -{ - int ret; - - ret = ldb_msg_add_empty(msg, attr, flags, NULL); - if (ret == LDB_SUCCESS) { - ret = ldb_msg_add_fmt(msg, attr, "%lu", value); - if (ret == LDB_SUCCESS) return EOK; - } - return ENOMEM; -} - static uint32_t get_attr_as_uint32(struct ldb_message *msg, const char *attr) { const struct ldb_val *v = ldb_msg_find_ldb_val(msg, attr); -- 2.7.4
From daaf63d4e378611a2fbba541dafe9dedae7934eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com> Date: Wed, 25 May 2016 23:00:59 +0200 Subject: [PATCH 4/4] sysdb: add sysdb_{add,replace,delete}_ulong() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As the add_ulong() convenience can add, replace or remove a unsigned long according to the operation received as its argument, some confusion can easily happen due to its misleading name. In order to improve the explicitness of our code, let's introduce sysdb_add_ulong(), sysdb_replace_ulong() and sysdb_delete_ulong(). These new functions are basically wrappers of add_ulong() (now sysdb_ldb_msg_ulong_helper()), calling it using the proper flag according to each function. Any code previously using add_ulong() is now adapted to use these brand new functions. Related: https://fedorahosted.org/sssd/ticket/1656 Signed-off-by: Fabiano Fidêncio <fabi...@fidencio.org> --- src/db/sysdb.c | 22 ++++++++++++++++++++-- src/db/sysdb_ops.c | 18 +++++++----------- src/db/sysdb_private.h | 8 ++++++-- src/db/sysdb_ranges.c | 18 ++++++++---------- src/db/sysdb_services.c | 9 +++------ 5 files changed, 44 insertions(+), 31 deletions(-) diff --git a/src/db/sysdb.c b/src/db/sysdb.c index 926994d3aeb53c1c85eba7d87bea1ef8ecd0dfbe..3c888a42ca6f3b3e37b9f63e35c31bb7d5ffc367 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -2143,8 +2143,8 @@ int sysdb_delete_string(struct ldb_message *msg, return sysdb_ldb_msg_string_helper(msg, LDB_FLAG_MOD_DELETE, attr, value); } -int add_ulong(struct ldb_message *msg, int flags, - const char *attr, unsigned long value) +static int sysdb_ldb_msg_ulong_helper(struct ldb_message *msg, int flags, + const char *attr, unsigned long value) { int ret; @@ -2155,3 +2155,21 @@ int add_ulong(struct ldb_message *msg, int flags, } return ENOMEM; } + +int sysdb_add_ulong(struct ldb_message *msg, + const char *attr, unsigned long value) +{ + return sysdb_ldb_msg_ulong_helper(msg, LDB_FLAG_MOD_ADD, attr, value); +} + +int sysdb_replace_ulong(struct ldb_message *msg, + const char *attr, unsigned long value) +{ + return sysdb_ldb_msg_ulong_helper(msg, LDB_FLAG_MOD_REPLACE, attr, value); +} + +int sysdb_delete_ulong(struct ldb_message *msg, + const char *attr, unsigned long value) +{ + return sysdb_ldb_msg_ulong_helper(msg, LDB_FLAG_MOD_DELETE, attr, value); +} diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 39489a4655693bfcd566f7d5bcd6afea90cf9e32..3c9a8539556282da347a5ae00c81b983c0a62a11 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -963,8 +963,7 @@ int sysdb_get_new_id(struct sss_domain_info *domain, } msg->dn = base_dn; - ret = add_ulong(msg, LDB_FLAG_MOD_REPLACE, - SYSDB_NEXTID, new_id + 1); + ret = sysdb_replace_ulong(msg, SYSDB_NEXTID, new_id + 1); if (ret) { goto done; } @@ -1030,10 +1029,10 @@ int sysdb_add_basic_user(struct sss_domain_info *domain, ret = sysdb_add_string(msg, SYSDB_NAME, name); if (ret) goto done; - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_UIDNUM, (unsigned long)uid); + ret = sysdb_add_ulong(msg, SYSDB_UIDNUM, (unsigned long)uid); if (ret) goto done; - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_GIDNUM, (unsigned long)gid); + ret = sysdb_add_ulong(msg, SYSDB_GIDNUM, (unsigned long)gid); if (ret) goto done; /* We set gecos to be the same as fullname on user creation, @@ -1058,8 +1057,7 @@ int sysdb_add_basic_user(struct sss_domain_info *domain, } /* creation time */ - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_CREATE_TIME, - (unsigned long)time(NULL)); + ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long)time(NULL)); if (ret) goto done; ret = ldb_add(domain->sysdb->ldb, msg); @@ -1445,12 +1443,11 @@ int sysdb_add_basic_group(struct sss_domain_info *domain, ret = sysdb_add_string(msg, SYSDB_NAME, name); if (ret) goto done; - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_GIDNUM, (unsigned long)gid); + ret = sysdb_add_ulong(msg, SYSDB_GIDNUM, (unsigned long)gid); if (ret) goto done; /* creation time */ - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_CREATE_TIME, - (unsigned long)time(NULL)); + ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long)time(NULL)); if (ret) goto done; ret = ldb_add(domain->sysdb->ldb, msg); @@ -1764,8 +1761,7 @@ int sysdb_add_basic_netgroup(struct sss_domain_info *domain, } /* creation time */ - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_CREATE_TIME, - (unsigned long) time(NULL)); + ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long) time(NULL)); if (ret) goto done; ret = ldb_add(domain->sysdb->ldb, msg); diff --git a/src/db/sysdb_private.h b/src/db/sysdb_private.h index 75a58c6d3702502cc9ca94750b94c44920b69c72..4b1667ca41ca570851d5841aeb441dddd09cd2cf 100644 --- a/src/db/sysdb_private.h +++ b/src/db/sysdb_private.h @@ -130,8 +130,12 @@ int sysdb_replace_string(struct ldb_message *msg, const char *attr, const char *value); int sysdb_delete_string(struct ldb_message *msg, const char *attr, const char *value); -int add_ulong(struct ldb_message *msg, int flags, - const char *attr, unsigned long value); +int sysdb_add_ulong(struct ldb_message *msg, + const char *attr, unsigned long value); +int sysdb_replace_ulong(struct ldb_message *msg, + const char *attr, unsigned long value); +int sysdb_delete_ulong(struct ldb_message *msg, + const char *attr, unsigned long value); /* The utility function to create a subdomain sss_domain_info object is handy * for unit tests, so it should be available in a header, but not a public util diff --git a/src/db/sysdb_ranges.c b/src/db/sysdb_ranges.c index da599bf30c9a7478bf735ab8132dc2838bb59f87..511e4785d9aa68b2a33b440e1c5ee62e5ccf7ce4 100644 --- a/src/db/sysdb_ranges.c +++ b/src/db/sysdb_ranges.c @@ -206,8 +206,8 @@ errno_t sysdb_range_create(struct sysdb_ctx *sysdb, struct range_info *range) SYSDB_DOMAIN_ID_RANGE_CLASS); if (ret) goto done; - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_SECONDARY_BASE_RID, - (unsigned long) range->secondary_base_rid); + ret = sysdb_add_ulong(msg, SYSDB_SECONDARY_BASE_RID, + (unsigned long) range->secondary_base_rid); if (ret) goto done; } else if (range->trusted_dom_sid != NULL && range->secondary_base_rid == 0) { @@ -222,20 +222,18 @@ errno_t sysdb_range_create(struct sysdb_ctx *sysdb, struct range_info *range) ret = sysdb_add_string(msg, SYSDB_NAME, range->name); if (ret) goto done; - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_BASE_ID, - (unsigned long) range->base_id); + ret = sysdb_add_ulong(msg, SYSDB_BASE_ID, (unsigned long) range->base_id); if (ret) goto done; - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_ID_RANGE_SIZE, - (unsigned long) range->id_range_size); + ret = sysdb_add_ulong(msg, SYSDB_ID_RANGE_SIZE, + (unsigned long) range->id_range_size); if (ret) goto done; - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_BASE_RID, - (unsigned long) range->base_rid); + ret = sysdb_add_ulong(msg, SYSDB_BASE_RID, + (unsigned long) range->base_rid); if (ret) goto done; - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_CREATE_TIME, - (unsigned long)time(NULL)); + ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long)time(NULL)); if (ret) goto done; ret = sysdb_add_string(msg, SYSDB_ID_RANGE_TYPE, range->range_type); diff --git a/src/db/sysdb_services.c b/src/db/sysdb_services.c index 20c88b72474f4e4e593658e720b8e931f02bd8d4..8118fef0004eefa8a65d130a3562a780cc85f372 100644 --- a/src/db/sysdb_services.c +++ b/src/db/sysdb_services.c @@ -468,8 +468,7 @@ sysdb_svc_add(TALLOC_CTX *mem_ctx, if (ret != EOK) goto done; /* Set the port number */ - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, - SYSDB_SVC_PORT, port); + ret = sysdb_add_ulong(msg, SYSDB_SVC_PORT, port); if (ret != EOK) goto done; /* If this service has any aliases, include them */ @@ -506,8 +505,7 @@ sysdb_svc_add(TALLOC_CTX *mem_ctx, } /* creation time */ - ret = add_ulong(msg, LDB_FLAG_MOD_ADD, SYSDB_CREATE_TIME, - (unsigned long)time(NULL)); + ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long)time(NULL)); if (ret) goto done; lret = ldb_add(domain->sysdb->ldb, msg); @@ -551,8 +549,7 @@ sysdb_svc_update(struct sysdb_ctx *sysdb, msg->dn = dn; /* Update the port */ - ret = add_ulong(msg, SYSDB_MOD_REP, - SYSDB_SVC_PORT, port); + ret = sysdb_replace_ulong(msg, SYSDB_SVC_PORT, port); if (ret != EOK) goto done; if (aliases && aliases[0]) { -- 2.7.4
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org