diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-10-28 23:06:12 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:04:57 -0500 |
commit | 479bf22c813501f040adf7b6267b961748baa63f (patch) | |
tree | de1bbae68ca012671b2680ba02c973c4a9f71cc3 /source4/lib | |
parent | 858f1763229a8da808a7473f565382a4b2924917 (diff) | |
download | samba-479bf22c813501f040adf7b6267b961748baa63f.tar.gz samba-479bf22c813501f040adf7b6267b961748baa63f.tar.xz samba-479bf22c813501f040adf7b6267b961748baa63f.zip |
r3340: Various fixes in the registry code. Implement the EnumKey call
in the server.
(This used to be commit da65a248c292a90342e1394ee4132ef2c7afd3c8)
Diffstat (limited to 'source4/lib')
-rw-r--r-- | source4/lib/registry/common/reg_interface.c | 5 | ||||
-rw-r--r-- | source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c | 5 | ||||
-rw-r--r-- | source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/source4/lib/registry/common/reg_interface.c b/source4/lib/registry/common/reg_interface.c index 16edadfcbb4..6237a788b75 100644 --- a/source4/lib/registry/common/reg_interface.c +++ b/source4/lib/registry/common/reg_interface.c @@ -191,7 +191,10 @@ WERROR reg_import_hive(struct registry_context *h, const char *backend, const ch if(!W_ERROR_IS_OK(werr)) return werr; - if(!ret->root) return WERR_GENERAL_FAILURE; + if(!ret->root) { + DEBUG(0, ("Backend %s didn't provide root key!\n", backend)); + return WERR_GENERAL_FAILURE; + } ret->root->hive = ret; ret->root->name = NULL; 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 faa8a5e62c9..b26ee6ec60b 100644 --- a/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c +++ b/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c @@ -146,7 +146,10 @@ static WERROR ldb_open_hive(TALLOC_CTX *mem_ctx, struct registry_hive *hive, str ldb_set_debug_stderr(c); hive->backend_data = c; - return ldb_open_key(mem_ctx, hive, "", k); + hive->root = talloc_zero_p(mem_ctx, struct registry_key); + hive->root->name = talloc_strdup(mem_ctx, ""); + + return WERR_OK; } static struct registry_operations reg_backend_ldb = { diff --git a/source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c b/source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c index 76c19d01adb..5ed03c062c2 100644 --- a/source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c +++ b/source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c @@ -85,7 +85,7 @@ struct { static WERROR rpc_query_key(struct registry_key *k); -WERROR rpc_list_hives (TALLOC_CTX *mem_ctx, const char *location, const char *credentials, char ***hives) +static WERROR rpc_list_hives (TALLOC_CTX *mem_ctx, const char *location, const char *credentials, char ***hives) { int i = 0; *hives = talloc_p(mem_ctx, char *); |