summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap
diff options
context:
space:
mode:
authorMichal Zidek <mzidek@redhat.com>2014-09-10 12:41:16 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-09-15 11:17:22 +0200
commit10f2902a1a630cdc952263b5dc5f41fb557e2791 (patch)
treee5d357892e12d80bc9dea2ee59c296ec6bbb8c92 /src/providers/ldap
parent6d61ba983def0c9ffbf964a84c7289323b849f18 (diff)
downloadsssd-10f2902a1a630cdc952263b5dc5f41fb557e2791.tar.gz
sssd-10f2902a1a630cdc952263b5dc5f41fb557e2791.tar.xz
sssd-10f2902a1a630cdc952263b5dc5f41fb557e2791.zip
Add alternative objectClass to group attribute maps
In IPA we sometimes need to use posixGroup and sometimes groupOfNames objectclass to query the groups. This patch adds the possibility to specify alternative objectclass in group maps. By default it is only set for IPA. Fixes: https://fedorahosted.org/sssd/ticket/2436 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> (cherry picked from commit 6f91c61426c8cfbfec52d5e77ae4650007694e69) (cherry picked from commit cfa74fcb5f6ba23f41a9ddaa76c3ebae6156da86)
Diffstat (limited to 'src/providers/ldap')
-rw-r--r--src/providers/ldap/ldap_opts.h3
-rw-r--r--src/providers/ldap/sdap.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/providers/ldap/ldap_opts.h b/src/providers/ldap/ldap_opts.h
index cc40ad1cb..82d46e75d 100644
--- a/src/providers/ldap/ldap_opts.h
+++ b/src/providers/ldap/ldap_opts.h
@@ -181,6 +181,7 @@ struct sdap_attr_map rfc2307_user_map[] = {
struct sdap_attr_map rfc2307_group_map[] = {
{ "ldap_group_object_class", "posixGroup", SYSDB_GROUP_CLASS, NULL },
+ { "ldap_group_object_class_alt", NULL, SYSDB_GROUP_CLASS, NULL },
{ "ldap_group_name", "cn", SYSDB_NAME, NULL },
{ "ldap_group_pwd", "userPassword", SYSDB_PWD, NULL },
{ "ldap_group_gid_number", "gidNumber", SYSDB_GIDNUM, NULL },
@@ -232,6 +233,7 @@ struct sdap_attr_map rfc2307bis_user_map[] = {
struct sdap_attr_map rfc2307bis_group_map[] = {
{ "ldap_group_object_class", "posixGroup", SYSDB_GROUP_CLASS, NULL },
+ { "ldap_group_object_class_alt", NULL, SYSDB_GROUP_CLASS, NULL },
{ "ldap_group_name", "cn", SYSDB_NAME, NULL },
{ "ldap_group_pwd", "userPassword", SYSDB_PWD, NULL },
{ "ldap_group_gid_number", "gidNumber", SYSDB_GIDNUM, NULL },
@@ -283,6 +285,7 @@ struct sdap_attr_map gen_ad2008r2_user_map[] = {
struct sdap_attr_map gen_ad2008r2_group_map[] = {
{ "ldap_group_object_class", "group", SYSDB_GROUP_CLASS, NULL },
+ { "ldap_group_object_class_alt", NULL, SYSDB_GROUP_CLASS, NULL },
{ "ldap_group_name", "name", SYSDB_NAME, NULL },
{ "ldap_group_pwd", NULL, SYSDB_PWD, NULL },
{ "ldap_group_gid_number", "gidNumber", SYSDB_GIDNUM, NULL },
diff --git a/src/providers/ldap/sdap.h b/src/providers/ldap/sdap.h
index e92d51332..64d718c1e 100644
--- a/src/providers/ldap/sdap.h
+++ b/src/providers/ldap/sdap.h
@@ -290,6 +290,7 @@ enum sdap_user_attrs {
* Functions depend on this */
enum sdap_group_attrs {
SDAP_OC_GROUP = 0,
+ SDAP_OC_GROUP_ALT,
SDAP_AT_GROUP_NAME,
SDAP_AT_GROUP_PWD,
SDAP_AT_GROUP_GID,