diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2016-03-04 20:08:30 +0100 |
---|---|---|
committer | Lukas Slebodnik <lslebodn@redhat.com> | 2016-03-11 11:40:15 +0100 |
commit | c6bda70d6131b5e8cd760ad690fae001d1765547 (patch) | |
tree | 838bd40640965a68c7b850b421f591ef52e566ae /src/providers/ldap | |
parent | c6278b2fa4a7ea389ed4086b2def16e0e6cbb184 (diff) | |
download | sssd-c6bda70d6131b5e8cd760ad690fae001d1765547.tar.gz sssd-c6bda70d6131b5e8cd760ad690fae001d1765547.tar.xz sssd-c6bda70d6131b5e8cd760ad690fae001d1765547.zip |
tests: Add a unit test for the external groups resolution
Adds a test that tests a complex nested group hierarchy. Also defines
the talloc chunk for group members to 1 to make sure the realloc branch
is always tested.
Unit test for: https://fedorahosted.org/sssd/ticket/2522
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'src/providers/ldap')
-rw-r--r-- | src/providers/ldap/sdap_async_nested_groups.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/providers/ldap/sdap_async_nested_groups.c b/src/providers/ldap/sdap_async_nested_groups.c index f0d04fa09..e32c06a14 100644 --- a/src/providers/ldap/sdap_async_nested_groups.c +++ b/src/providers/ldap/sdap_async_nested_groups.c @@ -56,7 +56,9 @@ struct sdap_nested_group_member { const char *group_filter; }; -const size_t external_members_chunk = 16; +#ifndef EXTERNAL_MEMBERS_CHUNK +#define EXTERNAL_MEMBERS_CHUNK 16 +#endif /* EXTERNAL_MEMBERS_CHUNK */ struct sdap_external_missing_member { const char **parent_group_dns; @@ -341,7 +343,7 @@ static errno_t sdap_nested_group_external_add(hash_table_t *table, } ext_mem->parent_group_dns = talloc_zero_array(ext_mem, const char *, - external_members_chunk); + EXTERNAL_MEMBERS_CHUNK); if (ext_mem->parent_group_dns == NULL) { talloc_free(ext_mem); return ENOMEM; @@ -363,7 +365,7 @@ static errno_t sdap_nested_group_external_add(hash_table_t *table, ext_mem->parent_group_dns, const char *, ext_mem->parent_dn_idx + \ - external_members_chunk); + EXTERNAL_MEMBERS_CHUNK); if (ext_mem->parent_group_dns == NULL) { talloc_free(ext_mem); return ENOMEM; @@ -2608,7 +2610,7 @@ sdap_nested_group_lookup_external_done(struct tevent_req *subreq) &member); talloc_free(subreq); if (ret == EOK) { - DEBUG(SSSDBG_TRACE_FUNC, "Refreshing member %lu\n", state->eniter); + DEBUG(SSSDBG_TRACE_FUNC, "Refreshed member %lu\n", state->eniter); state->ext_members[state->eniter].missing_mem = \ state->entries[state->eniter].value.ptr; state->ext_members[state->eniter].dom = member_dom; |