summaryrefslogtreecommitdiff
path: root/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c')
-rw-r--r--source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c b/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c
index 75d5a95187..afa60c5c4a 100644
--- a/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c
+++ b/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c
@@ -43,9 +43,25 @@ static BOOL ldb_close_registry(REG_HANDLE *h)
return True;
}
+static BOOL ldb_fetch_subkeys(REG_KEY *k, int *count, REG_KEY ***subkeys)
+{
+ ldb_search();
+}
+
static REG_KEY *ldb_open_key(REG_HANDLE *h, const char *name)
{
- /* FIXME */
+ struct ldb_context *c = h->backend_data;
+ char *path;
+ struct ldb_message **msg;
+ REG_KEY *key = NULL;
+ (dn=key=Systems,
+ if(ldb_search(c, NULL, LDP_SCOPE_BASE, "", NULL,&msg) > 0) {
+ key = reg_key_new_abs(name, h, base);
+ }
+
+ ldap_search_free(c, msg);
+
+ return key;
}
static REG_OPS reg_backend_ldb = {
@@ -53,6 +69,7 @@ static REG_OPS reg_backend_ldb = {
.open_registry = ldb_open_registry,
.close_registry = ldb_close_registry,
.open_key = ldb_open_key,
+ .fetch_subkeys = ldb_fetch_subkeys,
};
NTSTATUS reg_ldb_init(void)