From 4b49384056874e7999d8338ce5288f3d5c27a7b8 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Sun, 6 Jan 2013 01:30:27 -0500 Subject: Make sysdb_domain_dn() require a domain. --- src/db/sysdb.c | 6 ++++-- src/db/sysdb.h | 3 ++- src/db/sysdb_ops.c | 2 +- src/providers/ldap/sdap_async_groups.c | 2 +- src/responder/pac/pacsrv_utils.c | 2 +- src/tests/sysdb-tests.c | 2 +- 6 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/db/sysdb.c b/src/db/sysdb.c index c79a6334..89512529 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -281,10 +281,12 @@ errno_t sysdb_group_dn_name(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx, return sysdb_get_rdn(sysdb, mem_ctx, _dn, NULL, _name); } -struct ldb_dn *sysdb_domain_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx) +struct ldb_dn *sysdb_domain_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx, + struct sss_domain_info *dom) { - return ldb_dn_new_fmt(mem_ctx, sysdb->ldb, SYSDB_DOM_BASE, sysdb->domain->name); + return ldb_dn_new_fmt(mem_ctx, sysdb->ldb, SYSDB_DOM_BASE, dom->name); } + struct ldb_dn *sysdb_base_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx) { return ldb_dn_new(mem_ctx, sysdb->ldb, SYSDB_BASE); diff --git a/src/db/sysdb.h b/src/db/sysdb.h index d558884b..3a5e36da 100644 --- a/src/db/sysdb.h +++ b/src/db/sysdb.h @@ -333,7 +333,8 @@ struct ldb_dn *sysdb_netgroup_base_dn(struct sysdb_ctx *sysdb, struct sss_domain_info *dom); errno_t sysdb_group_dn_name(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx, const char *dn_str, char **name); -struct ldb_dn *sysdb_domain_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx); +struct ldb_dn *sysdb_domain_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx, + struct sss_domain_info *dom); struct ldb_dn *sysdb_base_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx); struct ldb_dn *sysdb_custom_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx, const char *object_name, diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 2364f17b..4b0e1676 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -663,7 +663,7 @@ int sysdb_get_new_id(struct sysdb_ctx *sysdb, return ENOMEM; } - base_dn = sysdb_domain_dn(sysdb, tmp_ctx); + base_dn = sysdb_domain_dn(sysdb, tmp_ctx, sysdb->domain); if (!base_dn) { talloc_zfree(tmp_ctx); return ENOMEM; diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c index ae335fc8..fe540e8c 100644 --- a/src/providers/ldap/sdap_async_groups.c +++ b/src/providers/ldap/sdap_async_groups.c @@ -61,7 +61,7 @@ static int sdap_find_entry_by_origDN(TALLOC_CTX *memctx, goto done; } - base_dn = sysdb_domain_dn(ctx, tmpctx); + base_dn = sysdb_domain_dn(ctx, tmpctx, domain); if (!base_dn) { ret = ENOMEM; goto done; diff --git a/src/responder/pac/pacsrv_utils.c b/src/responder/pac/pacsrv_utils.c index a55ba0f3..202f7ba3 100644 --- a/src/responder/pac/pacsrv_utils.c +++ b/src/responder/pac/pacsrv_utils.c @@ -283,7 +283,7 @@ errno_t get_my_domain_data(struct pac_ctx *pac_ctx, goto done; } - basedn = sysdb_domain_dn(sysdb, tmp_ctx); + basedn = sysdb_domain_dn(sysdb, tmp_ctx, dom); if (basedn == NULL) { ret = ENOMEM; goto done; diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c index 834b4117..351c07d0 100644 --- a/src/tests/sysdb-tests.c +++ b/src/tests/sysdb-tests.c @@ -4213,7 +4213,7 @@ START_TEST(test_sysdb_original_dn_case_insensitive) "cn=case_sensitive_group1,cn=example,cn=com"); fail_if(filter == NULL, "Cannot construct filter\n"); - base_dn = sysdb_domain_dn(test_ctx->sysdb, test_ctx); + base_dn = sysdb_domain_dn(test_ctx->sysdb, test_ctx, test_ctx->domain); fail_if(base_dn == NULL, "Cannot construct basedn\n"); ret = sysdb_search_entry(test_ctx, test_ctx->sysdb, -- cgit