[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