summaryrefslogtreecommitdiffstats
path: root/src/db/sysdb_ops.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2011-03-07 09:59:13 +0100
committerStephen Gallagher <sgallagh@redhat.com>2011-05-20 07:21:45 -0400
commit77bc3d93ddd41edee6046508884d7e95553ed5b7 (patch)
treef36de2fd8848118b46575e3230a1f84d8442ad65 /src/db/sysdb_ops.c
parentd4bfba145e74aa8c0f9e7c36e548fc9965822a12 (diff)
downloadsssd-77bc3d93ddd41edee6046508884d7e95553ed5b7.tar.gz
sssd-77bc3d93ddd41edee6046508884d7e95553ed5b7.tar.xz
sssd-77bc3d93ddd41edee6046508884d7e95553ed5b7.zip
Change sysdb_add_fake_user to add OriginalDN
RFC2307bis code relies heavily on originalDN, so the fake users need to have an option to store it, too.
Diffstat (limited to 'src/db/sysdb_ops.c')
-rw-r--r--src/db/sysdb_ops.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index d6260b97c..1fb389da9 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -934,7 +934,8 @@ done:
int sysdb_add_fake_user(struct sysdb_ctx *ctx,
struct sss_domain_info *domain,
- const char *name)
+ const char *name,
+ const char *original_dn)
{
TALLOC_CTX *tmpctx;
struct ldb_message *msg;
@@ -983,6 +984,12 @@ int sysdb_add_fake_user(struct sysdb_ctx *ctx,
(unsigned long) now-1);
if (ret) goto done;
+ if (original_dn) {
+ ret = add_string(msg, LDB_FLAG_MOD_ADD,
+ SYSDB_ORIG_DN, original_dn);
+ if (ret) goto done;
+ }
+
ret = ldb_add(ctx->ldb, msg);
ret = sysdb_error_to_errno(ret);