diff options
Diffstat (limited to 'src/db')
-rw-r--r-- | src/db/sysdb.h | 3 | ||||
-rw-r--r-- | src/db/sysdb_ops.c | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/db/sysdb.h b/src/db/sysdb.h index e9842655..971a35f9 100644 --- a/src/db/sysdb.h +++ b/src/db/sysdb.h @@ -496,7 +496,8 @@ int sysdb_add_group(TALLOC_CTX *mem_ctx, int sysdb_add_incomplete_group(struct sysdb_ctx *ctx, struct sss_domain_info *domain, const char *name, - gid_t gid); + gid_t gid, + const char *original_dn); /* Add netgroup (only basic attrs and w/o checks) */ int sysdb_add_basic_netgroup(struct sysdb_ctx *ctx, diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index e60af717..ba1f6672 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -1147,7 +1147,8 @@ done: int sysdb_add_incomplete_group(struct sysdb_ctx *ctx, struct sss_domain_info *domain, const char *name, - gid_t gid) + gid_t gid, + const char *original_dn) { TALLOC_CTX *tmpctx; time_t now; @@ -1178,6 +1179,11 @@ int sysdb_add_incomplete_group(struct sysdb_ctx *ctx, now-1); if (ret) goto done; + if (original_dn) { + ret = sysdb_attrs_add_string(attrs, SYSDB_ORIG_DN, original_dn); + if (ret) goto done; + } + ret = sysdb_set_group_attr(tmpctx, ctx, domain, name, attrs, SYSDB_MOD_REP); |