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

Reply via email to