[SSSD] [PATCH] SYSDB: sysdb_idmap_get_mappings returns ENOENT
Lukas Slebodnik
lslebodn at redhat.com
Wed Nov 19 09:14:35 UTC 2014
On (30/10/14 11:58), Pavel Reichl wrote:
>Hello,
>
>please see simple attached patch.
>
>Thanks!
>From ea19e0e615ce37353ffdece56e875d14bb882aa9 Mon Sep 17 00:00:00 2001
>From: Pavel Reichl <preichl at redhat.com>
>Date: Thu, 30 Oct 2014 11:54:54 +0000
>Subject: [PATCH] SYSDB: sysdb_idmap_get_mappings returns ENOENT
>
>sysdb_idmap_get_mappings returns ENOENT if no results were found.
>
>Part od solution for:
>https://fedorahosted.org/sssd/ticket/1991
>---
> src/db/sysdb_idmap.c | 11 +++++------
> src/tests/sysdb-tests.c | 6 ++++++
> 2 files changed, 11 insertions(+), 6 deletions(-)
>
>diff --git a/src/db/sysdb_idmap.c b/src/db/sysdb_idmap.c
>index 7d342671b526099beaa461668fb6c58f73f5232a..bf7883a943b396da2ca400718ae882d70ddb55bb 100644
>--- a/src/db/sysdb_idmap.c
>+++ b/src/db/sysdb_idmap.c
>@@ -280,7 +280,6 @@ sysdb_idmap_get_mappings(TALLOC_CTX *mem_ctx,
> struct ldb_result **_result)
> {
> errno_t ret;
>- int lret;
> struct ldb_dn *base_dn;
> TALLOC_CTX *tmp_ctx;
> struct ldb_result *res;
>@@ -298,19 +297,19 @@ sysdb_idmap_get_mappings(TALLOC_CTX *mem_ctx,
> goto done;
> }
>
>- lret = ldb_search(domain->sysdb->ldb, tmp_ctx, &res, base_dn,
>- LDB_SCOPE_SUBTREE, attrs, SYSDB_IDMAP_FILTER);
>- if (lret) {
>+ SSS_LDB_SEARCH(ret, domain->sysdb->ldb, tmp_ctx, &res, base_dn,
>+ LDB_SCOPE_SUBTREE, attrs, SYSDB_IDMAP_FILTER);
>+ if (ret != EOK) {
> DEBUG(SSSDBG_MINOR_FAILURE,
> "Could not locate ID mappings: [%s]\n",
>- ldb_strerror(lret));
>- ret = sysdb_error_to_errno(lret);
>+ sss_strerror(ret));
^^^^^
Could you move this one space to left?
Indentation will be perfect after this change.
> goto done;
> }
>
> *_result = talloc_steal(mem_ctx, res);
>
> ret = EOK;
>+
> done:
> talloc_free(tmp_ctx);
> return ret;
Could you also change code in the function sdap_idmap_init
(src/providers/ldap/sdap_idmap.c)
At least, we can simplify next lines:
goto done;
}
- if (ret == EOK && res->count > 0) {
+ if (ret == EOK) {
DEBUG(SSSDBG_CONF_SETTINGS,
"Initializing [%d] domains for ID-mapping\n", res->count);
LS
More information about the sssd-devel
mailing list