Blob Blame History Raw
Do not enforce the renegotiation extension on the client - too many broken servers remain.
diff -up openssl-1.0.0-beta4/ssl/t1_lib.c.client-reneg openssl-1.0.0-beta4/ssl/t1_lib.c
--- openssl-1.0.0-beta4/ssl/t1_lib.c.client-reneg	2009-11-12 15:17:29.000000000 +0100
+++ openssl-1.0.0-beta4/ssl/t1_lib.c	2009-11-18 14:04:19.000000000 +0100
@@ -985,6 +985,7 @@ int ssl_parse_serverhello_tlsext(SSL *s,
 
 	if (data >= (d+n-2))
 		{
+#if 0
 		/* Because the client does not see any renegotiation during an
 		   attack, we must enforce this on all server hellos, even the
 		   first */
@@ -994,6 +995,7 @@ int ssl_parse_serverhello_tlsext(SSL *s,
 			*al = SSL_AD_ILLEGAL_PARAMETER; /* is this the right alert? */
 			return 0;
 			}
+#endif
 		return 1;
 		}
 
@@ -1126,12 +1128,14 @@ int ssl_parse_serverhello_tlsext(SSL *s,
 		return 0;
 		}
 
+#if 0
 	if (!renegotiate_seen
 		&& !(s->ctx->options & SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION))
 		{
 		*al = SSL_AD_ILLEGAL_PARAMETER; /* is this the right alert? */
 		return 0;
 		}
+#endif
 
 	if (!s->hit && tlsext_servername == 1)
 		{