diff options
author | Fabiano Fidêncio <fidencio@redhat.com> | 2017-06-02 14:12:29 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2017-09-05 11:13:50 +0200 |
commit | e3d9ce0ac22796cb08ad2daed006021b44b28c69 (patch) | |
tree | 6227e464510dae2e8737ff6a58c6f7d970fc884a /src | |
parent | 4c508463be960682cf94b4e5a39be2f8f49067c8 (diff) | |
download | sssd-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.c | 23 |
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; |