diff options
Diffstat (limited to 'src/providers/ldap/sdap_async_initgroups.c')
-rw-r--r-- | src/providers/ldap/sdap_async_initgroups.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/providers/ldap/sdap_async_initgroups.c b/src/providers/ldap/sdap_async_initgroups.c index d3e080013..6b3179d2d 100644 --- a/src/providers/ldap/sdap_async_initgroups.c +++ b/src/providers/ldap/sdap_async_initgroups.c @@ -41,6 +41,7 @@ static errno_t sdap_add_incomplete_groups(struct sysdb_ctx *sysdb, int i, mi, ai; const char *groupname; const char *original_dn; + const char *uuid = NULL; char **missing; gid_t gid; int ret; @@ -191,15 +192,24 @@ static errno_t sdap_add_incomplete_groups(struct sysdb_ctx *sysdb, &original_dn); if (ret) { DEBUG(SSSDBG_FUNC_DATA, - "The group has no name original DN\n"); + "The group has no original DN\n"); original_dn = NULL; } + ret = sysdb_attrs_get_string(ldap_groups[ai], + SYSDB_UUID, + &uuid); + if (ret) { + DEBUG(SSSDBG_FUNC_DATA, + "The group has no UUID\n"); + uuid = NULL; + } + DEBUG(SSSDBG_TRACE_INTERNAL, "Adding fake group %s to sysdb\n", groupname); ret = sysdb_add_incomplete_group(domain, groupname, gid, - original_dn, sid_str, posix, - now); + original_dn, sid_str, + uuid, posix, now); if (ret != EOK) { goto done; } |