summaryrefslogtreecommitdiff
path: root/source3/registry
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2010-07-01 11:22:20 +0200
committerGünther Deschner <gd@samba.org>2010-07-02 10:50:22 +0200
commitd9429a874c5bd463f4b89db55fdae14b1764a494 (patch)
tree768335458b04e9067d81143204b401b407016875 /source3/registry
parentddb8fae40174c72be8b3b6fc1c67cbaad3343153 (diff)
downloadsamba-d9429a874c5bd463f4b89db55fdae14b1764a494.tar.gz
samba-d9429a874c5bd463f4b89db55fdae14b1764a494.tar.bz2
samba-d9429a874c5bd463f4b89db55fdae14b1764a494.zip
s3-registry: remove 2 byte winreg type limitation.
We already pull and push 4 byte winreg type in the registry.tdb, we were just not using full 4 bytes within the reg_object functions. With this change we finally pass the set extended value torture test. Guenther
Diffstat (limited to 'source3/registry')
-rw-r--r--source3/registry/reg_objects.c6
-rw-r--r--source3/registry/reg_objects.h4
2 files changed, 5 insertions, 5 deletions
diff --git a/source3/registry/reg_objects.c b/source3/registry/reg_objects.c
index 459f7fca70..04b981015e 100644
--- a/source3/registry/reg_objects.c
+++ b/source3/registry/reg_objects.c
@@ -31,7 +31,7 @@
struct regval_blob {
fstring valuename;
- uint16_t type;
+ uint32_t type;
/* this should be encapsulated in an RPC_DATA_BLOB */
uint32_t size; /* in bytes */
uint8_t *data_p;
@@ -460,7 +460,7 @@ bool regval_ctr_key_exists(struct regval_ctr *ctr, const char *value)
**********************************************************************/
struct regval_blob *regval_compose(TALLOC_CTX *ctx, const char *name,
- uint16_t type,
+ uint32_t type,
const uint8_t *data_p, size_t size)
{
struct regval_blob *regval = TALLOC_P(ctx, struct regval_blob);
@@ -489,7 +489,7 @@ struct regval_blob *regval_compose(TALLOC_CTX *ctx, const char *name,
Add a new registry value to the array
**********************************************************************/
-int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16_t type,
+int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint32_t type,
const uint8_t *data_p, size_t size)
{
if ( !name )
diff --git a/source3/registry/reg_objects.h b/source3/registry/reg_objects.h
index 737a2d5021..a84bc8a80b 100644
--- a/source3/registry/reg_objects.h
+++ b/source3/registry/reg_objects.h
@@ -57,9 +57,9 @@ struct regval_blob* regval_ctr_specific_value(struct regval_ctr *ctr,
uint32_t idx);
bool regval_ctr_key_exists(struct regval_ctr *ctr, const char *value);
struct regval_blob *regval_compose(TALLOC_CTX *ctx, const char *name,
- uint16_t type,
+ uint32_t type,
const uint8_t *data_p, size_t size);
-int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16_t type,
+int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint32_t type,
const uint8_t *data_p, size_t size);
int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const char *data);
int regval_ctr_addvalue_multi_sz(struct regval_ctr *ctr, const char *name, const char **data);