diff options
author | Simo Sorce <ssorce@redhat.com> | 2009-10-24 12:27:42 -0400 |
---|---|---|
committer | Simo Sorce <ssorce@redhat.com> | 2009-10-27 10:12:57 -0400 |
commit | ee633d9fe3b48a88387edab7978bb16422525d21 (patch) | |
tree | 78c9771fe2b5f6dbc1191e26d814531efae52fc9 /server/providers/ldap/ldap_common.c | |
parent | a982b0724e27f4059c2a150e591337d9511cb7be (diff) | |
download | sssd-ee633d9fe3b48a88387edab7978bb16422525d21.tar.gz sssd-ee633d9fe3b48a88387edab7978bb16422525d21.tar.bz2 sssd-ee633d9fe3b48a88387edab7978bb16422525d21.zip |
Add proper support for IPA/AD schemas
Nested groups weren't properly handled.
Add 2 pass strategy to update groups memberships
Stuff work as expected when enumeration is enabled now.
Diffstat (limited to 'server/providers/ldap/ldap_common.c')
-rw-r--r-- | server/providers/ldap/ldap_common.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/server/providers/ldap/ldap_common.c b/server/providers/ldap/ldap_common.c index b03e58fc..bb836c1e 100644 --- a/server/providers/ldap/ldap_common.c +++ b/server/providers/ldap/ldap_common.c @@ -162,6 +162,16 @@ int ldap_get_options(TALLOC_CTX *memctx, opts->schema_type = SDAP_SCHEMA_RFC2307BIS; default_user_map = rfc2307bis_user_map; default_group_map = rfc2307bis_group_map; + } else + if (strcasecmp(schema, "IPA") == 0) { + opts->schema_type = SDAP_SCHEMA_IPA_V1; + default_user_map = rfc2307bis_user_map; + default_group_map = rfc2307bis_group_map; + } else + if (strcasecmp(schema, "AD") == 0) { + opts->schema_type = SDAP_SCHEMA_AD; + default_user_map = rfc2307bis_user_map; + default_group_map = rfc2307bis_group_map; } else { DEBUG(0, ("Unrecognized schema type: %s\n", schema)); ret = EINVAL; |