svn commit: samba r3320 - in branches/SAMBA_4_0/source/rpc_server: .

tridge at samba.org tridge at samba.org
Thu Oct 28 11:59:03 GMT 2004


Author: tridge
Date: 2004-10-28 11:59:03 +0000 (Thu, 28 Oct 2004)
New Revision: 3320

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/rpc_server&rev=3320&nolog=1

Log:
fixed bugs in the rpc_server code in handling partial packet receives and sends
it now passes the non-blocking test suite


Modified:
   branches/SAMBA_4_0/source/rpc_server/dcerpc_server.c
   branches/SAMBA_4_0/source/rpc_server/dcerpc_sock.c


Changeset:
Modified: branches/SAMBA_4_0/source/rpc_server/dcerpc_server.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/dcerpc_server.c	2004-10-28 11:58:09 UTC (rev 3319)
+++ branches/SAMBA_4_0/source/rpc_server/dcerpc_server.c	2004-10-28 11:59:03 UTC (rev 3320)
@@ -907,7 +907,6 @@
 	struct dcesrv_call_state *call;
 	struct dcesrv_call_reply *rep;
 	ssize_t nwritten;
-	NTSTATUS status = NT_STATUS_OK;
 
 	call = dce_conn->call_list;
 	if (!call || !call->replies) {
@@ -928,8 +927,6 @@
 	if (rep->data.length == 0) {
 		/* we're done with this section of the call */
 		DLIST_REMOVE(call->replies, rep);
-	} else {
-		status = STATUS_BUFFER_OVERFLOW;
 	}
 
 	if (call->replies == NULL) {
@@ -938,7 +935,7 @@
 		talloc_free(call);
 	}
 
-	return status;
+	return NT_STATUS_OK;
 }
 
 

Modified: branches/SAMBA_4_0/source/rpc_server/dcerpc_sock.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/dcerpc_sock.c	2004-10-28 11:58:09 UTC (rev 3319)
+++ branches/SAMBA_4_0/source/rpc_server/dcerpc_sock.c	2004-10-28 11:59:03 UTC (rev 3320)
@@ -39,7 +39,7 @@
 	size_t sendlen;
 
 	status = socket_send(sock, out, &sendlen, 0);
-	if (!NT_STATUS_IS_OK(status)) {
+	if (NT_STATUS_IS_ERR(status)) {
 		return -1;
 	}
 
@@ -265,6 +265,7 @@
 		return;
 	}
 	if (nread == 0) {
+		talloc_free(tmp_blob.data);
 		return;
 	}
 



More information about the samba-cvs mailing list