svn commit: samba r7745 - in branches/SAMBA_4_0/source/lib/tls: .

tridge at samba.org tridge at samba.org
Sun Jun 19 07:19:43 GMT 2005


Author: tridge
Date: 2005-06-19 07:19:42 +0000 (Sun, 19 Jun 2005)
New Revision: 7745

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=7745

Log:
better handling of recv errors in tls library



Modified:
   branches/SAMBA_4_0/source/lib/tls/tls.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/tls/tls.c
===================================================================
--- branches/SAMBA_4_0/source/lib/tls/tls.c	2005-06-19 04:21:45 UTC (rev 7744)
+++ branches/SAMBA_4_0/source/lib/tls/tls.c	2005-06-19 07:19:42 UTC (rev 7745)
@@ -69,9 +69,19 @@
 	}
 
 	status = socket_recv(tls->socket, buf, size, &nread, 0);
+	if (NT_STATUS_EQUAL(status, NT_STATUS_END_OF_FILE)) {
+		return 0;
+	}
+	if (NT_STATUS_IS_ERR(status)) {
+		EVENT_FD_NOT_READABLE(tls->fde);
+		EVENT_FD_NOT_WRITEABLE(tls->fde);
+		errno = EBADF;
+		return -1;
+	}
 	if (!NT_STATUS_IS_OK(status)) {
 		EVENT_FD_READABLE(tls->fde);
 		EVENT_FD_NOT_WRITEABLE(tls->fde);
+		errno = EAGAIN;
 		return -1;
 	}
 	if (tls->output_pending) {
@@ -185,7 +195,6 @@
 		return STATUS_MORE_ENTRIES;
 	}
 	if (ret < 0) {
-		DEBUG(0,("gnutls_record_recv failed - %s\n", gnutls_strerror(ret)));
 		return NT_STATUS_UNEXPECTED_NETWORK_ERROR;
 	}
 	*nread = ret;



More information about the samba-cvs mailing list