[SCM] Samba Shared Repository - branch master updated

Michael Adam obnox at samba.org
Tue Nov 20 11:19:03 MST 2012


The branch, master has been updated
       via  611675f s3: Fix some blank line endings
       via  1199ab1 librpc/idl: teach ndrdump about dumping security.idl structures
       via  6b12360 s3:librpc: add support for PFC_FLAG_OBJECT_UUID when parsing packets (bug #9382)
       via  6568a26 s4:torture/rpc/handles: try to make the assoc_group test less flakey
       via  14ee2cd s4:torture/rpc/handles: move a torture_comment()
       via  4fb0b61 s3:param: set "map archive = no" in ROLE_ACTIVE_DIRECTORY_DC
      from  f0c8c85 examples: fix build on AIX6

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 611675fb37b5745bd2ff81bfa5739c050b15e9a7
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Nov 7 16:22:07 2012 +0100

    s3: Fix some blank line endings
    
    Reviewed-by: Michael Adam <obnox at samba.org>
    
    Autobuild-User(master): Michael Adam <obnox at samba.org>
    Autobuild-Date(master): Tue Nov 20 19:18:33 CET 2012 on sn-devel-104

commit 1199ab1f84dc7858afa137be2743c8df0735e3aa
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Nov 13 09:34:43 2012 +0100

    librpc/idl: teach ndrdump about dumping security.idl structures
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 6b123607c8afa30a7f9dc62101063eb8a9a00779
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 12 10:16:50 2012 +0100

    s3:librpc: add support for PFC_FLAG_OBJECT_UUID when parsing packets (bug #9382)
    
    Now the logic matches the one in dcerpc_read_ncacn_packet_done().
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 6568a26f0142950300ae8503b8bc2bffb8a77352
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Nov 14 08:45:10 2012 +0100

    s4:torture/rpc/handles: try to make the assoc_group test less flakey
    
    Just incrementing the assoc_group_id makes it too likely to hit
    a number that is already in use.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 14ee2cd938a963d5b3398eed4f21ff64630afdcd
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Nov 20 14:13:16 2012 +0100

    s4:torture/rpc/handles: move a torture_comment()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 4fb0b61ad8fd45a7eff7756d43ce646ed051ee1a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Nov 20 13:50:46 2012 +0100

    s3:param: set "map archive = no" in ROLE_ACTIVE_DIRECTORY_DC
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 librpc/idl/security.idl             |   21 +++++++++++++++++++++
 source3/lib/dbwrap/dbwrap_ctdb.c    |   20 ++++++++++----------
 source3/librpc/rpc/dcerpc_helpers.c |    4 ++++
 source3/param/loadparm.c            |    1 +
 source4/torture/rpc/handles.c       |   11 ++++++++---
 5 files changed, 44 insertions(+), 13 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/security.idl b/librpc/idl/security.idl
index 33085c4..d4324ab 100644
--- a/librpc/idl/security.idl
+++ b/librpc/idl/security.idl
@@ -26,6 +26,11 @@ cpp_quote("#define dom_sid28 dom_sid")
 cpp_quote("#define dom_sid0 dom_sid")
 
 [
+	/*
+	 * cbf7d408-2d6c-11e2-ae5b-0b5692790e18 just to make ndrdump happy
+	 */
+	uuid("cbf7d408-2d6c-11e2-ae5b-0b5692790e18"),
+	version(0.0),
 	pyhelper("librpc/ndr/py_security.c"),
 	pointer_default(unique)
 ]
@@ -571,11 +576,19 @@ interface security
 		[relative] security_acl *dacl; /* user (discretionary) ACL */
 	} security_descriptor;
 
+	[nopython] void decode_security_descriptor (
+		[in] security_descriptor sd
+		);
+
 	typedef [public] struct {
 		[range(0,0x40000),value(ndr_size_security_descriptor(sd,ndr->flags))] uint32 sd_size;
 		[subcontext(4)] security_descriptor *sd;
 	} sec_desc_buf;
 
+	[nopython] void decode_sec_desc_buf (
+		[in] sec_desc_buf sd_buf
+		);
+
 	/* This is not yet sent over the network, but is simply defined in IDL */
 	typedef [public] struct {
 		uint32 num_sids;
@@ -584,6 +597,10 @@ interface security
 		lsa_SystemAccessModeFlags rights_mask;
 	} security_token;
 
+	[nopython] void decode_security_token (
+		[in] security_token token
+		);
+
 	/* This is not yet sent over the network, but is simply defined in IDL */
 	typedef [public] struct {
 		uid_t uid;
@@ -592,6 +609,10 @@ interface security
 		[size_is(ngroups)] gid_t groups[*];
 	} security_unix_token;
 
+	[nopython] void decode_security_unix_token (
+		[in] security_unix_token unix_token
+		);
+
 	/* bits that determine which parts of a security descriptor
 	   are being queried/set */
 	typedef [public,bitmap32bit] bitmap {
diff --git a/source3/lib/dbwrap/dbwrap_ctdb.c b/source3/lib/dbwrap/dbwrap_ctdb.c
index 9a03607..e4c87ea 100644
--- a/source3/lib/dbwrap/dbwrap_ctdb.c
+++ b/source3/lib/dbwrap/dbwrap_ctdb.c
@@ -1,4 +1,4 @@
-/* 
+/*
    Unix SMB/CIFS implementation.
    Database interface wrapper around ctdbd
    Copyright (C) Volker Lendecke 2007-2009
@@ -181,15 +181,15 @@ static NTSTATUS db_ctdb_ltdb_store(struct db_ctdb_ctx *db,
   note that header may be NULL. If not NULL then it is included in the data portion
   of the record
  */
-static struct ctdb_rec_data *db_ctdb_marshall_record(TALLOC_CTX *mem_ctx, uint32_t reqid,	
-						  TDB_DATA key, 
+static struct ctdb_rec_data *db_ctdb_marshall_record(TALLOC_CTX *mem_ctx, uint32_t reqid,
+						  TDB_DATA key,
 						  struct ctdb_ltdb_header *header,
 						  TDB_DATA data)
 {
 	size_t length;
 	struct ctdb_rec_data *d;
 
-	length = offsetof(struct ctdb_rec_data, data) + key.dsize + 
+	length = offsetof(struct ctdb_rec_data, data) + key.dsize +
 		data.dsize + (header?sizeof(*header):0);
 	d = (struct ctdb_rec_data *)talloc_size(mem_ctx, length);
 	if (d == NULL) {
@@ -212,7 +212,7 @@ static struct ctdb_rec_data *db_ctdb_marshall_record(TALLOC_CTX *mem_ctx, uint32
 
 
 /* helper function for marshalling multiple records */
-static struct ctdb_marshall_buffer *db_ctdb_marshall_add(TALLOC_CTX *mem_ctx, 
+static struct ctdb_marshall_buffer *db_ctdb_marshall_add(TALLOC_CTX *mem_ctx,
 					       struct ctdb_marshall_buffer *m,
 					       uint64_t db_id,
 					       uint32_t reqid,
@@ -267,8 +267,8 @@ static TDB_DATA db_ctdb_marshall_finish(struct ctdb_marshall_buffer *m)
 	return data;
 }
 
-/* 
-   loop over a marshalling buffer 
+/*
+   loop over a marshalling buffer
 
      - pass r==NULL to start
      - loop the number of times indicated by m->count
@@ -353,7 +353,7 @@ static int db_ctdb_transaction_start(struct db_context *db)
 
 	h = talloc_zero(db, struct db_ctdb_transaction_handle);
 	if (h == NULL) {
-		DEBUG(0,(__location__ " oom for transaction handle\n"));		
+		DEBUG(0,(__location__ " oom for transaction handle\n"));
 		return -1;
 	}
 
@@ -592,7 +592,7 @@ static struct db_record *db_ctdb_fetch_locked_persistent(struct db_ctdb_ctx *ctx
 
 	rec = db_ctdb_fetch_locked_transaction(ctx, mem_ctx, key);
 	if (rec == NULL) {
-		ctx->db->transaction_cancel(ctx->db);		
+		ctx->db->transaction_cancel(ctx->db);
 		return NULL;
 	}
 
@@ -677,7 +677,7 @@ static NTSTATUS db_ctdb_store_transaction(struct db_record *rec, TDB_DATA data,
 	return status;
 }
 
-/* 
+/*
    a record delete inside a transaction
  */
 static NTSTATUS db_ctdb_delete_transaction(struct db_record *rec)
diff --git a/source3/librpc/rpc/dcerpc_helpers.c b/source3/librpc/rpc/dcerpc_helpers.c
index 5f8c793..d36c2da 100644
--- a/source3/librpc/rpc/dcerpc_helpers.c
+++ b/source3/librpc/rpc/dcerpc_helpers.c
@@ -111,6 +111,10 @@ NTSTATUS dcerpc_pull_ncacn_packet(TALLOC_CTX *mem_ctx,
 		ndr->flags |= LIBNDR_FLAG_BIGENDIAN;
 	}
 
+	if (CVAL(blob->data, DCERPC_PFC_OFFSET) & DCERPC_PFC_FLAG_OBJECT_UUID) {
+		ndr->flags |= LIBNDR_FLAG_OBJECT_PRESENT;
+	}
+
 	ndr_err = ndr_pull_ncacn_packet(ndr, NDR_SCALARS|NDR_BUFFERS, r);
 
 	if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 8ad0fc9..0e1b019 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -3500,6 +3500,7 @@ static void init_locals(void)
 		lp_do_parameter(-1, "map hidden", "no");
 		lp_do_parameter(-1, "map system", "no");
 		lp_do_parameter(-1, "map readonly", "no");
+		lp_do_parameter(-1, "map archive", "no");
 		lp_do_parameter(-1, "store dos attributes", "yes");
 		lp_do_parameter(-1, "create mask", "0777");
 		lp_do_parameter(-1, "directory mask", "0777");
diff --git a/source4/torture/rpc/handles.c b/source4/torture/rpc/handles.c
index 6b51eb5..3fdce56 100644
--- a/source4/torture/rpc/handles.c
+++ b/source4/torture/rpc/handles.c
@@ -504,10 +504,15 @@ static bool test_handles_random_assoc(struct torture_context *torture)
 	status = torture_rpc_connection(torture, &p1, &ndr_table_samr);
 	torture_assert_ntstatus_ok(torture, status, "opening samr pipe1");
 
-	transport	= p1->conn->transport.transport;
-	assoc_group_id	= p1->assoc_group_id;
+	torture_comment(torture, "pipe1 uses assoc_group_id[0x%08X]\n",
+			p1->assoc_group_id);
 
-	torture_comment(torture, "pipe1 uses assoc_group_id[0x%08X]\n", assoc_group_id);
+	transport	= p1->conn->transport.transport;
+	/*
+	 * We use ~p1->assoc_group_id instead of p1->assoc_group_id, because
+	 * this way we are less likely to use an id which is already in use.
+	 */
+	assoc_group_id	= ~p1->assoc_group_id;
 
 	torture_comment(torture, "connect samr pipe2 with assoc_group_id[0x%08X]- should fail\n", ++assoc_group_id);
 	status = torture_rpc_connection_transport(torture, &p2, &ndr_table_samr,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list