From e3f7fab668c1bf1366257f64a5099cca919ca358 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Mon, 24 May 2010 23:27:57 +0200 Subject: [PATCH] s3:registry: move registry_create_admin_token() to new reg_util_token.c --- source3/Makefile.in | 1 + source3/registry/reg_init_smbconf.c | 38 ----------------- .../{reg_init_smbconf.c => reg_util_token.c} | 49 ---------------------- 3 files changed, 1 insertion(+), 87 deletions(-) copy source3/registry/{reg_init_smbconf.c => reg_util_token.c} (60%) diff --git a/source3/Makefile.in b/source3/Makefile.in index f895374e339..7acbbbc536b 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -596,6 +596,7 @@ REG_BASE_OBJ = registry/reg_api.o \ $(REG_INIT_BASIC_OBJ) REG_SMBCONF_OBJ = $(REG_BASE_OBJ) \ + registry/reg_util_token.o \ $(REG_BACKENDS_SMBCONF_OBJ) \ $(REG_INIT_SMBCONF_OBJ) diff --git a/source3/registry/reg_init_smbconf.c b/source3/registry/reg_init_smbconf.c index 394de5883d7..f8110495575 100644 --- a/source3/registry/reg_init_smbconf.c +++ b/source3/registry/reg_init_smbconf.c @@ -28,44 +28,6 @@ extern struct registry_ops smbconf_reg_ops; /* - * create a fake token just with enough rights to - * locally access the registry: - * - * - builtin administrators sid - * - disk operators privilege - */ -NTSTATUS registry_create_admin_token(TALLOC_CTX *mem_ctx, - NT_USER_TOKEN **ptoken) -{ - NTSTATUS status; - NT_USER_TOKEN *token = NULL; - - if (ptoken == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - token = TALLOC_ZERO_P(mem_ctx, NT_USER_TOKEN); - if (token == NULL) { - DEBUG(1, ("talloc failed\n")); - status = NT_STATUS_NO_MEMORY; - goto done; - } - token->privileges = se_disk_operators; - status = add_sid_to_array(token, &global_sid_Builtin_Administrators, - &token->user_sids, &token->num_sids); - if (!NT_STATUS_IS_OK(status)) { - DEBUG(1, ("Error adding builtin administrators sid " - "to fake token.\n")); - goto done; - } - - *ptoken = token; - -done: - return status; -} - -/* * init the smbconf portion of the registry. * for use in places where not the whole registry is needed, * e.g. utils/net_conf.c and loadparm.c diff --git a/source3/registry/reg_init_smbconf.c b/source3/registry/reg_util_token.c similarity index 60% copy from source3/registry/reg_init_smbconf.c copy to source3/registry/reg_util_token.c index 394de5883d7..08ed4f4311b 100644 --- a/source3/registry/reg_init_smbconf.c +++ b/source3/registry/reg_util_token.c @@ -18,14 +18,6 @@ */ #include "includes.h" -#include "registry.h" -#include "reg_cachehook.h" -#include "reg_backend_db.h" - -#undef DBGC_CLASS -#define DBGC_CLASS DBGC_REGISTRY - -extern struct registry_ops smbconf_reg_ops; /* * create a fake token just with enough rights to @@ -64,44 +56,3 @@ NTSTATUS registry_create_admin_token(TALLOC_CTX *mem_ctx, done: return status; } - -/* - * init the smbconf portion of the registry. - * for use in places where not the whole registry is needed, - * e.g. utils/net_conf.c and loadparm.c - */ -WERROR registry_init_smbconf(const char *keyname) -{ - WERROR werr; - - DEBUG(10, ("registry_init_smbconf called\n")); - - if (keyname == NULL) { - DEBUG(10, ("registry_init_smbconf: defaulting to key '%s'\n", - KEY_SMBCONF)); - keyname = KEY_SMBCONF; - } - - werr = registry_init_common(); - if (!W_ERROR_IS_OK(werr)) { - goto done; - } - - werr = init_registry_key(keyname); - if (!W_ERROR_IS_OK(werr)) { - DEBUG(1, ("Failed to initialize registry key '%s': %s\n", - keyname, win_errstr(werr))); - goto done; - } - - werr = reghook_cache_add(keyname, &smbconf_reg_ops); - if (!W_ERROR_IS_OK(werr)) { - DEBUG(1, ("Failed to add smbconf reghooks to reghook cache: " - "%s\n", win_errstr(werr))); - goto done; - } - -done: - regdb_close(); - return werr; -} -- 2.11.4.GIT