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 <v...@samba.org> Date: Wed Nov 7 16:22:07 2012 +0100 s3: Fix some blank line endings Reviewed-by: Michael Adam <ob...@samba.org> Autobuild-User(master): Michael Adam <ob...@samba.org> Autobuild-Date(master): Tue Nov 20 19:18:33 CET 2012 on sn-devel-104 commit 1199ab1f84dc7858afa137be2743c8df0735e3aa Author: Stefan Metzmacher <me...@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 <me...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 6b123607c8afa30a7f9dc62101063eb8a9a00779 Author: Stefan Metzmacher <me...@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 <me...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 6568a26f0142950300ae8503b8bc2bffb8a77352 Author: Stefan Metzmacher <me...@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 <me...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 14ee2cd938a963d5b3398eed4f21ff64630afdcd Author: Stefan Metzmacher <me...@samba.org> Date: Tue Nov 20 14:13:16 2012 +0100 s4:torture/rpc/handles: move a torture_comment() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 4fb0b61ad8fd45a7eff7756d43ce646ed051ee1a Author: Stefan Metzmacher <me...@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 <me...@samba.org> Reviewed-by: Michael Adam <ob...@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