summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFabiano Fidêncio <fidencio@redhat.com>2017-06-02 14:12:29 +0200
committerJakub Hrozek <jhrozek@redhat.com>2017-09-05 11:13:50 +0200
commite3d9ce0ac22796cb08ad2daed006021b44b28c69 (patch)
tree6227e464510dae2e8737ff6a58c6f7d970fc884a /src
parent4c508463be960682cf94b4e5a39be2f8f49067c8 (diff)
downloadsssd-e3d9ce0ac22796cb08ad2daed006021b44b28c69.tar.gz
sssd-e3d9ce0ac22796cb08ad2daed006021b44b28c69.tar.xz
sssd-e3d9ce0ac22796cb08ad2daed006021b44b28c69.zip
SDAP: Use sysdb_search_*_by_orig_dn() in sdap_async_groups.c
Methods for searching the users, groups and entries by their orig dn have been introduced in one of the previous commit. Let's make use of those whenever it makes sense. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/providers/ldap/sdap_async_groups.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c
index 81503798c..536e3f137 100644
--- a/src/providers/ldap/sdap_async_groups.c
+++ b/src/providers/ldap/sdap_async_groups.c
@@ -2498,14 +2498,12 @@ static errno_t sdap_nested_group_populate_users(TALLOC_CTX *mem_ctx,
errno_t ret, sret;
struct ldb_message_element *el;
const char *username;
- char *clean_orig_dn;
const char *original_dn;
struct sss_domain_info *user_dom;
struct sdap_domain *sdap_dom;
TALLOC_CTX *tmp_ctx;
struct ldb_message **msgs;
- char *filter;
const char *sysdb_name;
struct sysdb_attrs *attrs;
static const char *search_attrs[] = { SYSDB_NAME, NULL };
@@ -2553,14 +2551,6 @@ static errno_t sdap_nested_group_populate_users(TALLOC_CTX *mem_ctx,
}
original_dn = (const char *) el->values[0].data;
- ret = sss_filter_sanitize(tmp_ctx, original_dn,
- &clean_orig_dn);
- if (ret != EOK) {
- DEBUG(SSSDBG_CRIT_FAILURE,
- "Cannot sanitize originalDN [%s]\n", original_dn);
- goto done;
- }
-
sdap_dom = sdap_domain_get_by_dn(opts, original_dn);
user_dom = sdap_dom == NULL ? domain : sdap_dom->dom;
@@ -2573,19 +2563,10 @@ static errno_t sdap_nested_group_populate_users(TALLOC_CTX *mem_ctx,
}
/* Check for the specified origDN in the sysdb */
- filter = talloc_asprintf(tmp_ctx, "(%s=%s)",
- SYSDB_ORIG_DN,
- clean_orig_dn);
- if (!filter) {
- ret = ENOMEM;
- goto done;
- }
PROBE(SDAP_NESTED_GROUP_POPULATE_SEARCH_USERS_PRE);
- ret = sysdb_search_users(tmp_ctx, user_dom, filter,
- search_attrs, &count, &msgs);
+ ret = sysdb_search_users_by_orig_dn(tmp_ctx, user_dom, original_dn,
+ search_attrs, &count, &msgs);
PROBE(SDAP_NESTED_GROUP_POPULATE_SEARCH_USERS_POST);
- talloc_zfree(filter);
- talloc_zfree(clean_orig_dn);
if (ret != EOK && ret != ENOENT) {
DEBUG(SSSDBG_CRIT_FAILURE, "Error checking cache for user entry\n");
goto done;