diff options
Diffstat (limited to 'source4/lib/registry')
-rw-r--r-- | source4/lib/registry/TODO | 3 | ||||
-rw-r--r-- | source4/lib/registry/common/reg_interface.c | 8 | ||||
-rw-r--r-- | source4/lib/registry/config.m4 | 2 | ||||
-rw-r--r-- | source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c | 8 |
4 files changed, 16 insertions, 5 deletions
diff --git a/source4/lib/registry/TODO b/source4/lib/registry/TODO index 9b0dbe4c71..695f786b69 100644 --- a/source4/lib/registry/TODO +++ b/source4/lib/registry/TODO @@ -24,6 +24,9 @@ reg_backend_wine.c: regshell: - support for security descriptors + + regdiff: + - fix gregedit.c: - support for editing values / adding values / deleting values diff --git a/source4/lib/registry/common/reg_interface.c b/source4/lib/registry/common/reg_interface.c index 6d305e61bf..6ad7ee69cb 100644 --- a/source4/lib/registry/common/reg_interface.c +++ b/source4/lib/registry/common/reg_interface.c @@ -64,8 +64,12 @@ static struct reg_init_function_entry *reg_find_backend_entry(const char *name) if(reg_first_init) { status = register_subsystem("registry", registry_register); - if (!NT_STATUS_IS_OK(status)) + if (NT_STATUS_IS_ERR(status)) { + DEBUG(0, ("Error registering registry subsystem: %s\n", nt_errstr(status))); + /* Don't try the initialisation again */ + reg_first_init = False; return NULL; + } static_init_registry; reg_first_init = False; @@ -83,7 +87,7 @@ static struct reg_init_function_entry *reg_find_backend_entry(const char *name) BOOL reg_has_backend(const char *backend) { - return reg_find_backend_entry(backend)?True:False; + return reg_find_backend_entry(backend) != NULL?True:False; } /* Open a registry file/host/etc */ diff --git a/source4/lib/registry/config.m4 b/source4/lib/registry/config.m4 index 331b9c2df1..a1dc9a45bc 100644 --- a/source4/lib/registry/config.m4 +++ b/source4/lib/registry/config.m4 @@ -27,7 +27,7 @@ SMB_MODULE_MK(registry_w95, REGISTRY, STATIC, lib/registry/config.mk) SMB_MODULE_MK(registry_dir, REGISTRY, STATIC, lib/registry/config.mk) SMB_MODULE_MK(registry_rpc, REGISTRY, STATIC, lib/registry/config.mk) SMB_MODULE_MK(registry_gconf, REGISTRY, STATIC, lib/registry/config.mk) -SMB_MODULE_MK(registry_ldb, REGISTRY, NOT, lib/registry/config.mk) +SMB_MODULE_MK(registry_ldb, REGISTRY, STATIC, lib/registry/config.mk) SMB_SUBSYSTEM_MK(REGISTRY,lib/registry/config.mk) 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 498dc6991b..7b574069e9 100644 --- a/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c +++ b/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c @@ -39,6 +39,7 @@ static char *reg_path_to_ldb(TALLOC_CTX *mem_ctx, const char *path) } ret[strlen(ret)-1] = ')'; + printf("Doing search for : %s\n", ret); return ret; } @@ -85,9 +86,12 @@ static WERROR ldb_fetch_subkeys(REG_KEY *k, int *count, REG_KEY ***subkeys) return WERR_OK; } +static WERROR ldb_get_hive(REG_HANDLE *h, int num, REG_KEY **key) +{ + /* FIXME */ +} - -static WERROR ldb_open_key(REG_HANDLE *h, const char *name, REG_KEY **key) +static WERROR ldb_open_key(REG_HANDLE *h, int num, const char *name, REG_KEY **key) { struct ldb_context *c = h->backend_data; char *path; |