summaryrefslogtreecommitdiff
path: root/src/db
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2011-03-17 17:54:06 +0100
committerStephen Gallagher <sgallagh@redhat.com>2011-03-23 04:58:37 -0400
commit278e1768a158a73b7769bcfe17035a17e2b81f70 (patch)
tree4c69ae6c8f330fc1e71e777afd429b8aa979421a /src/db
parent7196eba0014cfd954ab86bf86ae5e151ed9d7600 (diff)
downloadsssd-278e1768a158a73b7769bcfe17035a17e2b81f70.tar.gz
sssd-278e1768a158a73b7769bcfe17035a17e2b81f70.tar.bz2
sssd-278e1768a158a73b7769bcfe17035a17e2b81f70.zip
Add originalDN to fake groups
Diffstat (limited to 'src/db')
-rw-r--r--src/db/sysdb.h3
-rw-r--r--src/db/sysdb_ops.c8
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);