[dovecot-cvs] dovecot/src/login-common ssl-proxy-gnutls.c,1.1,1.2 ssl-proxy-openssl.c,1.1,1.2

cras at procontrol.fi cras at procontrol.fi
Sat Feb 8 16:09:29 EET 2003


Update of /home/cvs/dovecot/src/login-common
In directory danu:/tmp/cvs-serv16529/login-common

Modified Files:
	ssl-proxy-gnutls.c ssl-proxy-openssl.c 
Log Message:
STARTTLS handshake failure fixes.



Index: ssl-proxy-gnutls.c
===================================================================
RCS file: /home/cvs/dovecot/src/login-common/ssl-proxy-gnutls.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ssl-proxy-gnutls.c	28 Jan 2003 21:35:26 -0000	1.1
+++ ssl-proxy-gnutls.c	8 Feb 2003 14:09:27 -0000	1.2
@@ -315,8 +315,11 @@
 
 	proxy->refcount++;
 	ssl_handshake(proxy);
-	if (!ssl_proxy_destroy(proxy))
-		return -1;
+	if (!ssl_proxy_destroy(proxy)) {
+		/* handshake failed. return the disconnected socket anyway
+		   so the caller doesn't try to use the old closed fd */
+		return sfd[1];
+	}
 
         main_ref();
 	return sfd[1];

Index: ssl-proxy-openssl.c
===================================================================
RCS file: /home/cvs/dovecot/src/login-common/ssl-proxy-openssl.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ssl-proxy-openssl.c	28 Jan 2003 21:35:26 -0000	1.1
+++ ssl-proxy-openssl.c	8 Feb 2003 14:09:27 -0000	1.2
@@ -312,8 +312,11 @@
 
 	proxy->refcount++;
 	ssl_handshake_step(proxy);
-	if (!ssl_proxy_destroy(proxy))
-		return -1;
+	if (!ssl_proxy_destroy(proxy)) {
+		/* handshake failed. return the disconnected socket anyway
+		   so the caller doesn't try to use the old closed fd */
+		return sfd[1];
+	}
 
         main_ref();
 	return sfd[1];




More information about the dovecot-cvs mailing list