[SCM] Samba Shared Repository - branch master updated
Matthias Dieter Wallnöfer
mdw at samba.org
Tue Mar 23 09:46:43 MDT 2010
The branch, master has been updated
via bebb17a... s4:WINREG torture - fix an error (missing "break" in a "switch")
via 3a24888... s4:registry - "reg_ldb_pack_value" - provide workarounds when the server receives non-standard data.
via 0426b5b... s4:registry - "LDB backend" - fix indentation
from 97a974e... s4-smbtorture: use torture_context for debugging output everywhere in libnet torture tests.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit bebb17ad0e8a9508bf6b083c4f709001fc6998c5
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date: Tue Mar 23 16:43:41 2010 +0100
s4:WINREG torture - fix an error (missing "break" in a "switch")
Sorry my fault - I didn't discover that earlier since we had binary data types
support activated in s4.
commit 3a2488870f8f52e14948b50ec9b91de1c9a990b9
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date: Tue Mar 23 16:19:26 2010 +0100
s4:registry - "reg_ldb_pack_value" - provide workarounds when the server receives non-standard data.
For now we reset/delete the "data" attribute. Anyway there is the need to find
a better solution (we probably want to change the format and save all data as
we got it like Windows itself does).
These workarounds are needed since for example the Windows 2000 Registry Editor
initialises empty REG_SZ strings with content '\0' and length 1 (not a valid
UTF16 sequence - "convert_string_talloc" breaks). So we simply reset/delete the
"data" attribute which works (no content).
commit 0426b5b78678f4ffe564aa58a00a8f01790e7b1f
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date: Tue Mar 23 16:17:25 2010 +0100
s4:registry - "LDB backend" - fix indentation
-----------------------------------------------------------------------
Summary of changes:
source4/lib/registry/ldb.c | 12 +++++++++++-
source4/torture/rpc/winreg.c | 1 +
2 files changed, 12 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/lib/registry/ldb.c b/source4/lib/registry/ldb.c
index a4675c8..b897641 100644
--- a/source4/lib/registry/ldb.c
+++ b/source4/lib/registry/ldb.c
@@ -162,6 +162,9 @@ static struct ldb_message *reg_ldb_pack_value(struct ldb_context *ctx,
false);
if (ret2) {
ret = ldb_msg_add_value(msg, "data", val, NULL);
+ } else {
+ /* workaround for non-standard data */
+ ret = ldb_msg_add_empty(msg, "data", LDB_FLAG_MOD_DELETE, NULL);
}
} else {
ret = ldb_msg_add_empty(msg, "data", LDB_FLAG_MOD_DELETE, NULL);
@@ -181,6 +184,9 @@ static struct ldb_message *reg_ldb_pack_value(struct ldb_context *ctx,
return NULL;
}
ret = ldb_msg_add_string(msg, "data", conv_str);
+ } else {
+ /* workaround for non-standard data */
+ ret = ldb_msg_add_empty(msg, "data", LDB_FLAG_MOD_DELETE, NULL);
}
} else {
ret = ldb_msg_add_empty(msg, "data", LDB_FLAG_MOD_DELETE, NULL);
@@ -192,12 +198,16 @@ static struct ldb_message *reg_ldb_pack_value(struct ldb_context *ctx,
if (data.length == sizeof(uint64_t)) {
char *conv_str;
- conv_str = talloc_asprintf(msg, "0x%16.16llx", BVAL(data.data, 0));
+ conv_str = talloc_asprintf(msg, "0x%16.16llx",
+ BVAL(data.data, 0));
if (conv_str == NULL) {
talloc_free(msg);
return NULL;
}
ret = ldb_msg_add_string(msg, "data", conv_str);
+ } else {
+ /* workaround for non-standard data */
+ ret = ldb_msg_add_empty(msg, "data", LDB_FLAG_MOD_DELETE, NULL);
}
} else {
ret = ldb_msg_add_empty(msg, "data", LDB_FLAG_MOD_DELETE, NULL);
diff --git a/source4/torture/rpc/winreg.c b/source4/torture/rpc/winreg.c
index da46c13..8b57dd8 100644
--- a/source4/torture/rpc/winreg.c
+++ b/source4/torture/rpc/winreg.c
@@ -1949,6 +1949,7 @@ static bool test_SetValue_simple(struct dcerpc_binding_handle *b,
case REG_QWORD:
blob = data_blob_talloc_zero(tctx, 8);
SBVAL(blob.data, 0, value2);
+ break;
case REG_BINARY:
blob = data_blob_string_const("binary_blob");
break;
--
Samba Shared Repository
More information about the samba-cvs
mailing list