diff options
-rw-r--r-- | source3/Makefile.in | 3 | ||||
-rw-r--r-- | source3/include/proto.h | 6 | ||||
-rw-r--r-- | source3/rpc_client/cli_reg.c | 62 | ||||
-rw-r--r-- | source3/utils/net_rpc_registry.c | 40 |
4 files changed, 42 insertions, 69 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index 0a48b01bd9..26b33639e4 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -519,7 +519,8 @@ RPC_CLIENT_OBJ1 = rpc_client/cli_netlogon.o \ $(SCHANNEL_OBJ) LIBMSRPC_OBJ = rpc_client/cli_lsarpc.o rpc_client/cli_samr.o \ - $(RPC_CLIENT_OBJ1) rpc_client/cli_reg.o $(RPC_CLIENT_OBJ) \ + $(RPC_CLIENT_OBJ1) \ + $(RPC_CLIENT_OBJ) \ rpc_client/cli_spoolss.o \ rpc_client/init_spoolss.o \ rpc_client/init_samr.o \ diff --git a/source3/include/proto.h b/source3/include/proto.h index d99490e4ce..ba2f42688d 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -5416,12 +5416,6 @@ NTSTATUS rpc_transport_smbd_init(TALLOC_CTX *mem_ctx, NTSTATUS rpc_transport_sock_init(TALLOC_CTX *mem_ctx, int fd, struct rpc_cli_transport **presult); -/* The following definitions come from rpc_client/cli_reg.c */ - -NTSTATUS rpccli_winreg_Connect(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - uint32 reg_type, uint32 access_mask, - struct policy_handle *reg_hnd); - /* The following definitions come from rpc_client/cli_samr.c */ NTSTATUS rpccli_samr_chgpasswd_user(struct rpc_pipe_client *cli, diff --git a/source3/rpc_client/cli_reg.c b/source3/rpc_client/cli_reg.c deleted file mode 100644 index ec200a24ae..0000000000 --- a/source3/rpc_client/cli_reg.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - Unix SMB/CIFS implementation. - RPC Pipe client - - Copyright (C) Gerald (Jerry) Carter 2005-2006 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "includes.h" -#include "rpc_client.h" - -/******************************************************************* - connect to a registry hive root (open a registry policy) -*******************************************************************/ - -NTSTATUS rpccli_winreg_Connect(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - uint32 reg_type, uint32 access_mask, - struct policy_handle *reg_hnd) -{ - ZERO_STRUCTP(reg_hnd); - - switch (reg_type) - { - case HKEY_CLASSES_ROOT: - return rpccli_winreg_OpenHKCR( cli, mem_ctx, NULL, - access_mask, reg_hnd, NULL); - - case HKEY_LOCAL_MACHINE: - return rpccli_winreg_OpenHKLM( cli, mem_ctx, NULL, - access_mask, reg_hnd, NULL); - - case HKEY_USERS: - return rpccli_winreg_OpenHKU( cli, mem_ctx, NULL, - access_mask, reg_hnd, NULL); - - case HKEY_CURRENT_USER: - return rpccli_winreg_OpenHKCU( cli, mem_ctx, NULL, - access_mask, reg_hnd, NULL); - - case HKEY_PERFORMANCE_DATA: - return rpccli_winreg_OpenHKPD( cli, mem_ctx, NULL, - access_mask, reg_hnd, NULL); - - default: - /* fall through to end of function */ - break; - } - - return NT_STATUS_INVALID_PARAMETER; -} diff --git a/source3/utils/net_rpc_registry.c b/source3/utils/net_rpc_registry.c index d9eb9b3c09..36e83a75af 100644 --- a/source3/utils/net_rpc_registry.c +++ b/source3/utils/net_rpc_registry.c @@ -23,6 +23,46 @@ #include "regfio.h" #include "reg_objects.h" +/******************************************************************* + connect to a registry hive root (open a registry policy) +*******************************************************************/ + +static NTSTATUS rpccli_winreg_Connect(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + uint32_t reg_type, uint32_t access_mask, + struct policy_handle *reg_hnd) +{ + ZERO_STRUCTP(reg_hnd); + + switch (reg_type) + { + case HKEY_CLASSES_ROOT: + return rpccli_winreg_OpenHKCR( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + case HKEY_LOCAL_MACHINE: + return rpccli_winreg_OpenHKLM( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + case HKEY_USERS: + return rpccli_winreg_OpenHKU( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + case HKEY_CURRENT_USER: + return rpccli_winreg_OpenHKCU( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + case HKEY_PERFORMANCE_DATA: + return rpccli_winreg_OpenHKPD( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + default: + /* fall through to end of function */ + break; + } + + return NT_STATUS_INVALID_PARAMETER; +} + static bool reg_hive_key(TALLOC_CTX *ctx, const char *fullname, uint32 *reg_type, const char **key_name) { |