summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-08-26 11:11:15 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-08-26 16:11:08 +0200
commit2d1e4d2bb90c40dd16c68b71c69c9e46f428a3f6 (patch)
tree242f95a9f1f7f62b28d533bf53052d6aa8b9ab0c
parent7454855b9b5117a13fe86fb93b9cc870323ccd20 (diff)
downloadsssd-2d1e4d2bb90c40dd16c68b71c69c9e46f428a3f6.tar.gz
sssd-2d1e4d2bb90c40dd16c68b71c69c9e46f428a3f6.tar.xz
sssd-2d1e4d2bb90c40dd16c68b71c69c9e46f428a3f6.zip
LDAP: Split out linking primary group members into a separate function
The function sdap_fill_memberships did several tasks. It's more readable to split linking the primary members into a separate function. Reviewed-by: Pavel Reichl <preichl@redhat.com>
-rw-r--r--src/providers/ldap/sdap_async_groups.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c
index 6f3c8b8eb..c44dabccb 100644
--- a/src/providers/ldap/sdap_async_groups.c
+++ b/src/providers/ldap/sdap_async_groups.c
@@ -191,6 +191,21 @@ sdap_dn_by_primary_gid(TALLOC_CTX *mem_ctx, struct sysdb_attrs *ldap_attrs,
return EOK;
}
+static void link_pgroup_members(struct sysdb_attrs *group_attrs,
+ struct ldb_message_element *member_el,
+ char **userdns,
+ size_t nuserdns)
+{
+ int i;
+
+ for (i=0; i < nuserdns; i++) {
+ member_el->values[member_el->num_values + i].data = (uint8_t *) \
+ talloc_steal(group_attrs, userdns[i]);
+ member_el->values[member_el->num_values + i].length = strlen(userdns[i]);
+ }
+ member_el->num_values += nuserdns;
+}
+
static int sdap_fill_memberships(struct sdap_options *opts,
struct sysdb_attrs *group_attrs,
struct sysdb_ctx *ctx,
@@ -285,13 +300,7 @@ static int sdap_fill_memberships(struct sdap_options *opts,
}
el->num_values = j;
- for (i=0; i < nuserdns; i++) {
- el->values[el->num_values + i].data = (uint8_t *) \
- talloc_steal(group_attrs, userdns[i]);
- el->values[el->num_values + i].length = strlen(userdns[i]);
- }
- el->num_values += nuserdns;
-
+ link_pgroup_members(group_attrs, el, userdns, nuserdns);
ret = EOK;
done: