summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Židek <mzidek@redhat.com>2016-09-07 10:58:25 +0200
committerLukas Slebodnik <lslebodn@redhat.com>2016-09-07 20:38:54 +0200
commit5e2142b66589e5e50cb404fc972ed5418bbaa772 (patch)
tree36be4260ae9314fa855d655a6f1e8bd046571375
parent20c2d76d9430a1fc069531ff537df046a74c8f61 (diff)
downloadsssd-5e2142b66589e5e50cb404fc972ed5418bbaa772.tar.gz
sssd-5e2142b66589e5e50cb404fc972ed5418bbaa772.tar.xz
sssd-5e2142b66589e5e50cb404fc972ed5418bbaa772.zip
TOOLS: use internal fqdn for DN
Use internal fqdn when creating sysdb group dn. Resolves: https://fedorahosted.org/sssd/ticket/3178 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-rw-r--r--src/tools/sss_sync_ops.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/tools/sss_sync_ops.c b/src/tools/sss_sync_ops.c
index 39ef5bec9..a0291baea 100644
--- a/src/tools/sss_sync_ops.c
+++ b/src/tools/sss_sync_ops.c
@@ -137,6 +137,7 @@ static int mod_groups_member(struct sss_domain_info *dom,
struct ldb_dn *parent_dn;
int ret;
int i;
+ char *grp_sysdb_fqname = NULL;
tmpctx = talloc_new(NULL);
if (!tmpctx) {
@@ -145,13 +146,21 @@ static int mod_groups_member(struct sss_domain_info *dom,
/* FIXME: add transaction around loop */
for (i = 0; grouplist[i]; i++) {
+ grp_sysdb_fqname = sss_create_internal_fqname(tmpctx, grouplist[i],
+ dom->name);
+ if (grp_sysdb_fqname == NULL) {
+ ret = ENOMEM;
+ goto done;
+ }
- parent_dn = sysdb_group_dn(tmpctx, dom, grouplist[i]);
+ parent_dn = sysdb_group_dn(tmpctx, dom, grp_sysdb_fqname);
if (!parent_dn) {
ret = ENOMEM;
goto done;
}
+ talloc_free(grp_sysdb_fqname);
+
ret = sysdb_mod_group_member(dom, member_dn, parent_dn, optype);
if (ret) {
goto done;