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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> commit 91bfd5f201f302156fac7f1bc7a685e6f3c22cf3 Author: Matthias Dieter Wallnöfer <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> ----------------------------------------------------------------------- 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