[SCM] Samba Shared Repository - branch v3-2-test updated -
release-3-2-0pre2-392-g10ae8ac
Michael Adam
obnox at samba.org
Sat Mar 22 01:38:04 GMT 2008
The branch, v3-2-test has been updated
via 10ae8accb486956ebb1638cee540868a11623b11 (commit)
via 4717e6d0cf9df53a55e5d55ede5480181b33920d (commit)
from 1831042bdcbfe569ae39177058dfe1d914416513 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit 10ae8accb486956ebb1638cee540868a11623b11
Author: Michael Adam <obnox at samba.org>
Date: Sat Mar 22 02:29:02 2008 +0100
libgpo: replace hand-crafted registry initialization by registry_init_basic.
IMO there is no need to imitate a custom registry backend.
Only default regdb hooks are used here, so a plain initialization
of regdb should suffice.
This way, only reg_api is used in libgpo, and no registry
backend code is visible.
Michael
commit 4717e6d0cf9df53a55e5d55ede5480181b33920d
Author: Michael Adam <obnox at samba.org>
Date: Sat Mar 22 02:22:54 2008 +0100
libgpo: use reg_setkeysecurity() instead of regdb_set_secdesc().
That is, use the reg_api function instead of the backend function.
For this, code had to be changed, to take a "struct registry_key"
instead of a char *.
Michael
-----------------------------------------------------------------------
Summary of changes:
source/Makefile.in | 3 +-
source/libgpo/gpo_reg.c | 68 +++-------------------------------------------
2 files changed, 7 insertions(+), 64 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/Makefile.in b/source/Makefile.in
index 40e792d..19bdad3 100644
--- a/source/Makefile.in
+++ b/source/Makefile.in
@@ -388,7 +388,7 @@ LIBGPO_OBJ0 = libgpo/gpo_ldap.o libgpo/gpo_ini.o libgpo/gpo_util.o \
libgpo/gpo_fetch.o libgpo/gpo_filesync.o libgpo/gpo_sec.o \
libgpo/gpo_reg.o \
$(GPEXT_OBJ)
-LIBGPO_OBJ = $(LIBGPO_OBJ0)
+LIBGPO_OBJ = $(LIBGPO_OBJ0) $(REG_INIT_BASIC_OBJ)
LIBADS_OBJ = libads/ldap.o libads/ldap_printer.o \
libads/sasl.o libads/sasl_wrapping.o \
@@ -451,6 +451,7 @@ LIBMSRPC_GEN_OBJ = librpc/gen_ndr/cli_lsa.o \
UTIL_REG_OBJ = lib/util_reg.o
UTIL_REG_API_OBJ = lib/util_reg_api.o
+REG_INIT_BASIC_OBJ = registry/reg_init_basic.o
REG_INIT_SMBCONF_OBJ = registry/reg_init_smbconf.o
REG_INIT_FULL_OBJ = registry/reg_init_full.o
diff --git a/source/libgpo/gpo_reg.c b/source/libgpo/gpo_reg.c
index 2a27a7e..e48a871 100644
--- a/source/libgpo/gpo_reg.c
+++ b/source/libgpo/gpo_reg.c
@@ -20,53 +20,6 @@
#include "includes.h"
-extern REGISTRY_OPS regdb_ops;
-
-static int gp_reg_fetch_keys(const char *key, REGSUBKEY_CTR *subkey_ctr)
-{
- return regdb_ops.fetch_subkeys(key, subkey_ctr);
-}
-
-static bool gp_reg_store_keys(const char *key, REGSUBKEY_CTR *subkeys)
-{
- return regdb_ops.store_subkeys(key, subkeys);
-}
-
-static int gp_reg_fetch_values(const char *key, REGVAL_CTR *val)
-{
- return regdb_ops.fetch_values(key, val);
-}
-
-static bool gp_reg_store_values(const char *key, REGVAL_CTR *val)
-{
- return regdb_ops.store_values(key, val);
-}
-
-static WERROR gp_reg_get_secdesc(TALLOC_CTX *mem_ctx, const char *key,
- struct security_descriptor **psecdesc)
-{
- return regdb_ops.get_secdesc(mem_ctx, key, psecdesc);
-}
-
-static WERROR gp_reg_set_secdesc(const char *key,
- struct security_descriptor *secdesc)
-{
- return regdb_ops.set_secdesc(key, secdesc);
-}
-
-/****************************************************************
-****************************************************************/
-
-static REGISTRY_OPS gp_reg_ops = {
- .fetch_subkeys = gp_reg_fetch_keys,
- .fetch_values = gp_reg_fetch_values,
- .store_subkeys = gp_reg_store_keys,
- .store_values = gp_reg_store_values,
-/* .reg_access_check = gp_reg_reg_access_check, */
- .get_secdesc = gp_reg_get_secdesc,
- .set_secdesc = gp_reg_set_secdesc
-};
-
/****************************************************************
****************************************************************/
@@ -101,24 +54,13 @@ WERROR gp_init_reg_ctx(TALLOC_CTX *mem_ctx,
struct gp_registry_context **reg_ctx)
{
struct gp_registry_context *tmp_ctx;
- static REGISTRY_HOOK gp_reg_hook;
WERROR werr;
if (!reg_ctx) {
return WERR_INVALID_PARAM;
}
- if (!regdb_init()) {
- return WERR_CAN_NOT_COMPLETE;
- }
-
- gp_reg_hook.keyname = initial_path; /* KEY_SAMBA_GROUP_POLICY */
- gp_reg_hook.ops = &gp_reg_ops;
-
- /* not sure about the cache hook */
- reghook_cache_init();
-
- if (!reghook_cache_add(&gp_reg_hook)) {
+ if (!registry_init_basic()) {
return WERR_CAN_NOT_COMPLETE;
}
@@ -515,7 +457,7 @@ WERROR gp_reg_state_store(TALLOC_CTX *mem_ctx,
token, ®_ctx);
W_ERROR_NOT_OK_RETURN(werr);
- werr = gp_secure_key(mem_ctx, flags, KEY_GROUP_POLICY,
+ werr = gp_secure_key(mem_ctx, flags, reg_ctx->curr_key,
&token->user_sids[0]);
if (!W_ERROR_IS_OK(werr)) {
DEBUG(0,("failed to secure key: %s\n", dos_errstr(werr)));
@@ -806,7 +748,7 @@ static WERROR gp_reg_generate_sd(TALLOC_CTX *mem_ctx,
WERROR gp_secure_key(TALLOC_CTX *mem_ctx,
uint32_t flags,
- const char *key,
+ struct registry_key *key,
const DOM_SID *sid)
{
struct security_descriptor *sd = NULL;
@@ -821,7 +763,7 @@ WERROR gp_secure_key(TALLOC_CTX *mem_ctx,
werr = gp_reg_generate_sd(mem_ctx, sd_sid, &sd, &sd_size);
W_ERROR_NOT_OK_RETURN(werr);
- return gp_reg_set_secdesc(key, sd);
+ return reg_setkeysecurity(key, sd);
}
/****************************************************************
@@ -1001,7 +943,7 @@ WERROR reg_apply_registry_entry(TALLOC_CTX *mem_ctx,
case GP_REG_ACTION_SEC_KEY_SET:
werr = gp_secure_key(mem_ctx, flags,
- entry->key,
+ key,
&token->user_sids[0]);
if (!W_ERROR_IS_OK(werr)) {
DEBUG(0,("reg_apply_registry_entry: "
--
Samba Shared Repository
More information about the samba-cvs
mailing list