[SCM] Samba Shared Repository - branch master updated -
6e4cc12604f6bcf53961326d497f118dfe5da139
Günther Deschner
gd at samba.org
Tue Dec 9 23:08:03 GMT 2008
The branch, master has been updated
via 6e4cc12604f6bcf53961326d497f118dfe5da139 (commit)
via 91bfd5f201f302156fac7f1bc7a685e6f3c22cf3 (commit)
from e0711ffa526e22e3ffe483319ce5d7725d578647 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 6e4cc12604f6bcf53961326d497f118dfe5da139
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date: Tue Dec 9 23:32:04 2008 +0100
s4-samr: Fix Bug #5946. userparameters handling in torture test.
Signed-off-by: Günther Deschner <gd at samba.org>
commit 91bfd5f201f302156fac7f1bc7a685e6f3c22cf3
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date: Tue Dec 9 23:31:15 2008 +0100
s4-samr: Fix Bug #5946. userparameters handling in samr server.
Signed-off-by: Günther Deschner <gd at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source4/rpc_server/samr/dcesrv_samr.c | 10 ++++++----
source4/torture/rpc/samr.c | 8 +++++++-
2 files changed, 13 insertions(+), 5 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c
index 680fb77..df23e11 100644
--- a/source4/rpc_server/samr/dcesrv_samr.c
+++ b/source4/rpc_server/samr/dcesrv_samr.c
@@ -140,11 +140,13 @@
#define SET_PARAMETERS(msg, field, attr) do { \
struct ldb_message_element *set_el; \
- if (samdb_msg_add_parameters(sam_ctx, mem_ctx, msg, attr, &r->in.info->field) != 0) { \
- return NT_STATUS_NO_MEMORY; \
+ if (r->in.info->field.length != 0) { \
+ if (samdb_msg_add_parameters(sam_ctx, mem_ctx, msg, attr, &r->in.info->field) != 0) { \
+ return NT_STATUS_NO_MEMORY; \
+ } \
+ set_el = ldb_msg_find_element(msg, attr); \
+ set_el->flags = LDB_FLAG_MOD_REPLACE; \
} \
- set_el = ldb_msg_find_element(msg, attr); \
- set_el->flags = LDB_FLAG_MOD_REPLACE; \
} while (0)
diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c
index d29c864..2912628 100644
--- a/source4/torture/rpc/samr.c
+++ b/source4/torture/rpc/samr.c
@@ -409,6 +409,12 @@ static bool test_SetUserInfo(struct dcerpc_pipe *p, struct torture_context *tctx
SAMR_FIELD_PARAMETERS);
TEST_USERINFO_BINARYSTRING(21, parameters, 20, parameters, "xx21-20 parameters",
SAMR_FIELD_PARAMETERS);
+ /* also empty user parameters are allowed */
+ TEST_USERINFO_BINARYSTRING(20, parameters, 21, parameters, "", 0);
+ TEST_USERINFO_BINARYSTRING(21, parameters, 21, parameters, "",
+ SAMR_FIELD_PARAMETERS);
+ TEST_USERINFO_BINARYSTRING(21, parameters, 20, parameters, "",
+ SAMR_FIELD_PARAMETERS);
TEST_USERINFO_INT(2, country_code, 2, country_code, __LINE__, 0);
TEST_USERINFO_INT(2, country_code, 21, country_code, __LINE__, 0);
@@ -2674,7 +2680,7 @@ static bool test_SetPassword_pwdlastset(struct dcerpc_pipe *p,
struct policy_handle *handle,
char **password)
{
- int i, s = 0, q = 0, f = 0, l = 0, z = 0;
+ int s = 0, q = 0, f = 0, l = 0, z = 0;
bool ret = true;
int delay = 500000;
bool set_levels[] = { false, true };
--
Samba Shared Repository
More information about the samba-cvs
mailing list