On 09/05/2016 11:59 AM, Fabiano Fidêncio wrote:
Petr,
I went through your patches and in general they look good to me.
However, I haven't done any tests yet with your patches (and I'll do
it after lunch).
Please, below you can see a few comments. Feel completely free to
ignore the first one if you feel like doing it, it's just a minor :-)
For the other comments, I'd like to understand a few changes you have done.
Hi Fabiano,
thanks for the code review. Please, see my inline comments below:
Patch 0001: SYSDB: Adding message to inform which cache is used
About the following part of the patch:
+static const char *get_attr_storage(int state_mask)
+{
+ const char *storage = "";
+
+ if (state_mask == SSS_SYSDB_BOTH_CACHE ) {
+ storage = "cache, ts_cache";
+ } else if (state_mask == SSS_SYSDB_TS_CACHE) {
+ storage = "ts_cache";
+ } else if (state_mask == SSS_SYSDB_CACHE) {
+ storage = "cache";
+ }
+
+ return storage;
+}
I personally don't like this kind of comparison done with flags. I'd
go for something like: if ((state_mask & SSS_SYSDB_BOTH_CACHE) != 0)
...
But this is a really minor and feel free to ignore it.
I agree, it is better to us it this way. Addressed.
Patch 0002: SYSDB: Adding message about reason why cache changed
LGTM
Patch 0003: SYSDB: Adding wrappers for ldb_* operations
About the following parts of the patch:
On src/db/sysdb_ldb_wrapper.c
+#define ERR_FN_ENOMEM (-1 * ENOMEM)
+#define ERR_FN_ENOENT (-1 * ENOENT)
Why? I failed to understand why you're doing this here.
I removed this definitions, it was useless.
But the reason is: The second argument of function ldb_ldif_write() is
pointer to function ldif_vprintf_fn. The condition on this is that
errors < 0, because ret >= is length of written debug message.
I wrote comment on it to the code. I am sorry, it wasn't obvious.
+ if (print_ctx == NULL) {
+ return -1;
+ return ERR_FN_ENOMEM;
+ }
I guess the return -1 is a leftover :-)
Right, it was leftover.
+ if (print_ctx->ldif == NULL) {
+ return -2;
+ return ERR_FN_ENOENT;
+ }
I guess the return -2 is also a leftover :-)
The same.
+ if (ret < 0) {
+ DEBUG(SSSDBG_MINOR_FAILURE, "ldb_ldif_write() failed with [%d][%s].\n",
+ -1 * ret, sss_strerror(-1 * ret));
+ goto done;
+ }
And here again this dance multiplying by -1 that I don't understand
the reason :-\
+done:
+ if (ldb_print_ctx != NULL && ldb_print_ctx->ldif != NULL) {
+ talloc_free(ldb_print_ctx->ldif);
+ }
+ talloc_free(ldb_print_ctx);
AFAIU talloc_free can gracefully handle NULL. Considering that's the
case I'd just check for (if ldb_print_ctx != NULL)
talloc_free(ldb_print_ctx->ldif);
Considering it doesn't, we may have some issues on trying to free
(ldb_print_ctx)
Addressed.
On src/db/sysdb_ldb_wrapper.h:
+int sss_ldb_rename(struct ldb_context *ldb,
+ struct ldb_dn * olddn,
+ struct ldb_dn *newdn);
Just a really minor codying style change here, remove the extra space
between * and olddn: struct ldb_dn * olddn, -> struct ldb_dn *olddn,
Thanks :-), addressed.
Patch0004: SYSDB: ldb_add --> sss_ldb_add in sysdb
Patch0005: SYSDB: ldb_delete --> sss_ldb_delete in sysdb
Patch0006: SYSDB: ldb_modify --> sss_ldb_modify in sysdb
Patch0007: SYSDB: ldb_rename --> sss_ldb_rename in sysdb
LGTM
Best Regards,
--
Fabiano Fidêncio
There was the question about testing... every time SSSD writes to the
cache or ts_cache and debug_level in domain section is appropriate high,
ldif debug message appears.
debug_level = 0xFFFF0 in the domain section
sudo su -c "truncate -s0 /var/log/sssd/*.log"
systemctl restart sssd
sss_cache -E
getent passwd remote_user
You can try modify the user or delete him after. It will change the ldif
message.
PS: New patch set is attached.
Regards
--
Petr^4 Čech
>From 0b6ec52d3d43b8f0706272b5642d86da8b2381c9 Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Tue, 16 Aug 2016 09:32:18 +0200
Subject: [PATCH 1/7] SYSDB: Adding message to inform which cache is used
Resolves:
https://fedorahosted.org/sssd/ticket/3060
---
src/db/sysdb_ops.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 5d9c9fb24a149f8215b3027dcb4b0e1a183e4b43..847b663bdb2ec31de3eb3b4c33e2b942145a4c42 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -27,6 +27,12 @@
#include "util/cert.h"
#include <time.h>
+
+#define SSS_SYSDB_NO_CACHE 0x0
+#define SSS_SYSDB_CACHE 0x1
+#define SSS_SYSDB_TS_CACHE 0x2
+#define SSS_SYSDB_BOTH_CACHE (SSS_SYSDB_CACHE | SSS_SYSDB_TS_CACHE)
+
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);
@@ -1176,6 +1182,21 @@ done:
return ret;
}
+static const char *get_attr_storage(int state_mask)
+{
+ const char *storage = "";
+
+ if ((state_mask & SSS_SYSDB_BOTH_CACHE) != 0) {
+ storage = "cache, ts_cache";
+ } else if ((state_mask != SSS_SYSDB_TS_CACHE) != 0) {
+ storage = "ts_cache";
+ } else if ((state_mask &= SSS_SYSDB_CACHE) != 0) {
+ storage = "cache";
+ }
+
+ return storage;
+}
+
int sysdb_set_entry_attr(struct sysdb_ctx *sysdb,
struct ldb_dn *entry_dn,
struct sysdb_attrs *attrs,
@@ -1184,6 +1205,7 @@ int sysdb_set_entry_attr(struct sysdb_ctx *sysdb,
bool sysdb_write = true;
errno_t ret = EOK;
errno_t tret = EOK;
+ int state_mask = SSS_SYSDB_NO_CACHE;
sysdb_write = sysdb_entry_attrs_diff(sysdb, entry_dn, attrs, mod_op);
if (sysdb_write == true) {
@@ -1192,6 +1214,8 @@ int sysdb_set_entry_attr(struct sysdb_ctx *sysdb,
DEBUG(SSSDBG_MINOR_FAILURE,
"Cannot set attrs for %s, %d [%s]\n",
ldb_dn_get_linearized(entry_dn), ret, sss_strerror(ret));
+ } else {
+ state_mask |= SSS_SYSDB_CACHE;
}
}
@@ -1201,9 +1225,17 @@ int sysdb_set_entry_attr(struct sysdb_ctx *sysdb,
DEBUG(SSSDBG_MINOR_FAILURE,
"Cannot set ts attrs for %s\n", ldb_dn_get_linearized(entry_dn));
/* Not fatal */
+ } else {
+ state_mask |= SSS_SYSDB_TS_CACHE;
}
}
+ if (state_mask != SSS_SYSDB_NO_CACHE) {
+ DEBUG(SSSDBG_FUNC_DATA, "Entry [%s] has set [%s] attrs.\n",
+ ldb_dn_get_linearized(entry_dn),
+ get_attr_storage(state_mask));
+ }
+
return ret;
}
--
2.7.4
>From 4d3b7d48da8bd1f8f2c8e4b3d7a8136a681999d1 Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Tue, 16 Aug 2016 09:33:46 +0200
Subject: [PATCH 2/7] SYSDB: Adding message about reason why cache changed
Resolves:
https://fedorahosted.org/sssd/ticket/3060
---
src/db/sysdb.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/db/sysdb.c b/src/db/sysdb.c
index 6f0b1b9e9b52bede68f03cb5674f65b91cc28c98..a76e8b47afc902d6c0c0ed5302b7f9231a11ade3 100644
--- a/src/db/sysdb.c
+++ b/src/db/sysdb.c
@@ -1821,7 +1821,8 @@ bool sysdb_msg_attrs_modts_differs(struct ldb_message *old_entry,
return true;
}
-static bool sysdb_ldb_msg_difference(struct ldb_message *db_msg,
+static bool sysdb_ldb_msg_difference(struct ldb_dn *entry_dn,
+ struct ldb_message *db_msg,
struct ldb_message *mod_msg)
{
struct ldb_message_element *mod_msg_el;
@@ -1848,6 +1849,9 @@ static bool sysdb_ldb_msg_difference(struct ldb_message *db_msg,
*/
if (mod_msg_el->num_values > 0) {
/* We can ignore additions of timestamp attributes */
+ DEBUG(SSSDBG_TRACE_FUNC,
+ "Entry [%s] differs, reason: attr [%s] is new.\n",
+ ldb_dn_get_linearized(entry_dn), mod_msg_el->name);
return true;
}
break;
@@ -1861,6 +1865,9 @@ static bool sysdb_ldb_msg_difference(struct ldb_message *db_msg,
*/
if (is_ts_cache_attr(mod_msg_el->name) == false) {
/* We can ignore changes to timestamp attributes */
+ DEBUG(SSSDBG_TRACE_FUNC,
+ "Entry [%s] differs, reason: attr [%s] is replaced or extended.\n",
+ ldb_dn_get_linearized(entry_dn), mod_msg_el->name);
return true;
}
}
@@ -1869,6 +1876,9 @@ static bool sysdb_ldb_msg_difference(struct ldb_message *db_msg,
db_msg_el = ldb_msg_find_element(db_msg, mod_msg_el->name);
if (db_msg_el != NULL) {
/* We are deleting a valid element, there is a difference */
+ DEBUG(SSSDBG_TRACE_FUNC,
+ "Entry [%s] differs, reason: attr [%s] is deleted.\n",
+ ldb_dn_get_linearized(entry_dn), mod_msg_el->name);
return true;
}
break;
@@ -1892,10 +1902,16 @@ bool sysdb_entry_attrs_diff(struct sysdb_ctx *sysdb,
const char *attrnames[attrs->num+1];
if (sysdb->ldb_ts == NULL) {
+ DEBUG(SSSDBG_TRACE_FUNC,
+ "Entry [%s] differs, reason: there is no ts_cache yet.\n",
+ ldb_dn_get_linearized(entry_dn));
return true;
}
if (is_ts_ldb_dn(entry_dn) == false) {
+ DEBUG(SSSDBG_TRACE_FUNC,
+ "Entry [%s] differs, reason: ts_cache doesn't trace this type of entry.\n",
+ ldb_dn_get_linearized(entry_dn));
return true;
}
@@ -1930,7 +1946,7 @@ bool sysdb_entry_attrs_diff(struct sysdb_ctx *sysdb,
goto done;
}
- differs = sysdb_ldb_msg_difference(res->msgs[0], new_entry_msg);
+ differs = sysdb_ldb_msg_difference(entry_dn, res->msgs[0], new_entry_msg);
done:
talloc_free(tmp_ctx);
return differs;
--
2.7.4
>From f22723f2ee141cab471406edc4bad3f691c903bb Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Tue, 16 Aug 2016 14:59:06 +0200
Subject: [PATCH 3/7] SYSDB: Adding wrappers for ldb_* operations
This patch adds 4 wrappers:
* sss_ldb_add()
* sss_ldb_delete()
* sss_ldb_modify()
* sss_ldb_rename()
Those wrappers write ldif message to log if
debug_level = SSSDBG_LDB.
Adding and modifying produce full ldif.
Deleting and renaming produce only short message.
If SSSDBG_LDB is not set, wrappers collapse to normal
ldb_* functions without additonial memory consumption.
Resolves:
https://fedorahosted.org/sssd/ticket/3060
---
Makefile.am | 2 +
src/db/sysdb_ldb_wrapper.c | 138 +++++++++++++++++++++++++++++++++++++++++++++
src/db/sysdb_ldb_wrapper.h | 30 ++++++++++
src/util/debug.h | 1 +
4 files changed, 171 insertions(+)
create mode 100644 src/db/sysdb_ldb_wrapper.c
create mode 100644 src/db/sysdb_ldb_wrapper.h
diff --git a/Makefile.am b/Makefile.am
index f89af5a9d6d26c732574aa3651de8c175f538b28..f9f510e26abaee4cc46c6c65e40180baf3dd2d99 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -644,6 +644,7 @@ dist_noinst_HEADERS = \
src/db/sysdb_private.h \
src/db/sysdb_services.h \
src/db/sysdb_ssh.h \
+ src/db/sysdb_ldb_wrapper.h \
src/confdb/confdb.h \
src/confdb/confdb_private.h \
src/confdb/confdb_setup.h \
@@ -892,6 +893,7 @@ pkglib_LTLIBRARIES += libsss_util.la
libsss_util_la_SOURCES = \
src/confdb/confdb.c \
src/db/sysdb.c \
+ src/db/sysdb_ldb_wrapper.c \
src/db/sysdb_ops.c \
src/db/sysdb_search.c \
src/db/sysdb_selinux.c \
diff --git a/src/db/sysdb_ldb_wrapper.c b/src/db/sysdb_ldb_wrapper.c
new file mode 100644
index 0000000000000000000000000000000000000000..75e660aa86e0d680069b457660c75728683e145c
--- /dev/null
+++ b/src/db/sysdb_ldb_wrapper.c
@@ -0,0 +1,138 @@
+/*
+ SSSD
+
+ System Database -- ldb wrappers
+
+ Copyright (C) Petr Cech <pc...@redhat.com> 2016
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <string.h>
+#include <ldb.h>
+#include "util/util.h"
+
+struct sss_ldif_vprint_ctx {
+ char *ldif;
+};
+
+static int ldif_vprintf_fn(void *private_data, const char *fmt, ...)
+{
+ struct sss_ldif_vprint_ctx *print_ctx;
+ va_list ap;
+ int lenght = 0;
+
+ /* Note that the function should return the number of
+ * bytes written, or a negative error code.
+ */
+
+ print_ctx = talloc_get_type(private_data, struct sss_ldif_vprint_ctx);
+
+ if (print_ctx == NULL) {
+ return (-1 * ENOMEM);
+ }
+
+ if (fmt != NULL) {
+ va_start(ap, fmt);
+
+ if (print_ctx->ldif != NULL) {
+ lenght = strlen(print_ctx->ldif);
+ }
+
+ print_ctx->ldif = talloc_vasprintf_append_buffer(print_ctx->ldif,
+ fmt, ap);
+ if (print_ctx->ldif == NULL) {
+ return (-1 * ENOENT);
+ }
+
+ lenght = strlen(print_ctx->ldif) - lenght;
+ va_end(ap);
+ }
+
+ return lenght;
+}
+
+static void sss_ldb_ldif2log(enum ldb_changetype changetype,
+ struct ldb_context *ldb,
+ const struct ldb_message *message)
+{
+ int ret;
+ struct ldb_ldif ldif;
+ struct sss_ldif_vprint_ctx *ldb_print_ctx;
+
+ ldb_print_ctx = talloc_zero(ldb, struct sss_ldif_vprint_ctx);
+ if (ldb_print_ctx == NULL) {
+ return;
+ }
+ ldb_print_ctx->ldif = NULL;
+
+ ldif.changetype = changetype;
+ ldif.msg = discard_const_p(struct ldb_message, message);
+
+ ret = ldb_ldif_write(ldb, ldif_vprintf_fn, ldb_print_ctx, &ldif);
+ if (ret < 0) {
+ ret = -1 * ret;
+ DEBUG(SSSDBG_MINOR_FAILURE, "ldb_ldif_write() failed with [%d][%s].\n",
+ ret, sss_strerror(ret));
+ goto done;
+ }
+
+ DEBUG(SSSDBG_LDB, "ldif\n[\n%s\n]\n", ldb_print_ctx->ldif);
+
+done:
+ talloc_free(ldb_print_ctx->ldif);
+ talloc_free(ldb_print_ctx);
+
+ return;
+}
+
+int sss_ldb_add(struct ldb_context *ldb, const struct ldb_message *message)
+{
+ if (DEBUG_IS_SET(SSSDBG_LDB) == true) {
+ sss_ldb_ldif2log(LDB_CHANGETYPE_ADD, ldb, message);
+ }
+
+ return ldb_add(ldb, message);
+}
+
+int sss_ldb_delete(struct ldb_context *ldb, struct ldb_dn *dn)
+{
+ if (DEBUG_IS_SET(SSSDBG_LDB) == true) {
+ DEBUG(SSSDBG_LDB, "Deleting [%s]\n", ldb_dn_get_rdn_name(dn));
+ }
+
+ return ldb_delete(ldb, dn);
+}
+
+int sss_ldb_modify(struct ldb_context *ldb, const struct ldb_message *message)
+{
+ if (DEBUG_IS_SET(SSSDBG_LDB) == true) {
+ sss_ldb_ldif2log(LDB_CHANGETYPE_MODIFY, ldb, message);
+ }
+
+ return ldb_modify(ldb, message);
+}
+
+int sss_ldb_rename(struct ldb_context *ldb,
+ struct ldb_dn * olddn,
+ struct ldb_dn *newdn)
+{
+ if (DEBUG_IS_SET(SSSDBG_LDB) == true) {
+ DEBUG(SSSDBG_LDB, "Renaming [%s] to [%s]\n",
+ ldb_dn_get_rdn_name(olddn),
+ ldb_dn_get_rdn_name(newdn));
+ }
+
+ return ldb_rename(ldb, olddn, newdn);
+}
diff --git a/src/db/sysdb_ldb_wrapper.h b/src/db/sysdb_ldb_wrapper.h
new file mode 100644
index 0000000000000000000000000000000000000000..b79cd73667eca8092c7e62c1bd850e0d4f2610d9
--- /dev/null
+++ b/src/db/sysdb_ldb_wrapper.h
@@ -0,0 +1,30 @@
+/*
+ SSSD
+
+ System Database -- ldb wrappers
+
+ Copyright (C) Petr Cech <pc...@redhat.com> 2016
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+int sss_ldb_add(struct ldb_context *ldb, const struct ldb_message *message);
+
+int sss_ldb_delete(struct ldb_context *ldb, struct ldb_dn *dn);
+
+int sss_ldb_modify(struct ldb_context *ldb, const struct ldb_message *message);
+
+int sss_ldb_rename(struct ldb_context *ldb,
+ struct ldb_dn *olddn,
+ struct ldb_dn *newdn);
diff --git a/src/util/debug.h b/src/util/debug.h
index 2a1bd4ffd30817d7128805996c21105fe40982a2..610a65b6b6b9a41c9d7062b118abe5f015e10d68 100644
--- a/src/util/debug.h
+++ b/src/util/debug.h
@@ -67,6 +67,7 @@ int get_fd_from_debug_file(void);
#define SSSDBG_TRACE_INTERNAL 0x2000 /* level 8 */
#define SSSDBG_TRACE_ALL 0x4000 /* level 9 */
#define SSSDBG_BE_FO 0x8000 /* level 9 */
+#define SSSDBG_LDB 0x10000 /* level 9 */
#define SSSDBG_IMPORTANT_INFO SSSDBG_OP_FAILURE
#define SSSDBG_INVALID -1
--
2.7.4
>From 712ce6dce6a4d7dbdaecd0a6c82d3c8d2d67d206 Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Tue, 23 Aug 2016 10:10:33 +0200
Subject: [PATCH 4/7] SYSDB: ldb_add --> sss_ldb_add in sysdb
Resolves:
https://fedorahosted.org/sssd/ticket/3060
---
src/db/sysdb.c | 3 ++-
src/db/sysdb_autofs.c | 3 ++-
src/db/sysdb_gpo.c | 5 +++--
src/db/sysdb_idmap.c | 3 ++-
src/db/sysdb_init.c | 9 +++++----
src/db/sysdb_ops.c | 13 +++++++------
src/db/sysdb_ranges.c | 3 ++-
src/db/sysdb_selinux.c | 3 ++-
src/db/sysdb_services.c | 3 ++-
src/db/sysdb_sudo.c | 3 ++-
src/db/sysdb_upgrade.c | 7 ++++---
src/db/sysdb_views.c | 5 +++--
12 files changed, 36 insertions(+), 24 deletions(-)
diff --git a/src/db/sysdb.c b/src/db/sysdb.c
index a76e8b47afc902d6c0c0ed5302b7f9231a11ade3..0f490bc301a1a3c34769954dc90a1f901c4b0250 100644
--- a/src/db/sysdb.c
+++ b/src/db/sysdb.c
@@ -24,6 +24,7 @@
#include "util/strtonum.h"
#include "util/sss_utf8.h"
#include "util/crypto/sss_crypto.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
#include "confdb/confdb.h"
#include "util/probes.h"
@@ -1162,7 +1163,7 @@ errno_t sysdb_set_bool(struct sysdb_ctx *sysdb,
if (res->count) {
lret = ldb_modify(sysdb->ldb, msg);
} else {
- lret = ldb_add(sysdb->ldb, msg);
+ lret = sss_ldb_add(sysdb->ldb, msg);
}
if (lret != LDB_SUCCESS) {
diff --git a/src/db/sysdb_autofs.c b/src/db/sysdb_autofs.c
index b3e9b4ec83b66ec65a72ab7a3180106e2293d8a5..61ab7cf9efcc0edacd6652b77f45a1e4346e9f8e 100644
--- a/src/db/sysdb_autofs.c
+++ b/src/db/sysdb_autofs.c
@@ -21,6 +21,7 @@
#include <talloc.h>
#include "db/sysdb.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
#include "db/sysdb_autofs.h"
@@ -323,7 +324,7 @@ sysdb_save_autofsentry(struct sss_domain_info *domain,
msg->elements = attrs->a;
msg->num_elements = attrs->num;
- ret = ldb_add(domain->sysdb->ldb, msg);
+ ret = sss_ldb_add(domain->sysdb->ldb, msg);
ret = sysdb_error_to_errno(ret);
done:
talloc_free(tmp_ctx);
diff --git a/src/db/sysdb_gpo.c b/src/db/sysdb_gpo.c
index e5af91bd8efd1f953326f8069c5c620ca3692017..170d7b7489704a7e74dea27c3b9c0ce1c1870c1d 100644
--- a/src/db/sysdb_gpo.c
+++ b/src/db/sysdb_gpo.c
@@ -22,6 +22,7 @@
#include "db/sysdb.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
static struct ldb_dn *
@@ -161,7 +162,7 @@ sysdb_gpo_store_gpo(struct sss_domain_info *domain,
goto done;
}
- lret = ldb_add(domain->sysdb->ldb, update_msg);
+ lret = sss_ldb_add(domain->sysdb->ldb, update_msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
"Failed to add GPO: [%s]\n",
@@ -457,7 +458,7 @@ sysdb_gpo_store_gpo_result_setting(struct sss_domain_info *domain,
}
}
- lret = ldb_add(domain->sysdb->ldb, update_msg);
+ lret = sss_ldb_add(domain->sysdb->ldb, update_msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
"Failed to add GPO Result: [%s]\n",
diff --git a/src/db/sysdb_idmap.c b/src/db/sysdb_idmap.c
index 2aa00ef83f182a77b0e9b94ba8a80ef71af6518c..f0186760e08470f07f73d4c3563a0097368bb8d6 100644
--- a/src/db/sysdb_idmap.c
+++ b/src/db/sysdb_idmap.c
@@ -22,6 +22,7 @@
#include "db/sysdb.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
static struct ldb_dn *
@@ -166,7 +167,7 @@ sysdb_idmap_store_mapping(struct sss_domain_info *domain,
goto done;
}
- lret = ldb_add(domain->sysdb->ldb, update_msg);
+ lret = sss_ldb_add(domain->sysdb->ldb, update_msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
"Failed to add mapping: [%s]\n",
diff --git a/src/db/sysdb_init.c b/src/db/sysdb_init.c
index 538ba027cd94e274ba328d398cc565b11ea56f39..81cdd0f0f0428b6c3a1884530a1c846606812958 100644
--- a/src/db/sysdb_init.c
+++ b/src/db/sysdb_init.c
@@ -23,6 +23,7 @@
#include "util/util.h"
#include "util/strtonum.h"
#include "util/sss_utf8.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
#include "confdb/confdb.h"
#include "util/probes.h"
@@ -192,7 +193,7 @@ static errno_t sysdb_domain_create_int(struct ldb_context *ldb,
goto done;
}
/* do a synchronous add */
- ret = ldb_add(ldb, msg);
+ ret = sss_ldb_add(ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE, "Failed to initialize DB (%d, [%s]) "
"for domain %s!\n",
@@ -222,7 +223,7 @@ static errno_t sysdb_domain_create_int(struct ldb_context *ldb,
goto done;
}
/* do a synchronous add */
- ret = ldb_add(ldb, msg);
+ ret = sss_ldb_add(ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE, "Failed to initialize DB (%d, [%s]) "
"for domain %s!\n",
@@ -252,7 +253,7 @@ static errno_t sysdb_domain_create_int(struct ldb_context *ldb,
goto done;
}
/* do a synchronous add */
- ret = ldb_add(ldb, msg);
+ ret = sss_ldb_add(ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE, "Failed to initialize DB (%d, [%s]) for "
"domain %s!\n",
@@ -319,7 +320,7 @@ static errno_t sysdb_cache_add_base_ldif(struct ldb_context *ldb,
struct ldb_ldif *ldif;
while ((ldif = ldb_ldif_read_string(ldb, &base_ldif))) {
- ret = ldb_add(ldb, ldif->msg);
+ ret = sss_ldb_add(ldb, ldif->msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE,
"Failed to initialize DB (%d, [%s]) for domain %s!\n",
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 847b663bdb2ec31de3eb3b4c33e2b942145a4c42..01cf9c2b5829638023e41a3a058b4609c90e4698 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -20,6 +20,7 @@
*/
#include "util/util.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
#include "db/sysdb_services.h"
#include "db/sysdb_autofs.h"
@@ -846,10 +847,10 @@ static errno_t sysdb_create_ts_entry(struct sysdb_ctx *sysdb,
goto done;
}
- lret = ldb_add(sysdb->ldb_ts, msg);
+ lret = sss_ldb_add(sysdb->ldb_ts, msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_OP_FAILURE,
- "ldb_add failed: [%s](%d)[%s]\n",
+ "sss_ldb_add failed: [%s](%d)[%s]\n",
ldb_strerror(lret), lret, ldb_errstring(sysdb->ldb_ts));
}
@@ -1626,7 +1627,7 @@ int sysdb_add_basic_user(struct sss_domain_info *domain,
ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long)time(NULL));
if (ret) goto done;
- ret = ldb_add(domain->sysdb->ldb, msg);
+ ret = sss_ldb_add(domain->sysdb->ldb, msg);
ret = sysdb_error_to_errno(ret);
done:
@@ -2023,7 +2024,7 @@ int sysdb_add_basic_group(struct sss_domain_info *domain,
ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long)time(NULL));
if (ret) goto done;
- ret = ldb_add(domain->sysdb->ldb, msg);
+ ret = sss_ldb_add(domain->sysdb->ldb, msg);
ret = sysdb_error_to_errno(ret);
done:
@@ -2351,7 +2352,7 @@ int sysdb_add_basic_netgroup(struct sss_domain_info *domain,
ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long) time(NULL));
if (ret) goto done;
- ret = ldb_add(domain->sysdb->ldb, msg);
+ ret = sss_ldb_add(domain->sysdb->ldb, msg);
ret = sysdb_error_to_errno(ret);
done:
@@ -3232,7 +3233,7 @@ int sysdb_store_custom(struct sss_domain_info *domain,
msg->num_elements = attrs->num;
if (add_object) {
- ret = ldb_add(domain->sysdb->ldb, msg);
+ ret = sss_ldb_add(domain->sysdb->ldb, msg);
} else {
ret = ldb_modify(domain->sysdb->ldb, msg);
}
diff --git a/src/db/sysdb_ranges.c b/src/db/sysdb_ranges.c
index 511e4785d9aa68b2a33b440e1c5ee62e5ccf7ce4..6aa7182387af2604ac4eadcc60516c6b078b0bda 100644
--- a/src/db/sysdb_ranges.c
+++ b/src/db/sysdb_ranges.c
@@ -20,6 +20,7 @@
*/
#include "util/util.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
static errno_t find_attr_as_uint32_t(const struct ldb_message *msg,
@@ -239,7 +240,7 @@ errno_t sysdb_range_create(struct sysdb_ctx *sysdb, struct range_info *range)
ret = sysdb_add_string(msg, SYSDB_ID_RANGE_TYPE, range->range_type);
if (ret) goto done;
- ret = ldb_add(sysdb->ldb, msg);
+ ret = sss_ldb_add(sysdb->ldb, msg);
if (ret) goto done;
ret = sysdb_error_to_errno(ret);
diff --git a/src/db/sysdb_selinux.c b/src/db/sysdb_selinux.c
index 2dbbb75b99acff28d1a92e1a2d2ccc22004188cc..0321aa2c48e98fb3c38f01dca781fa91952e3ac9 100644
--- a/src/db/sysdb_selinux.c
+++ b/src/db/sysdb_selinux.c
@@ -21,6 +21,7 @@
#include "util/sss_selinux.h"
#include "db/sysdb_selinux.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
/* Some generic routines */
@@ -69,7 +70,7 @@ sysdb_add_selinux_entity(struct sysdb_ctx *sysdb,
msg->elements = attrs->a;
msg->num_elements = attrs->num;
- ret = ldb_add(sysdb->ldb, msg);
+ ret = sss_ldb_add(sysdb->ldb, msg);
ret = sysdb_error_to_errno(ret);
done:
diff --git a/src/db/sysdb_services.c b/src/db/sysdb_services.c
index 8118fef0004eefa8a65d130a3562a780cc85f372..751f1b12f88f7e38ed250793f867afe8f5f8df09 100644
--- a/src/db/sysdb_services.c
+++ b/src/db/sysdb_services.c
@@ -23,6 +23,7 @@
#include "util/util.h"
#include "db/sysdb.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
#include "db/sysdb_services.h"
@@ -508,7 +509,7 @@ sysdb_svc_add(TALLOC_CTX *mem_ctx,
ret = sysdb_add_ulong(msg, SYSDB_CREATE_TIME, (unsigned long)time(NULL));
if (ret) goto done;
- lret = ldb_add(domain->sysdb->ldb, msg);
+ lret = sss_ldb_add(domain->sysdb->ldb, msg);
ret = sysdb_error_to_errno(lret);
if (ret == EOK && dn) {
diff --git a/src/db/sysdb_sudo.c b/src/db/sysdb_sudo.c
index 601fb63f236a7ed9eede130fd8cf4c3a1559fc4b..b080ddd71e6a3380a50f8b11efcc47fc28ea8677 100644
--- a/src/db/sysdb_sudo.c
+++ b/src/db/sysdb_sudo.c
@@ -24,6 +24,7 @@
#include <time.h>
#include "db/sysdb.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
#include "db/sysdb_sudo.h"
@@ -547,7 +548,7 @@ static errno_t sysdb_sudo_set_refresh_time(struct sss_domain_info *domain,
if (res->count) {
lret = ldb_modify(domain->sysdb->ldb, msg);
} else {
- lret = ldb_add(domain->sysdb->ldb, msg);
+ lret = sss_ldb_add(domain->sysdb->ldb, msg);
}
if (lret != LDB_SUCCESS) {
diff --git a/src/db/sysdb_upgrade.c b/src/db/sysdb_upgrade.c
index 4ca8433f9d5430b038f90563c34cede02393b0b0..83d1a531fbf5c93ab6c5db126b20509791b47a95 100644
--- a/src/db/sysdb_upgrade.c
+++ b/src/db/sysdb_upgrade.c
@@ -23,6 +23,7 @@
*/
#include "util/util.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
#include "db/sysdb_autofs.h"
@@ -489,7 +490,7 @@ int sysdb_check_upgrade_02(struct sss_domain_info *domains,
goto done;
}
- ret = ldb_add(sysdb->ldb, msg);
+ ret = sss_ldb_add(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE, "WARNING: Could not add entry %s,"
" to new ldb file! (%d [%s])\n",
@@ -715,7 +716,7 @@ int sysdb_upgrade_04(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_add(sysdb->ldb, msg);
+ ret = sss_ldb_add(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -1471,7 +1472,7 @@ int sysdb_upgrade_14(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
/* do a synchronous add */
- ret = ldb_add(sysdb->ldb, msg);
+ ret = sss_ldb_add(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE,
"Failed to upgrade DB (%d, [%s])!\n",
diff --git a/src/db/sysdb_views.c b/src/db/sysdb_views.c
index 9dc48f5b6c414bbc7c64bcd1fe73553f388588bd..a079ffc872510e6168137ce33c0c21d9f8fd70e5 100644
--- a/src/db/sysdb_views.c
+++ b/src/db/sysdb_views.c
@@ -21,6 +21,7 @@
#include "util/util.h"
#include "util/cert.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
/* In general is should not be possible that there is a view container without
@@ -163,7 +164,7 @@ errno_t sysdb_update_view_name(struct sysdb_ctx *sysdb,
if (view_container_exists) {
ret = ldb_modify(sysdb->ldb, msg);
} else {
- ret = ldb_add(sysdb->ldb, msg);
+ ret = sss_ldb_add(sysdb->ldb, msg);
}
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE,
@@ -568,7 +569,7 @@ errno_t sysdb_store_override(struct sss_domain_info *domain,
goto done;
}
- ret = ldb_add(domain->sysdb->ldb, msg);
+ ret = sss_ldb_add(domain->sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_CRIT_FAILURE,
"Failed to store override entry: %s(%d)[%s]\n",
--
2.7.4
>From 7e9c2fbe3bb149cea2b4851dcdb3053f5588e9ce Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Tue, 23 Aug 2016 10:15:02 +0200
Subject: [PATCH 5/7] SYSDB: ldb_delete --> sss_ldb_delete in sysdb
Resolves:
https://fedorahosted.org/sssd/ticket/3060
---
src/db/sysdb_ops.c | 4 ++--
src/db/sysdb_upgrade.c | 18 +++++++++---------
src/db/sysdb_views.c | 4 ++--
3 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 01cf9c2b5829638023e41a3a058b4609c90e4698..98089dc3eb5dc21292441ba159b97d3f73e90278 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -109,7 +109,7 @@ static int sysdb_delete_cache_entry(struct ldb_context *ldb,
{
int ret;
- ret = ldb_delete(ldb, dn);
+ ret = sss_ldb_delete(ldb, dn);
switch (ret) {
case LDB_SUCCESS:
return EOK;
@@ -3281,7 +3281,7 @@ int sysdb_delete_custom(struct sss_domain_info *domain,
goto done;
}
- ret = ldb_delete(domain->sysdb->ldb, dn);
+ ret = sss_ldb_delete(domain->sysdb->ldb, dn);
switch (ret) {
case LDB_SUCCESS:
diff --git a/src/db/sysdb_upgrade.c b/src/db/sysdb_upgrade.c
index 83d1a531fbf5c93ab6c5db126b20509791b47a95..ee90b2cda7715f778b2e4de99dff7a29b085d861 100644
--- a/src/db/sysdb_upgrade.c
+++ b/src/db/sysdb_upgrade.c
@@ -498,7 +498,7 @@ int sysdb_check_upgrade_02(struct sss_domain_info *domains,
ret, ldb_errstring(sysdb->ldb));
}
- ret = ldb_delete(ldb, orig_dn);
+ ret = sss_ldb_delete(ldb, orig_dn);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE,
"WARNING: Could not remove entry %s,"
@@ -511,21 +511,21 @@ int sysdb_check_upgrade_02(struct sss_domain_info *domains,
/* now remove the basic containers from local */
/* these were optional so debug at level 9 in case
* of failure just for tracing */
- ret = ldb_delete(ldb, groups_dn);
+ ret = sss_ldb_delete(ldb, groups_dn);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_TRACE_ALL, "WARNING: Could not remove entry %s,"
" from old ldb file! (%d [%s])\n",
ldb_dn_get_linearized(groups_dn),
ret, ldb_errstring(ldb));
}
- ret = ldb_delete(ldb, users_dn);
+ ret = sss_ldb_delete(ldb, users_dn);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_TRACE_ALL, "WARNING: Could not remove entry %s,"
" from old ldb file! (%d [%s])\n",
ldb_dn_get_linearized(users_dn),
ret, ldb_errstring(ldb));
}
- ret = ldb_delete(ldb, domain_dn);
+ ret = sss_ldb_delete(ldb, domain_dn);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_TRACE_ALL, "WARNING: Could not remove entry %s,"
" from old ldb file! (%d [%s])\n",
@@ -1167,7 +1167,7 @@ int sysdb_upgrade_10(struct sysdb_ctx *sysdb, struct sss_domain_info *domain,
DEBUG(SSSDBG_TRACE_FUNC, "Removing fake user [%s]\n",
ldb_dn_get_linearized(user->dn));
- ret = ldb_delete(sysdb->ldb, user->dn);
+ ret = sss_ldb_delete(sysdb->ldb, user->dn);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -1269,7 +1269,7 @@ int sysdb_upgrade_11(struct sysdb_ctx *sysdb, struct sss_domain_info *domain,
DEBUG(SSSDBG_TRACE_LIBS, "Deleting [%s]\n",
ldb_dn_get_linearized(entry->dn));
- ret = ldb_delete(sysdb->ldb, entry->dn);
+ ret = sss_ldb_delete(sysdb->ldb, entry->dn);
if (ret != EOK) {
DEBUG(SSSDBG_OP_FAILURE, "Cannot delete old autofs entry %s\n",
ldb_dn_get_linearized(entry->dn));
@@ -1408,7 +1408,7 @@ int sysdb_upgrade_13(struct sysdb_ctx *sysdb, const char **ver)
/* Do not remove subdomain containers, only their contents */
continue;
}
- ret = ldb_delete(sysdb->ldb, res->msgs[j]->dn);
+ ret = sss_ldb_delete(sysdb->ldb, res->msgs[j]->dn);
if (ret) {
DEBUG(SSSDBG_OP_FAILURE,
"Failed to delete %s\n",
@@ -1500,7 +1500,7 @@ int sysdb_upgrade_14(struct sysdb_ctx *sysdb, const char **ver)
DEBUG(SSSDBG_OP_FAILURE,
"The object [%s] doesn't have a name\n",
ldb_dn_get_linearized(res->msgs[i]->dn));
- ret = ldb_delete(sysdb->ldb, res->msgs[i]->dn);
+ ret = sss_ldb_delete(sysdb->ldb, res->msgs[i]->dn);
if (ret) {
DEBUG(SSSDBG_OP_FAILURE,
"Failed to delete %s\n",
@@ -1525,7 +1525,7 @@ int sysdb_upgrade_14(struct sysdb_ctx *sysdb, const char **ver)
"Failed to move [%s] to [%s]\n",
ldb_dn_get_linearized(res->msgs[i]->dn),
ldb_dn_get_linearized(newdn));
- ret = ldb_delete(sysdb->ldb, res->msgs[i]->dn);
+ ret = sss_ldb_delete(sysdb->ldb, res->msgs[i]->dn);
if (ret) {
DEBUG(SSSDBG_OP_FAILURE,
"Failed to delete %s\n",
diff --git a/src/db/sysdb_views.c b/src/db/sysdb_views.c
index a079ffc872510e6168137ce33c0c21d9f8fd70e5..1c7b6090431f73782ba86ed6c78d71b0615b5c56 100644
--- a/src/db/sysdb_views.c
+++ b/src/db/sysdb_views.c
@@ -481,10 +481,10 @@ errno_t sysdb_store_override(struct sss_domain_info *domain,
in_transaction = true;
if (has_override) {
- ret = ldb_delete(domain->sysdb->ldb, override_dn);
+ ret = sss_ldb_delete(domain->sysdb->ldb, override_dn);
if (ret != EOK) {
DEBUG(SSSDBG_TRACE_ALL,
- "ldb_delete failed, maybe object did not exist. Ignoring.\n");
+ "sss_ldb_delete failed, maybe object did not exist. Ignoring.\n");
}
ret = sysdb_attrs_get_string(attrs, SYSDB_NAME, &name_override);
--
2.7.4
>From 7e9df4846cfd59311e392a124f8582c7c92772a5 Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Tue, 23 Aug 2016 10:27:53 +0200
Subject: [PATCH 6/7] SYSDB: ldb_modify --> sss_ldb_modify in sysdb
Resolves:
https://fedorahosted.org/sssd/ticket/3060
---
src/db/sysdb.c | 2 +-
src/db/sysdb_gpo.c | 4 ++--
src/db/sysdb_idmap.c | 2 +-
src/db/sysdb_ops.c | 24 ++++++++++++------------
src/db/sysdb_services.c | 8 ++++----
src/db/sysdb_subdomains.c | 5 +++--
src/db/sysdb_sudo.c | 2 +-
src/db/sysdb_upgrade.c | 26 +++++++++++++-------------
src/db/sysdb_views.c | 12 ++++++------
9 files changed, 43 insertions(+), 42 deletions(-)
diff --git a/src/db/sysdb.c b/src/db/sysdb.c
index 0f490bc301a1a3c34769954dc90a1f901c4b0250..06530f30aaadcdfad25d3a4a16d67d13b3fc1044 100644
--- a/src/db/sysdb.c
+++ b/src/db/sysdb.c
@@ -1161,7 +1161,7 @@ errno_t sysdb_set_bool(struct sysdb_ctx *sysdb,
}
if (res->count) {
- lret = ldb_modify(sysdb->ldb, msg);
+ lret = sss_ldb_modify(sysdb->ldb, msg);
} else {
lret = sss_ldb_add(sysdb->ldb, msg);
}
diff --git a/src/db/sysdb_gpo.c b/src/db/sysdb_gpo.c
index 170d7b7489704a7e74dea27c3b9c0ce1c1870c1d..20fa1cebed2bf76c2ed649e705e295edcf81094c 100644
--- a/src/db/sysdb_gpo.c
+++ b/src/db/sysdb_gpo.c
@@ -206,7 +206,7 @@ sysdb_gpo_store_gpo(struct sss_domain_info *domain,
goto done;
}
- lret = ldb_modify(domain->sysdb->ldb, update_msg);
+ lret = sss_ldb_modify(domain->sysdb->ldb, update_msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
"Failed to modify GPO: [%s](%d)[%s]\n",
@@ -499,7 +499,7 @@ sysdb_gpo_store_gpo_result_setting(struct sss_domain_info *domain,
}
}
- lret = ldb_modify(domain->sysdb->ldb, update_msg);
+ lret = sss_ldb_modify(domain->sysdb->ldb, update_msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
"Failed to modify GPO Result: [%s](%d)[%s]\n",
diff --git a/src/db/sysdb_idmap.c b/src/db/sysdb_idmap.c
index f0186760e08470f07f73d4c3563a0097368bb8d6..6ef6efcb379d7a65c3df84b7ab8ff91d6007524f 100644
--- a/src/db/sysdb_idmap.c
+++ b/src/db/sysdb_idmap.c
@@ -245,7 +245,7 @@ sysdb_idmap_store_mapping(struct sss_domain_info *domain,
}
}
- lret = ldb_modify(domain->sysdb->ldb, update_msg);
+ lret = sss_ldb_modify(domain->sysdb->ldb, update_msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
"Failed to update mapping: [%s](%d)[%s]\n",
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 98089dc3eb5dc21292441ba159b97d3f73e90278..1dc7779a640218a8f29ef1f6e02fecfffbc70efe 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -1163,10 +1163,10 @@ static int sysdb_set_cache_entry_attr(struct ldb_context *ldb,
goto done;
}
- lret = ldb_modify(ldb, msg);
+ lret = sss_ldb_modify(ldb, msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(lret), lret, ldb_errstring(ldb));
}
@@ -1535,10 +1535,10 @@ int sysdb_get_new_id(struct sss_domain_info *domain,
goto done;
}
- ret = ldb_modify(domain->sysdb->ldb, msg);
+ ret = sss_ldb_modify(domain->sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(ret), ret, ldb_errstring(domain->sysdb->ldb));
}
ret = sysdb_error_to_errno(ret);
@@ -2302,10 +2302,10 @@ int sysdb_mod_group_member(struct sss_domain_info *domain,
ERROR_OUT(ret, EINVAL, fail);
}
- ret = ldb_modify(domain->sysdb->ldb, msg);
+ ret = sss_ldb_modify(domain->sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(ret), ret, ldb_errstring(domain->sysdb->ldb));
}
ret = sysdb_error_to_errno(ret);
@@ -3235,7 +3235,7 @@ int sysdb_store_custom(struct sss_domain_info *domain,
if (add_object) {
ret = sss_ldb_add(domain->sysdb->ldb, msg);
} else {
- ret = ldb_modify(domain->sysdb->ldb, msg);
+ ret = sss_ldb_modify(domain->sysdb->ldb, msg);
}
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_CRIT_FAILURE, "Failed to store custom entry: %s(%d)[%s]\n",
@@ -3584,10 +3584,10 @@ int sysdb_delete_user(struct sss_domain_info *domain,
ret = sysdb_delete_string(msg, SYSDB_GHOST, name);
if (ret) goto fail;
- ret = ldb_modify(domain->sysdb->ldb, msg);
+ ret = sss_ldb_modify(domain->sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(ret), ret,
ldb_errstring(domain->sysdb->ldb));
}
@@ -4439,10 +4439,10 @@ errno_t sysdb_remove_attrs(struct sss_domain_info *domain,
* attribute in the sysdb will cause other removals to
* fail.
*/
- lret = ldb_modify(domain->sysdb->ldb, msg);
+ lret = sss_ldb_modify(domain->sysdb->ldb, msg);
if (lret != LDB_SUCCESS && lret != LDB_ERR_NO_SUCH_ATTRIBUTE) {
DEBUG(SSSDBG_MINOR_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(lret), lret, ldb_errstring(domain->sysdb->ldb));
ret = sysdb_error_to_errno(lret);
goto done;
@@ -4888,7 +4888,7 @@ errno_t sysdb_mark_entry_as_expired_ldb_dn(struct sss_domain_info *dom,
goto done;
}
- ret = ldb_modify(dom->sysdb->ldb, msg);
+ ret = sss_ldb_modify(dom->sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
diff --git a/src/db/sysdb_services.c b/src/db/sysdb_services.c
index 751f1b12f88f7e38ed250793f867afe8f5f8df09..18df34085a86661b23d3168f50ad99e3e4386e4c 100644
--- a/src/db/sysdb_services.c
+++ b/src/db/sysdb_services.c
@@ -585,10 +585,10 @@ sysdb_svc_update(struct sysdb_ctx *sysdb,
}
}
- lret = ldb_modify(sysdb->ldb, msg);
+ lret = sss_ldb_modify(sysdb->ldb, msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(lret), lret, ldb_errstring(sysdb->ldb));
}
ret = sysdb_error_to_errno(lret);
@@ -622,10 +622,10 @@ sysdb_svc_remove_alias(struct sysdb_ctx *sysdb,
ret = sysdb_delete_string(msg, SYSDB_NAME_ALIAS, alias);
if (ret != EOK) goto done;
- lret = ldb_modify(sysdb->ldb, msg);
+ lret = sss_ldb_modify(sysdb->ldb, msg);
if (lret != LDB_SUCCESS) {
DEBUG(SSSDBG_MINOR_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(lret), lret, ldb_errstring(sysdb->ldb));
}
ret = sysdb_error_to_errno(lret);
diff --git a/src/db/sysdb_subdomains.c b/src/db/sysdb_subdomains.c
index ff83f914f31d566e050c74a3ef5f5745f8c93add..66dd0546a560688e480e5ec1d2d5cfe50428fa8b 100644
--- a/src/db/sysdb_subdomains.c
+++ b/src/db/sysdb_subdomains.c
@@ -21,6 +21,7 @@
*/
#include "util/util.h"
+#include "db/sysdb_ldb_wrapper.h"
#include "db/sysdb_private.h"
struct sss_domain_info *new_subdomain(TALLOC_CTX *mem_ctx,
@@ -797,7 +798,7 @@ errno_t sysdb_master_domain_add_info(struct sss_domain_info *domain,
goto done;
}
- ret = ldb_modify(domain->sysdb->ldb, msg);
+ ret = sss_ldb_modify(domain->sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE, "Failed to add subdomain attributes to "
"[%s]: [%d][%s]!\n", domain->name, ret,
@@ -1098,7 +1099,7 @@ errno_t sysdb_subdomain_store(struct sysdb_ctx *sysdb,
}
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_FATAL_FAILURE, "Failed to add subdomain attributes to "
"[%s]: [%d][%s]!\n", name, ret,
diff --git a/src/db/sysdb_sudo.c b/src/db/sysdb_sudo.c
index b080ddd71e6a3380a50f8b11efcc47fc28ea8677..f5cb91691242294de8d7168fc39637e68ef040b6 100644
--- a/src/db/sysdb_sudo.c
+++ b/src/db/sysdb_sudo.c
@@ -546,7 +546,7 @@ static errno_t sysdb_sudo_set_refresh_time(struct sss_domain_info *domain,
}
if (res->count) {
- lret = ldb_modify(domain->sysdb->ldb, msg);
+ lret = sss_ldb_modify(domain->sysdb->ldb, msg);
} else {
lret = sss_ldb_add(domain->sysdb->ldb, msg);
}
diff --git a/src/db/sysdb_upgrade.c b/src/db/sysdb_upgrade.c
index ee90b2cda7715f778b2e4de99dff7a29b085d861..5d3dcc1d1c8d441085aebbd86a0b5749c59e4f75 100644
--- a/src/db/sysdb_upgrade.c
+++ b/src/db/sysdb_upgrade.c
@@ -93,7 +93,7 @@ static errno_t update_version(struct upgrade_ctx *ctx)
goto done;
}
- ret = ldb_modify(ctx->ldb, msg);
+ ret = sss_ldb_modify(ctx->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -243,7 +243,7 @@ int sysdb_upgrade_01(struct ldb_context *ldb, const char **ver)
}
/* ok now we are ready to modify the entry */
- ret = ldb_modify(ldb, msg);
+ ret = sss_ldb_modify(ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -571,7 +571,7 @@ int sysdb_check_upgrade_02(struct sss_domain_info *domains,
goto done;
}
- ret = ldb_modify(ldb, msg);
+ ret = sss_ldb_modify(ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -643,7 +643,7 @@ int sysdb_upgrade_03(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -698,7 +698,7 @@ int sysdb_upgrade_04(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -784,7 +784,7 @@ int sysdb_upgrade_05(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -840,7 +840,7 @@ int sysdb_upgrade_06(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -896,7 +896,7 @@ int sysdb_upgrade_07(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -958,7 +958,7 @@ int sysdb_upgrade_08(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -1015,7 +1015,7 @@ int sysdb_upgrade_09(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -1328,7 +1328,7 @@ int sysdb_upgrade_12(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -1586,7 +1586,7 @@ int sysdb_upgrade_15(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
@@ -1637,7 +1637,7 @@ int sysdb_upgrade_16(struct sysdb_ctx *sysdb, const char **ver)
goto done;
}
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
ret = sysdb_error_to_errno(ret);
goto done;
diff --git a/src/db/sysdb_views.c b/src/db/sysdb_views.c
index 1c7b6090431f73782ba86ed6c78d71b0615b5c56..5165ea6985b9c07b5a1c403798f2283e4aca2abd 100644
--- a/src/db/sysdb_views.c
+++ b/src/db/sysdb_views.c
@@ -162,7 +162,7 @@ errno_t sysdb_update_view_name(struct sysdb_ctx *sysdb,
}
if (view_container_exists) {
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
} else {
ret = sss_ldb_add(sysdb->ldb, msg);
}
@@ -284,10 +284,10 @@ errno_t sysdb_invalidate_overrides(struct sysdb_ctx *sysdb)
for (c = 0; c < res->count; c++) {
msg->dn = res->msgs[c]->dn;
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS && ret != LDB_ERR_NO_SUCH_ATTRIBUTE) {
DEBUG(SSSDBG_OP_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(ret), ret, ldb_errstring(sysdb->ldb));
ret = sysdb_error_to_errno(ret);
goto done;
@@ -307,10 +307,10 @@ errno_t sysdb_invalidate_overrides(struct sysdb_ctx *sysdb)
for (c = 0; c < res->count; c++) {
msg->dn = res->msgs[c]->dn;
- ret = ldb_modify(sysdb->ldb, msg);
+ ret = sss_ldb_modify(sysdb->ldb, msg);
if (ret != LDB_SUCCESS && ret != LDB_ERR_NO_SUCH_ATTRIBUTE) {
DEBUG(SSSDBG_OP_FAILURE,
- "ldb_modify failed: [%s](%d)[%s]\n",
+ "sss_ldb_modify failed: [%s](%d)[%s]\n",
ldb_strerror(ret), ret, ldb_errstring(sysdb->ldb));
ret = sysdb_error_to_errno(ret);
goto done;
@@ -605,7 +605,7 @@ errno_t sysdb_store_override(struct sss_domain_info *domain,
goto done;
}
- ret = ldb_modify(domain->sysdb->ldb, msg);
+ ret = sss_ldb_modify(domain->sysdb->ldb, msg);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_CRIT_FAILURE,
"Failed to store override DN: %s(%d)[%s]\n",
--
2.7.4
>From 244872f971e46ecf3b28843acba16e805137a07d Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Tue, 23 Aug 2016 10:30:07 +0200
Subject: [PATCH 7/7] SYSDB: ldb_rename --> sss_ldb_rename in sysdb
Resolves:
https://fedorahosted.org/sssd/ticket/3060
---
src/db/sysdb_upgrade.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/db/sysdb_upgrade.c b/src/db/sysdb_upgrade.c
index 5d3dcc1d1c8d441085aebbd86a0b5749c59e4f75..5bb8efdb802633aa3acbd204d39c86c0198a8174 100644
--- a/src/db/sysdb_upgrade.c
+++ b/src/db/sysdb_upgrade.c
@@ -1519,7 +1519,7 @@ int sysdb_upgrade_14(struct sysdb_ctx *sysdb, const char **ver)
ret = ENOMEM;
goto done;
}
- ret = ldb_rename(sysdb->ldb, res->msgs[i]->dn, newdn);
+ ret = sss_ldb_rename(sysdb->ldb, res->msgs[i]->dn, newdn);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_CRIT_FAILURE,
"Failed to move [%s] to [%s]\n",
@@ -2020,7 +2020,7 @@ static errno_t qualify_object(TALLOC_CTX *mem_ctx,
goto done;
}
- ret = ldb_rename(ldb, object->dn, new_object_dn);
+ ret = sss_ldb_rename(ldb, object->dn, new_object_dn);
if (ret != LDB_SUCCESS) {
DEBUG(SSSDBG_OP_FAILURE,
"Cannot rename %s to %s\n",
--
2.7.4
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org