summaryrefslogtreecommitdiffstats
path: root/src/providers/ipa/ipa_subdomains_id.c
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2014-03-06 15:37:57 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-03-10 17:13:58 +0100
commit43a6235e9a11431696972128c8f2e78ee8bc5739 (patch)
tree6c634e963d1589c4db1c939d5507e0e7978ebe07 /src/providers/ipa/ipa_subdomains_id.c
parentbd7fdcaf0da3ddf77514bd3caa9027d6b87748a1 (diff)
downloadsssd-43a6235e9a11431696972128c8f2e78ee8bc5739.tar.gz
sssd-43a6235e9a11431696972128c8f2e78ee8bc5739.tar.xz
sssd-43a6235e9a11431696972128c8f2e78ee8bc5739.zip
IPA: Use GC for AD initgroup requests
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/providers/ipa/ipa_subdomains_id.c')
-rw-r--r--src/providers/ipa/ipa_subdomains_id.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/providers/ipa/ipa_subdomains_id.c b/src/providers/ipa/ipa_subdomains_id.c
index 00993c496..978ccc261 100644
--- a/src/providers/ipa/ipa_subdomains_id.c
+++ b/src/providers/ipa/ipa_subdomains_id.c
@@ -307,13 +307,22 @@ ipa_get_ad_acct_send(TALLOC_CTX *mem_ctx,
/* Currently only LDAP port for AD is used because POSIX
* attributes are not replicated to GC by default
*/
- clist = talloc_zero_array(req, struct sdap_id_conn_ctx *, 2);
- if (clist == NULL) {
- ret = ENOMEM;
- goto fail;
+
+ if ((state->ar->entry_type & BE_REQ_TYPE_MASK) == BE_REQ_INITGROUPS) {
+ clist = ad_gc_conn_list(req, ad_id_ctx, state->user_dom);
+ if (clist == NULL) {
+ ret = ENOMEM;
+ goto fail;
+ }
+ } else {
+ clist = talloc_zero_array(req, struct sdap_id_conn_ctx *, 2);
+ if (clist == NULL) {
+ ret = ENOMEM;
+ goto fail;
+ }
+ clist[0] = ad_id_ctx->ldap_ctx;
+ clist[1] = NULL;
}
- clist[0] = ad_id_ctx->ldap_ctx;
- clist[1] = NULL;
/* Now we already need ad_id_ctx in particular sdap_id_conn_ctx */
sdom = sdap_domain_get(sdap_id_ctx->opts, state->user_dom);