patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
Index: crypto/openssl/ssl/s3_clnt.c
|
|
===================================================================
|
|
--- crypto/openssl/ssl/s3_clnt.c (revision 215630)
|
|
+++ crypto/openssl/ssl/s3_clnt.c (working copy)
|
|
@@ -1377,6 +1377,7 @@
|
|
s->session->sess_cert->peer_ecdh_tmp=ecdh;
|
|
ecdh=NULL;
|
|
BN_CTX_free(bn_ctx);
|
|
+ bn_ctx = NULL;
|
|
EC_POINT_free(srvr_ecpoint);
|
|
srvr_ecpoint = NULL;
|
|
}
|
|
Index: crypto/openssl/ssl/t1_lib.c
|
|
===================================================================
|
|
--- crypto/openssl/ssl/t1_lib.c (revision 215630)
|
|
+++ crypto/openssl/ssl/t1_lib.c (working copy)
|
|
@@ -432,14 +432,23 @@
|
|
switch (servname_type)
|
|
{
|
|
case TLSEXT_NAMETYPE_host_name:
|
|
- if (s->session->tlsext_hostname == NULL)
|
|
+ if (!s->hit)
|
|
{
|
|
- if (len > TLSEXT_MAXLEN_host_name ||
|
|
- ((s->session->tlsext_hostname = OPENSSL_malloc(len+1)) == NULL))
|
|
+ if(s->session->tlsext_hostname)
|
|
{
|
|
+ *al = SSL_AD_DECODE_ERROR;
|
|
+ return 0;
|
|
+ }
|
|
+ if (len > TLSEXT_MAXLEN_host_name)
|
|
+ {
|
|
*al = TLS1_AD_UNRECOGNIZED_NAME;
|
|
return 0;
|
|
}
|
|
+ if ((s->session->tlsext_hostname = OPENSSL_malloc(len+1)) == NULL)
|
|
+ {
|
|
+ *al = TLS1_AD_INTERNAL_ERROR;
|
|
+ return 0;
|
|
+ }
|
|
memcpy(s->session->tlsext_hostname, sdata, len);
|
|
s->session->tlsext_hostname[len]='\0';
|
|
if (strlen(s->session->tlsext_hostname) != len) {
|
|
@@ -452,7 +461,8 @@
|
|
|
|
}
|
|
else
|
|
- s->servername_done = strlen(s->session->tlsext_hostname) == len
|
|
+ s->servername_done = s->session->tlsext_hostname
|
|
+ && strlen(s->session->tlsext_hostname) == len
|
|
&& strncmp(s->session->tlsext_hostname, (char *)sdata, len) == 0;
|
|
|
|
break;
|