summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_async_nested_groups.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-03-11 17:39:31 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-07-23 21:28:31 +0200
commit8a8618717c99b7331125fa736b45d9155da797d3 (patch)
tree8127472cbdf092d4ae417a03589324d18e48f41e /src/providers/ldap/sdap_async_nested_groups.c
parente3c994b7b779e6d6d6d125ee28d30bd139590f49 (diff)
downloadsssd-8a8618717c99b7331125fa736b45d9155da797d3.tar.gz
sssd-8a8618717c99b7331125fa736b45d9155da797d3.tar.xz
sssd-8a8618717c99b7331125fa736b45d9155da797d3.zip
Only check GID if ID-mapping
Reviewed-by: Sumit Bose <sbose@redhat.com>
Diffstat (limited to 'src/providers/ldap/sdap_async_nested_groups.c')
-rw-r--r--src/providers/ldap/sdap_async_nested_groups.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap_async_nested_groups.c b/src/providers/ldap/sdap_async_nested_groups.c
index 305afbc9d..5398b14bc 100644
--- a/src/providers/ldap/sdap_async_nested_groups.c
+++ b/src/providers/ldap/sdap_async_nested_groups.c
@@ -34,6 +34,7 @@
#include "providers/ldap/ldap_common.h"
#include "providers/ldap/sdap_async.h"
#include "providers/ldap/sdap_async_private.h"
+#include "providers/ldap/sdap_idmap.h"
#define sdap_nested_group_sysdb_search_users(domain, filter) \
sdap_nested_group_sysdb_search((domain), (filter), true)
@@ -242,6 +243,7 @@ sdap_nested_group_hash_group(struct sdap_nested_group_ctx *group_ctx,
errno_t ret;
int32_t ad_group_type;
bool posix_group = true;
+ bool use_id_mapping;
if (group_ctx->opts->schema_type == SDAP_SCHEMA_AD) {
ret = sysdb_attrs_get_int32_t(group, SYSDB_GROUP_TYPE, &ad_group_type);
@@ -265,7 +267,12 @@ sdap_nested_group_hash_group(struct sdap_nested_group_ctx *group_ctx,
}
}
- if (posix_group) {
+ use_id_mapping = sdap_idmap_domain_has_algorithmic_mapping(
+ group_ctx->opts->idmap_ctx,
+ group_ctx->domain->name,
+ group_ctx->domain->domain_id);
+
+ if (posix_group && !use_id_mapping) {
ret = sysdb_attrs_get_uint32_t(group, map[SDAP_AT_GROUP_GID].sys_name,
&gid);
}