From 786198e523257de75d9238cd993594e5f8a8a4b7 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 1 Jul 2010 02:57:19 +0200 Subject: s3-registry: remove unused reg_util_marshalling code. Guenther --- source3/Makefile.in | 3 - source3/registry/reg_api.c | 1 - source3/registry/reg_util_marshalling.c | 216 -------------------------------- source3/registry/reg_util_marshalling.h | 32 ----- source3/rpc_server/srv_winreg_nt.c | 1 - source3/utils/net_rpc_registry.c | 1 - source3/wscript_build | 2 - 7 files changed, 256 deletions(-) delete mode 100644 source3/registry/reg_util_marshalling.c delete mode 100644 source3/registry/reg_util_marshalling.h (limited to 'source3') diff --git a/source3/Makefile.in b/source3/Makefile.in index 905ab4cbf1..afca6c3518 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -563,8 +563,6 @@ LIBMSRPC_GEN_OBJ = librpc/gen_ndr/cli_lsa.o \ # UTIL_REG_OBJ = ../libcli/registry/util_reg.o -REG_UTIL_MARSHALLING_OBJ = registry/reg_util_marshalling.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 @@ -592,7 +590,6 @@ REG_BASE_OBJ = registry/reg_api.o \ $(REGFIO_OBJ) \ $(REGOBJS_OBJ) \ registry/reg_util_internal.o \ - $(REG_UTIL_MARSHALLING_OBJ) \ lib/util_nttoken.o \ $(REG_BACKENDS_BASE_OBJ) \ $(REG_INIT_BASIC_OBJ) diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c index a3fcff859a..4e3d871f6a 100644 --- a/source3/registry/reg_api.c +++ b/source3/registry/reg_api.c @@ -69,7 +69,6 @@ #include "reg_util_internal.h" #include "reg_backend_db.h" #include "reg_dispatcher.h" -#include "reg_util_marshalling.h" #include "reg_objects.h" #include "../librpc/gen_ndr/ndr_security.h" diff --git a/source3/registry/reg_util_marshalling.c b/source3/registry/reg_util_marshalling.c deleted file mode 100644 index d65b1a8672..0000000000 --- a/source3/registry/reg_util_marshalling.c +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * Registry helper routines - * Copyright (C) Volker Lendecke 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 . - */ - -#include "includes.h" -#include "registry.h" -#include "reg_util_marshalling.h" - -#undef DBGC_CLASS -#define DBGC_CLASS DBGC_REGISTRY - -WERROR registry_pull_value(TALLOC_CTX *mem_ctx, - struct registry_value **pvalue, - enum winreg_Type type, uint8 *data, - uint32 size, uint32 length) -{ - struct registry_value *value; - WERROR err; - - if (!(value = TALLOC_ZERO_P(mem_ctx, struct registry_value))) { - return WERR_NOMEM; - } - - value->type = type; - - switch (type) { - case REG_DWORD: - case REG_DWORD_BIG_ENDIAN: - if ((size != 4) || (length != 4)) { - err = WERR_INVALID_PARAM; - goto error; - } - value->v.dword = IVAL(data, 0); - break; - case REG_QWORD: - if ((size != 8) || (length != 8)) { - err = WERR_INVALID_PARAM; - goto error; - } - value->v.qword = BVAL(data, 0); - break; - case REG_SZ: - case REG_EXPAND_SZ: - { - /* - * Make sure we get a NULL terminated string for - * convert_string_talloc(). - */ - - smb_ucs2_t *tmp; - - if (length == 1) { - /* win2k regedit gives us a string of 1 byte when - * creating a new value of type REG_SZ. this workaround - * replaces the input by using the same string as - * winxp delivers. */ - length = 2; - if (!(tmp = SMB_MALLOC_ARRAY(smb_ucs2_t, 2))) { - err = WERR_NOMEM; - goto error; - } - tmp[0] = 0; - tmp[1] = 0; - DEBUG(10, ("got REG_SZ value of length 1 - workaround " - "activated.\n")); - } - else if ((length % 2) != 0) { - err = WERR_INVALID_PARAM; - goto error; - } - else { - uint32 num_ucs2 = length / 2; - if (!(tmp = SMB_MALLOC_ARRAY(smb_ucs2_t, num_ucs2+1))) { - err = WERR_NOMEM; - goto error; - } - - memcpy((void *)tmp, (const void *)data, length); - tmp[num_ucs2] = 0; - } - if (length + 2 < length) { - /* Integer wrap. */ - SAFE_FREE(tmp); - err = WERR_INVALID_PARAM; - goto error; - } - - if (!convert_string_talloc(value, CH_UTF16LE, CH_UNIX, tmp, - length+2, (void *)&value->v.sz.str, - &value->v.sz.len, False)) { - SAFE_FREE(tmp); - err = WERR_INVALID_PARAM; - goto error; - } - - SAFE_FREE(tmp); - break; - } - case REG_MULTI_SZ: { - int i; - const char **vals; - DATA_BLOB blob; - - blob = data_blob_const(data, length); - - if (!pull_reg_multi_sz(mem_ctx, &blob, &vals)) { - err = WERR_NOMEM; - goto error; - } - - for (i=0; vals[i]; i++) { - ;; - } - - value->v.multi_sz.num_strings = i; - value->v.multi_sz.strings = (char **)vals; - - break; - } - case REG_BINARY: - value->v.binary = data_blob_talloc(mem_ctx, data, length); - break; - default: - err = WERR_INVALID_PARAM; - goto error; - } - - *pvalue = value; - return WERR_OK; - - error: - TALLOC_FREE(value); - return err; -} - -WERROR registry_push_value(TALLOC_CTX *mem_ctx, - const struct registry_value *value, - DATA_BLOB *presult) -{ - switch (value->type) { - case REG_DWORD: - case REG_DWORD_BIG_ENDIAN: { - char buf[4]; - SIVAL(buf, 0, value->v.dword); - *presult = data_blob_talloc(mem_ctx, (void *)buf, 4); - if (presult->data == NULL) { - return WERR_NOMEM; - } - break; - } - case REG_QWORD: { - char buf[8]; - SBVAL(buf, 0, value->v.qword); - *presult = data_blob_talloc(mem_ctx, (void *)buf, 8); - if (presult->data == NULL) { - return WERR_NOMEM; - } - break; - } - case REG_SZ: - case REG_EXPAND_SZ: { - if (!push_reg_sz(mem_ctx, presult, value->v.sz.str)) - { - return WERR_NOMEM; - } - break; - } - case REG_MULTI_SZ: { - /* handle the case where we don't get a NULL terminated array */ - const char **array; - int i; - - array = talloc_array(mem_ctx, const char *, - value->v.multi_sz.num_strings + 1); - if (!array) { - return WERR_NOMEM; - } - - for (i=0; i < value->v.multi_sz.num_strings; i++) { - array[i] = value->v.multi_sz.strings[i]; - } - array[i] = NULL; - - if (!push_reg_multi_sz(mem_ctx, presult, array)) { - talloc_free(array); - return WERR_NOMEM; - } - talloc_free(array); - break; - } - case REG_BINARY: - *presult = data_blob_talloc(mem_ctx, - value->v.binary.data, - value->v.binary.length); - break; - default: - return WERR_INVALID_PARAM; - } - - return WERR_OK; -} diff --git a/source3/registry/reg_util_marshalling.h b/source3/registry/reg_util_marshalling.h deleted file mode 100644 index 289010a06d..0000000000 --- a/source3/registry/reg_util_marshalling.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * Registry helper routines - * Copyright (C) Volker Lendecke 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 . - */ - -#ifndef _REG_UTIL_MARSHALLING_H -#define _REG_UTIL_MARSHALLING_H - -WERROR registry_pull_value(TALLOC_CTX *mem_ctx, - struct registry_value **pvalue, - enum winreg_Type type, uint8 *data, - uint32 size, uint32 length); - -WERROR registry_push_value(TALLOC_CTX *mem_ctx, - const struct registry_value *value, - DATA_BLOB *presult); - -#endif /* _REG_UTIL_MARSHALLING_H */ diff --git a/source3/rpc_server/srv_winreg_nt.c b/source3/rpc_server/srv_winreg_nt.c index 5cebcf1e15..209deadd70 100644 --- a/source3/rpc_server/srv_winreg_nt.c +++ b/source3/rpc_server/srv_winreg_nt.c @@ -24,7 +24,6 @@ #include "../librpc/gen_ndr/srv_winreg.h" #include "registry.h" #include "registry/reg_perfcount.h" -#include "registry/reg_util_marshalling.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV diff --git a/source3/utils/net_rpc_registry.c b/source3/utils/net_rpc_registry.c index 9fec13b371..0f781bbc03 100644 --- a/source3/utils/net_rpc_registry.c +++ b/source3/utils/net_rpc_registry.c @@ -23,7 +23,6 @@ #include "utils/net_registry_util.h" #include "regfio.h" #include "../librpc/gen_ndr/cli_winreg.h" -#include "registry/reg_util_marshalling.h" #include "registry/reg_objects.h" #include "../librpc/gen_ndr/ndr_security.h" diff --git a/source3/wscript_build b/source3/wscript_build index cc7ebd3319..b8d32d37b0 100644 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -305,7 +305,6 @@ LIBMSRPC_GEN_SRC = '''../librpc/gen_ndr/cli_lsa.c # registry-related objects # UTIL_REG_SRC = '''../libcli/registry/util_reg.c''' -REG_UTIL_MARSHALLING_SRC = '''registry/reg_util_marshalling.c''' REG_INIT_BASIC_SRC = '''registry/reg_init_basic.c''' REG_INIT_SMBCONF_SRC = '''registry/reg_init_smbconf.c''' @@ -334,7 +333,6 @@ REG_BASE_SRC = '''registry/reg_api.c ${REGFIO_SRC} ${REGSRCS_SRC} registry/reg_util_internal.c - ${REG_UTIL_MARSHALLING_SRC} lib/util_nttoken.c ${REG_BACKENDS_BASE_SRC} ${REG_INIT_BASIC_SRC}''' -- cgit