[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Thu Aug 12 06:33:15 MDT 2010


The branch, master has been updated
       via  2828318... s4:librpc/rpc: fix dcerpc_log_packet() prototype
       via  af89b46... s4:librpc/rpc: autodetect the need of async call logic
      from  a2e1f54... pidl:Samba3/ClientNDR: ignore "todo" functions

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


- Log -----------------------------------------------------------------
commit 282831874379445a071dfe157ae4cfba6aeb10aa
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Aug 10 15:11:02 2010 +0200

    s4:librpc/rpc: fix dcerpc_log_packet() prototype
    
    metze

commit af89b460f72acb843b57a80a8f61a26056dc0dd2
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 10:50:47 2010 +0200

    s4:librpc/rpc: autodetect the need of async call logic
    
    metze

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

Summary of changes:
 source4/librpc/rpc/dcerpc.c      |   13 ++++++-------
 source4/librpc/rpc/dcerpc.h      |    7 +++----
 source4/librpc/rpc/dcerpc_util.c |    6 +++---
 3 files changed, 12 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index a04dbb1..3d50807 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -897,7 +897,6 @@ req_done:
 static struct rpc_request *dcerpc_request_send(struct dcerpc_pipe *p, 
 					       const struct GUID *object,
 					       uint16_t opnum,
-					       bool async,
 					       DATA_BLOB *stub_data)
 {
 	struct rpc_request *req;
@@ -916,7 +915,6 @@ static struct rpc_request *dcerpc_request_send(struct dcerpc_pipe *p,
 	req->payload = data_blob(NULL, 0);
 	req->flags = 0;
 	req->fault_code = 0;
-	req->async_call = async;
 	req->ignore_timeout = false;
 	req->async.callback = NULL;
 	req->async.private_data = NULL;
@@ -967,6 +965,7 @@ static void dcerpc_ship_next_request(struct dcerpc_connection *c)
 	uint32_t remaining, chunk_size;
 	bool first_packet = true;
 	size_t sig_size = 0;
+	bool need_async = false;
 
 	req = c->request_queue;
 	if (req == NULL) {
@@ -976,8 +975,8 @@ static void dcerpc_ship_next_request(struct dcerpc_connection *c)
 	p = req->p;
 	stub_data = &req->request_data;
 
-	if (!req->async_call && (c->pending != NULL)) {
-		return;
+	if (c->pending) {
+		need_async = true;
 	}
 
 	DLIST_REMOVE(c->request_queue, req);
@@ -1045,7 +1044,7 @@ static void dcerpc_ship_next_request(struct dcerpc_connection *c)
 			return;
 		}
 
-		if (last_frag && !req->async_call) {
+		if (last_frag && !need_async) {
 			do_trans = true;
 		}
 
@@ -1119,7 +1118,7 @@ NTSTATUS dcerpc_request(struct dcerpc_pipe *p,
 {
 	struct rpc_request *req;
 
-	req = dcerpc_request_send(p, object, opnum, false, stub_data_in);
+	req = dcerpc_request_send(p, object, opnum, stub_data_in);
 	if (req == NULL) {
 		return NT_STATUS_NO_MEMORY;
 	}
@@ -1385,7 +1384,7 @@ struct rpc_request *dcerpc_ndr_request_send(struct dcerpc_pipe *p,
 	dump_data(10, request.data, request.length);
 
 	/* make the actual dcerpc request */
-	req = dcerpc_request_send(p, object, opnum, async, &request);
+	req = dcerpc_request_send(p, object, opnum, &request);
 
 	if (req != NULL) {
 		req->ndr.table = table;
diff --git a/source4/librpc/rpc/dcerpc.h b/source4/librpc/rpc/dcerpc.h
index b187504..0fe227d 100644
--- a/source4/librpc/rpc/dcerpc.h
+++ b/source4/librpc/rpc/dcerpc.h
@@ -230,7 +230,6 @@ struct rpc_request {
 	const struct GUID *object;
 	uint16_t opnum;
 	DATA_BLOB request_data;
-	bool async_call;
 	bool ignore_timeout;
 
 	/* use by the ndr level async recv call */
@@ -361,9 +360,9 @@ NTSTATUS dcerpc_secondary_auth_connection_recv(struct composite_context *c,
 struct composite_context* dcerpc_secondary_connection_send(struct dcerpc_pipe *p,
 							   struct dcerpc_binding *b);
 void dcerpc_log_packet(const char *lockdir, 
-					   const struct ndr_interface_table *ndr,
-					   uint32_t opnum, uint32_t flags, 
-					   DATA_BLOB *pkt);
+		       const struct ndr_interface_table *ndr,
+		       uint32_t opnum, uint32_t flags,
+		       const DATA_BLOB *pkt);
 NTSTATUS dcerpc_binding_build_tower(TALLOC_CTX *mem_ctx,
 				    const struct dcerpc_binding *binding,
 				    struct epm_tower *tower);
diff --git a/source4/librpc/rpc/dcerpc_util.c b/source4/librpc/rpc/dcerpc_util.c
index 1210b58..5258bca 100644
--- a/source4/librpc/rpc/dcerpc_util.c
+++ b/source4/librpc/rpc/dcerpc_util.c
@@ -721,9 +721,9 @@ _PUBLIC_ NTSTATUS dcerpc_fetch_session_key(struct dcerpc_pipe *p,
   this triggers on a debug level of >= 10
 */
 _PUBLIC_ void dcerpc_log_packet(const char *lockdir,
-								const struct ndr_interface_table *ndr,
-		       uint32_t opnum, uint32_t flags, 
-		       DATA_BLOB *pkt)
+				const struct ndr_interface_table *ndr,
+				uint32_t opnum, uint32_t flags,
+				const DATA_BLOB *pkt)
 {
 	const int num_examples = 20;
 	int i;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list