From 0a250f4946a6045290229a276acf1e007c61450e Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Sat, 26 Feb 2011 00:28:15 +0100 Subject: [PATCH] registry: create and use shared libcli/registry/util_reg.h header. Guenther --- libcli/registry/util_reg.c | 1 + libcli/registry/util_reg.h | 32 +++++++++++++++++++ libgpo/gpext/gpext.c | 1 + source3/include/proto.h | 9 ------ source3/lib/smbconf/smbconf_reg.c | 1 + source3/libgpo/gpext/scripts.c | 1 + source3/libgpo/gpo_reg.c | 1 + source3/printing/nt_printing_ads.c | 1 + source3/registry/reg_objects.c | 1 + source3/registry/reg_perfcount.c | 1 + source3/rpc_client/cli_winreg.c | 1 + source3/rpc_server/netlogon/srv_netlog_nt.c | 1 + source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c | 1 + source3/rpc_server/spoolss/srv_spoolss_nt.c | 1 + source3/rpc_server/spoolss/srv_spoolss_util.c | 1 + source3/rpcclient/cmd_spoolss.c | 1 + source3/utils/eventlogadm.c | 1 + source3/utils/net_registry.c | 1 + source3/utils/net_registry_util.c | 1 + source3/utils/net_rpc_printer.c | 1 + source3/utils/net_rpc_registry.c | 1 + 21 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 libcli/registry/util_reg.h diff --git a/libcli/registry/util_reg.c b/libcli/registry/util_reg.c index 3a1168f6151..3139fc34608 100644 --- a/libcli/registry/util_reg.c +++ b/libcli/registry/util_reg.c @@ -21,6 +21,7 @@ #include "includes.h" #include "../librpc/gen_ndr/ndr_misc.h" +#include "../libcli/registry/util_reg.h" /** * @file diff --git a/libcli/registry/util_reg.h b/libcli/registry/util_reg.h new file mode 100644 index 00000000000..0250b4569e9 --- /dev/null +++ b/libcli/registry/util_reg.h @@ -0,0 +1,32 @@ +/* + * Unix SMB/CIFS implementation. + * Registry helper routines + * Copyright (C) Volker Lendecke 2006 + * Copyright (C) Guenther Deschner 2009 + * Copyright (C) Jelmer Vernooij 2003-2007 + * + * 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 . + */ + +#ifndef __LIBCLI_REGISTRY_UTIL_REG_H__ +#define __LIBCLI_REGISTRY_UTIL_REG_H__ + +const char *str_regtype(int type); +int regtype_by_string(const char *str); +bool push_reg_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char *s); +bool push_reg_multi_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char **a); +bool pull_reg_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char **s); +bool pull_reg_multi_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char ***a); + +#endif /* __LIBCLI_REGISTRY_UTIL_REG_H__ */ diff --git a/libgpo/gpext/gpext.c b/libgpo/gpext/gpext.c index 8c70f65221b..080bf074523 100644 --- a/libgpo/gpext/gpext.c +++ b/libgpo/gpext/gpext.c @@ -22,6 +22,7 @@ #include "../libgpo/gpext/gpext.h" #include "librpc/gen_ndr/ndr_misc.h" #include "lib/util/dlinklist.h" +#include "../libcli/registry/util_reg.h" #if _SAMBA_BUILD_ == 3 #include "libgpo/gpo_proto.h" #include "registry.h" diff --git a/source3/include/proto.h b/source3/include/proto.h index b1138234e07..307853f50ea 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1156,15 +1156,6 @@ NTSTATUS merge_nt_token(TALLOC_CTX *mem_ctx, struct security_token **token_out); bool token_sid_in_ace(const struct security_token *token, const struct security_ace *ace); -/* The following definitions come from ..libcli/registry/util_reg.c */ - -const char *str_regtype(int type); -int regtype_by_string(const char *str); -bool push_reg_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char *s); -bool push_reg_multi_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char **a); -bool pull_reg_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char **s); -bool pull_reg_multi_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char ***a); - /* The following definitions come from lib/util_sec.c */ void sec_init(void); diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c index 980c5b7e03d..adac2337322 100644 --- a/source3/lib/smbconf/smbconf_reg.c +++ b/source3/lib/smbconf/smbconf_reg.c @@ -27,6 +27,7 @@ #include "registry/reg_init_smbconf.h" #include "lib/smbconf/smbconf_init.h" #include "lib/smbconf/smbconf_reg.h" +#include "../libcli/registry/util_reg.h" #define INCLUDES_VALNAME "includes" diff --git a/source3/libgpo/gpext/scripts.c b/source3/libgpo/gpext/scripts.c index 09dc3de492e..3e977378ee4 100644 --- a/source3/libgpo/gpext/scripts.c +++ b/source3/libgpo/gpext/scripts.c @@ -23,6 +23,7 @@ #include "libgpo/gpo_proto.h" #include "registry.h" #include "registry/reg_api.h" +#include "../libcli/registry/util_reg.h" #define GP_EXT_NAME "scripts" diff --git a/source3/libgpo/gpo_reg.c b/source3/libgpo/gpo_reg.c index 45bef570b2b..d9fcd43cafc 100644 --- a/source3/libgpo/gpo_reg.c +++ b/source3/libgpo/gpo_reg.c @@ -26,6 +26,7 @@ #include "registry/reg_api_util.h" #include "registry/reg_init_basic.h" #include "../libcli/security/security.h" +#include "../libcli/registry/util_reg.h" /**************************************************************** diff --git a/source3/printing/nt_printing_ads.c b/source3/printing/nt_printing_ads.c index 70057ffad3d..56e68439ed2 100644 --- a/source3/printing/nt_printing_ads.c +++ b/source3/printing/nt_printing_ads.c @@ -26,6 +26,7 @@ #include "ads.h" #include "secrets.h" #include "krb5_env.h" +#include "../libcli/registry/util_reg.h" #ifdef HAVE_ADS /***************************************************************** diff --git a/source3/registry/reg_objects.c b/source3/registry/reg_objects.c index eb3437286a6..0fab3f7d8be 100644 --- a/source3/registry/reg_objects.c +++ b/source3/registry/reg_objects.c @@ -24,6 +24,7 @@ #include "registry.h" #include "reg_objects.h" #include "dbwrap.h" +#include "../libcli/registry/util_reg.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_perfcount.c b/source3/registry/reg_perfcount.c index 136f67fd8fb..4ed3305c158 100644 --- a/source3/registry/reg_perfcount.c +++ b/source3/registry/reg_perfcount.c @@ -24,6 +24,7 @@ #include "../librpc/gen_ndr/perfcount.h" #include "registry.h" #include "reg_perfcount.h" +#include "../libcli/registry/util_reg.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/rpc_client/cli_winreg.c b/source3/rpc_client/cli_winreg.c index 67f85738642..2517dbc50ab 100644 --- a/source3/rpc_client/cli_winreg.c +++ b/source3/rpc_client/cli_winreg.c @@ -23,6 +23,7 @@ #include "../librpc/gen_ndr/ndr_winreg_c.h" #include "../librpc/gen_ndr/ndr_security.h" #include "rpc_client/cli_winreg.h" +#include "../libcli/registry/util_reg.h" NTSTATUS dcerpc_winreg_query_dword(TALLOC_CTX *mem_ctx, struct dcerpc_binding_handle *h, diff --git a/source3/rpc_server/netlogon/srv_netlog_nt.c b/source3/rpc_server/netlogon/srv_netlog_nt.c index 478958c6219..6fe92eb1725 100644 --- a/source3/rpc_server/netlogon/srv_netlog_nt.c +++ b/source3/rpc_server/netlogon/srv_netlog_nt.c @@ -42,6 +42,7 @@ #include "lib/crypto/arcfour.h" #include "lib/crypto/md4.h" #include "nsswitch/libwbclient/wbclient.h" +#include "../libcli/registry/util_reg.h" extern userdom_struct current_user_info; diff --git a/source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c b/source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c index 87b267da266..57f642a0fe4 100644 --- a/source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c +++ b/source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c @@ -22,6 +22,7 @@ #include "includes.h" #include "../librpc/gen_ndr/srv_ntsvcs.h" #include "services/svc_winreg_glue.h" +#include "../libcli/registry/util_reg.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c index d95bd54aeca..56a27134421 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_nt.c +++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c @@ -45,6 +45,7 @@ #include "rpc_misc.h" #include "printing/notify.h" #include "serverid.h" +#include "../libcli/registry/util_reg.h" /* macros stolen from s4 spoolss server */ #define SPOOLSS_BUFFER_UNION(fn,info,level) \ diff --git a/source3/rpc_server/spoolss/srv_spoolss_util.c b/source3/rpc_server/spoolss/srv_spoolss_util.c index c49d610555a..9e9e253dd71 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_util.c +++ b/source3/rpc_server/spoolss/srv_spoolss_util.c @@ -30,6 +30,7 @@ #include "rpc_server/rpc_ncacn_np.h" #include "../libcli/security/security.h" #include "rpc_client/cli_winreg.h" +#include "../libcli/registry/util_reg.h" #define TOP_LEVEL_PRINT_KEY "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print" #define TOP_LEVEL_PRINT_PRINTERS_KEY TOP_LEVEL_PRINT_KEY "\\Printers" diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c index a246d27fe26..43d95db8f4d 100644 --- a/source3/rpcclient/cmd_spoolss.c +++ b/source3/rpcclient/cmd_spoolss.c @@ -33,6 +33,7 @@ #include "nt_printing.h" #include "../libcli/security/display_sec.h" #include "../libcli/security/security_descriptor.h" +#include "../libcli/registry/util_reg.h" #define RPCCLIENT_PRINTERNAME(_printername, _cli, _arg) \ { \ diff --git a/source3/utils/eventlogadm.c b/source3/utils/eventlogadm.c index fc69332d315..9ddd9c7df84 100644 --- a/source3/utils/eventlogadm.c +++ b/source3/utils/eventlogadm.c @@ -27,6 +27,7 @@ #include "registry.h" #include "registry/reg_backend_db.h" #include "registry/reg_objects.h" +#include "../libcli/registry/util_reg.h" extern int optind; extern char *optarg; diff --git a/source3/utils/net_registry.c b/source3/utils/net_registry.c index 84891aa0be8..7050b230226 100644 --- a/source3/utils/net_registry.c +++ b/source3/utils/net_registry.c @@ -33,6 +33,7 @@ #include #include "../libcli/security/display_sec.h" #include "../libcli/security/sddl.h" +#include "../libcli/registry/util_reg.h" /* * diff --git a/source3/utils/net_registry_util.c b/source3/utils/net_registry_util.c index 7cbf238aeb9..084378f7920 100644 --- a/source3/utils/net_registry_util.c +++ b/source3/utils/net_registry_util.c @@ -23,6 +23,7 @@ #include "registry.h" #include "utils/net_registry_util.h" #include "utils/net.h" +#include "../libcli/registry/util_reg.h" void print_registry_key(const char *keyname, NTTIME *modtime) { diff --git a/source3/utils/net_rpc_printer.c b/source3/utils/net_rpc_printer.c index 0e63d189470..20e5f52f62b 100644 --- a/source3/utils/net_rpc_printer.c +++ b/source3/utils/net_rpc_printer.c @@ -25,6 +25,7 @@ #include "nt_printing.h" #include "registry/reg_objects.h" #include "../libcli/security/security.h" +#include "../libcli/registry/util_reg.h" /* support itanium as well */ static const struct print_architecture_table_node archi_table[]= { diff --git a/source3/utils/net_rpc_registry.c b/source3/utils/net_rpc_registry.c index 5ccd1669450..190ab05819c 100644 --- a/source3/utils/net_rpc_registry.c +++ b/source3/utils/net_rpc_registry.c @@ -29,6 +29,7 @@ #include "registry/reg_import.h" #include #include "../libcli/security/display_sec.h" +#include "../libcli/registry/util_reg.h" /******************************************************************* -- 2.34.1