Hello, please see simple attached patch.
Thanks!
>From ea19e0e615ce37353ffdece56e875d14bb882aa9 Mon Sep 17 00:00:00 2001 From: Pavel Reichl <prei...@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)); goto done; } *_result = talloc_steal(mem_ctx, res); ret = EOK; + done: talloc_free(tmp_ctx); return ret; diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c index c9f141ab066946d9fc9baabab32b833a6a2a1187..4463a82b333350714a268cef6f8226011943cb6e 100644 --- a/src/tests/sysdb-tests.c +++ b/src/tests/sysdb-tests.c @@ -4746,6 +4746,12 @@ START_TEST (test_sysdb_search_return_ENOENT) fail_if(ret != EOK, "Could not set up the test"); check_leaks_push(test_ctx); + /* id mapping */ + ret = sysdb_idmap_get_mappings(test_ctx, test_ctx->domain, &res); + fail_unless(ret == ENOENT, "sysdb_idmap_get_mappings error [%d][%s].", + ret, strerror(ret)); + talloc_zfree(res); + /* Search user */ ret = sysdb_search_user_by_name(test_ctx, test_ctx->domain, "nonexisting_user", NULL, &msg); -- 1.9.3
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/sssd-devel