diff options
author | Michal Zidek <mzidek@redhat.com> | 2014-09-10 12:41:16 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-09-15 10:15:45 +0200 |
commit | cfa74fcb5f6ba23f41a9ddaa76c3ebae6156da86 (patch) | |
tree | 5dcaf4f52ddb6d26af35ac3c17786d25938101a0 | |
parent | 3f855784cbdd0b1909ec7f560114e9a107b15ca5 (diff) | |
download | sssd-cfa74fcb5f6ba23f41a9ddaa76c3ebae6156da86.tar.gz sssd-cfa74fcb5f6ba23f41a9ddaa76c3ebae6156da86.tar.xz sssd-cfa74fcb5f6ba23f41a9ddaa76c3ebae6156da86.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)
-rw-r--r-- | src/providers/ad/ad_opts.h | 1 | ||||
-rw-r--r-- | src/providers/ipa/ipa_opts.h | 3 | ||||
-rw-r--r-- | src/providers/ldap/ldap_opts.h | 3 | ||||
-rw-r--r-- | src/providers/ldap/sdap.h | 1 |
4 files changed, 7 insertions, 1 deletions
diff --git a/src/providers/ad/ad_opts.h b/src/providers/ad/ad_opts.h index 31703fd7f..7b062f033 100644 --- a/src/providers/ad/ad_opts.h +++ b/src/providers/ad/ad_opts.h @@ -203,6 +203,7 @@ struct sdap_attr_map ad_2008r2_user_map[] = { struct sdap_attr_map ad_2008r2_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/ipa/ipa_opts.h b/src/providers/ipa/ipa_opts.h index 5bd7e6dd4..5c82134fd 100644 --- a/src/providers/ipa/ipa_opts.h +++ b/src/providers/ipa/ipa_opts.h @@ -202,7 +202,8 @@ struct sdap_attr_map ipa_user_map[] = { }; struct sdap_attr_map ipa_group_map[] = { - { "ldap_group_object_class", "groupofnames", SYSDB_GROUP_CLASS, NULL }, + { "ldap_group_object_class", "groupOfNames", SYSDB_GROUP_CLASS, NULL }, + { "ldap_group_object_class_alt", "posixGroup", 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 }, 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 145ff6df1..c4514ae5e 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, |