summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2010-10-10 23:45:23 +0200
committerJelmer Vernooij <jelmer@samba.org>2010-10-10 23:45:23 +0200
commite2f3e10b1a47e195e9b329ac244be93c2fcdf0a0 (patch)
tree88549fc4df55870e274155a2074acd688339ee9f
parent33c4b85058f21ab9865bc7cf1b49b7bd38e0275d (diff)
downloadsamba-e2f3e10b1a47e195e9b329ac244be93c2fcdf0a0.tar.gz
samba-e2f3e10b1a47e195e9b329ac244be93c2fcdf0a0.tar.xz
samba-e2f3e10b1a47e195e9b329ac244be93c2fcdf0a0.zip
ldb-samba: Rename samdb_relative_path to ldb_relative_path, as it's not samdb-specific.
-rw-r--r--source4/dsdb/samdb/ldb_modules/partition_init.c3
-rw-r--r--source4/dsdb/samdb/samdb.c27
-rw-r--r--source4/lib/ldb-samba/ldb_wrap.c26
-rw-r--r--source4/lib/ldb-samba/ldb_wrap.h3
-rw-r--r--source4/param/secrets.c2
5 files changed, 32 insertions, 29 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/partition_init.c b/source4/dsdb/samdb/ldb_modules/partition_init.c
index 0ab8bada13e..775e566d517 100644
--- a/source4/dsdb/samdb/ldb_modules/partition_init.c
+++ b/source4/dsdb/samdb/ldb_modules/partition_init.c
@@ -31,6 +31,7 @@
#include "dsdb/samdb/ldb_modules/partition.h"
#include "lib/util/tsort.h"
+#include "lib/ldb-samba/ldb_wrap.h"
static int partition_sort_compare(const void *v1, const void *v2)
{
@@ -218,7 +219,7 @@ static int new_partition_from_dn(struct ldb_context *ldb, struct partition_priva
(*partition)->backend_url = data->ldapBackend;
} else {
/* the backend LDB is the DN (base64 encoded if not 'plain') followed by .ldb */
- backend_url = samdb_relative_path(ldb,
+ backend_url = ldb_relative_path(ldb,
*partition,
filename);
if (!backend_url) {
diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c
index c2a1e9ec801..57de27a22e0 100644
--- a/source4/dsdb/samdb/samdb.c
+++ b/source4/dsdb/samdb/samdb.c
@@ -43,33 +43,6 @@
#include "param/secrets.h"
#include "auth/auth.h"
-char *samdb_relative_path(struct ldb_context *ldb,
- TALLOC_CTX *mem_ctx,
- const char *name)
-{
- const char *base_url =
- (const char *)ldb_get_opaque(ldb, "ldb_url");
- char *path, *p, *full_name;
- if (name == NULL) {
- return NULL;
- }
- if (strncmp("tdb://", base_url, 6) == 0) {
- base_url = base_url+6;
- }
- path = talloc_strdup(mem_ctx, base_url);
- if (path == NULL) {
- return NULL;
- }
- if ( (p = strrchr(path, '/')) != NULL) {
- p[0] = '\0';
- full_name = talloc_asprintf(mem_ctx, "%s/%s", path, name);
- } else {
- full_name = talloc_asprintf(mem_ctx, "./%s", name);
- }
- talloc_free(path);
- return full_name;
-}
-
/*
make sure the static credentials are not freed
*/
diff --git a/source4/lib/ldb-samba/ldb_wrap.c b/source4/lib/ldb-samba/ldb_wrap.c
index 7ac94dea2c0..b09e68c0a15 100644
--- a/source4/lib/ldb-samba/ldb_wrap.c
+++ b/source4/lib/ldb-samba/ldb_wrap.c
@@ -338,3 +338,29 @@ int samba_ldb_connect(struct ldb_context *ldb, struct loadparm_context *lp_ctx,
}
}
+ char *ldb_relative_path(struct ldb_context *ldb,
+ TALLOC_CTX *mem_ctx,
+ const char *name)
+{
+ const char *base_url =
+ (const char *)ldb_get_opaque(ldb, "ldb_url");
+ char *path, *p, *full_name;
+ if (name == NULL) {
+ return NULL;
+ }
+ if (strncmp("tdb://", base_url, 6) == 0) {
+ base_url = base_url+6;
+ }
+ path = talloc_strdup(mem_ctx, base_url);
+ if (path == NULL) {
+ return NULL;
+ }
+ if ( (p = strrchr(path, '/')) != NULL) {
+ p[0] = '\0';
+ full_name = talloc_asprintf(mem_ctx, "%s/%s", path, name);
+ } else {
+ full_name = talloc_asprintf(mem_ctx, "./%s", name);
+ }
+ talloc_free(path);
+ return full_name;
+}
diff --git a/source4/lib/ldb-samba/ldb_wrap.h b/source4/lib/ldb-samba/ldb_wrap.h
index a835f665fc0..531aa9ac700 100644
--- a/source4/lib/ldb-samba/ldb_wrap.h
+++ b/source4/lib/ldb-samba/ldb_wrap.h
@@ -60,5 +60,8 @@ bool ldb_wrap_add(const char *url, struct tevent_context *ev,
struct cli_credentials *credentials,
int flags,
struct ldb_context *ldb);
+char *ldb_relative_path(struct ldb_context *ldb,
+ TALLOC_CTX *mem_ctx,
+ const char *name);
#endif /* _LDB_WRAP_H_ */
diff --git a/source4/param/secrets.c b/source4/param/secrets.c
index 5e9b0a977f7..c894358e2dc 100644
--- a/source4/param/secrets.c
+++ b/source4/param/secrets.c
@@ -181,7 +181,7 @@ char *keytab_name_from_msg(TALLOC_CTX *mem_ctx, struct ldb_context *ldb, struct
return NULL;
}
- relative_path = samdb_relative_path(ldb, mem_ctx, privateKeytab);
+ relative_path = ldb_relative_path(ldb, mem_ctx, privateKeytab);
if (!relative_path) {
return NULL;
}