s3-registry: remove unused reg_util_marshalling code.
authorGünther Deschner <gd@samba.org>
Thu, 1 Jul 2010 00:57:19 +0000 (02:57 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 2 Jul 2010 08:50:21 +0000 (10:50 +0200)
Guenther

source3/Makefile.in
source3/registry/reg_api.c
source3/registry/reg_util_marshalling.c [deleted file]
source3/registry/reg_util_marshalling.h [deleted file]
source3/rpc_server/srv_winreg_nt.c
source3/utils/net_rpc_registry.c
source3/wscript_build

index 905ab4cbf1e488b0d4d82ec86bee60b946edd3c7..afca6c3518d3bf4317988c958156811fb3df2ae0 100644 (file)
@@ -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)
index a3fcff859aace3de509cdbc461b6c482335501e5..4e3d871f6aea36d57164ef475ad5408d231a980c 100644 (file)
@@ -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 (file)
index d65b1a8..0000000
+++ /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 <http://www.gnu.org/licenses/>.
- */
-
-#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 (file)
index 289010a..0000000
+++ /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 <http://www.gnu.org/licenses/>.
- */
-
-#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 */
index 5cebcf1e1547c1a5b16960c038f12d918189ac39..209deadd70c89b31781906728b4ab3e4b13a74bd 100644 (file)
@@ -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
index 9fec13b371f7f5a7d78eb9894d8855055ef80b4e..0f781bbc03103fc43f2c32652d8c627525501e66 100644 (file)
@@ -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"
 
index cc7ebd3319f98052b00fe41f632980e2e78afe4b..b8d32d37b01f748804ea8bc975dfb110fa033507 100644 (file)
@@ -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}'''