summaryrefslogtreecommitdiffstats
path: root/src/db/sysdb_ranges.c
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2013-01-06 11:19:22 -0500
committerJakub Hrozek <jhrozek@redhat.com>2013-01-15 10:49:20 +0100
commit62dbfd0596aa15ddf0d9384f426814edcf627331 (patch)
tree1c2f564919c16c9d6e42ea29ec5b53a2ef75e0eb /src/db/sysdb_ranges.c
parent9675bccabff4e79d224f64611ad9ff3e073b488e (diff)
downloadsssd-62dbfd0596aa15ddf0d9384f426814edcf627331.tar.gz
sssd-62dbfd0596aa15ddf0d9384f426814edcf627331.tar.xz
sssd-62dbfd0596aa15ddf0d9384f426814edcf627331.zip
Move range objects into their own top-level tree.
Storing ranges for multiple domains under any specific domain is somewhat aritrary and unnecessary. Put ranges under cn=ranges,cn=sysdb, without involving any specific domain subtree. This allows us to avoid using sysdb->domain in ranges functions. Also storing other subdomains data under the parent domain tree felt wrong, all other domain specific data is under their own subtree. Moving this data in its own place seems a better solution.
Diffstat (limited to 'src/db/sysdb_ranges.c')
-rw-r--r--src/db/sysdb_ranges.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/db/sysdb_ranges.c b/src/db/sysdb_ranges.c
index f49a184f9..07f53ac1f 100644
--- a/src/db/sysdb_ranges.c
+++ b/src/db/sysdb_ranges.c
@@ -64,11 +64,7 @@ errno_t sysdb_get_ranges(TALLOC_CTX *mem_ctx, struct sysdb_ctx *sysdb,
goto done;
}
- /* Ranges are stored in the tree of the parent domain */
- basedn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb, SYSDB_TMPL_RANGE_BASE,
- sysdb->domain->parent != NULL ?
- sysdb->domain->parent->name :
- sysdb->domain->name);
+ basedn = ldb_dn_new(tmp_ctx, sysdb->ldb, SYSDB_TMPL_RANGE_BASE);
if (basedn == NULL) {
ret = EIO;
goto done;
@@ -173,8 +169,8 @@ errno_t sysdb_range_create(struct sysdb_ctx *sysdb, struct range_info *range)
goto done;
}
- msg->dn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb, SYSDB_TMPL_RANGE,
- range->name, sysdb->domain->name);
+ msg->dn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb,
+ SYSDB_TMPL_RANGE, range->name);
if (!msg->dn) {
ret = ENOMEM;
goto done;
@@ -315,8 +311,8 @@ errno_t sysdb_update_ranges(struct sysdb_ctx *sysdb,
if (!keep_range[d]) {
DEBUG(SSSDBG_TRACE_FUNC, ("Removing range [%s].\n",
cur_ranges[d]->name));
- dn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb, SYSDB_TMPL_RANGE,
- cur_ranges[d]->name, sysdb->domain->name);
+ dn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb,
+ SYSDB_TMPL_RANGE, cur_ranges[d]->name);
if (dn == NULL) {
ret = ENOMEM;
goto done;