From 338a61b94e39e3db628ff862853255b8d71615ee Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Wed, 9 Dec 2009 15:01:39 +0000 Subject: [PATCH] Add patch to crypto/evp which didn't apply from PR#2124 --- crypto/evp/digest.c | 6 ++++++ ssl/d1_clnt.c | 2 +- ssl/d1_srvr.c | 2 +- ssl/s3_pkt.c | 4 ++-- ssl/ssl.h | 1 + ssl/ssl_err.c | 1 + 6 files changed, 12 insertions(+), 4 deletions(-) diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index d6abcfe1d6..bd520456b1 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -203,6 +203,12 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl) { ctx->update = type->update; ctx->md_data=OPENSSL_malloc(type->ctx_size); + if (ctx->md_data == NULL) + { + EVPerr(EVP_F_EVP_DIGESTINIT_EX, + ERR_R_MALLOC_FAILURE); + return 0; + } } } #ifndef OPENSSL_NO_ENGINE diff --git a/ssl/d1_clnt.c b/ssl/d1_clnt.c index 57c1033f55..5317a51180 100644 --- a/ssl/d1_clnt.c +++ b/ssl/d1_clnt.c @@ -698,7 +698,7 @@ int dtls1_client_hello(SSL *s) #ifndef OPENSSL_NO_TLSEXT if ((p = ssl_add_clienthello_tlsext(s, p, buf+SSL3_RT_MAX_PLAIN_LENGTH)) == NULL) { - SSLerr(SSL_F_SSL3_CLIENT_HELLO,ERR_R_INTERNAL_ERROR); + SSLerr(SSL_F_DTLS1_CLIENT_HELLO,ERR_R_INTERNAL_ERROR); goto err; } #endif diff --git a/ssl/d1_srvr.c b/ssl/d1_srvr.c index 007542f534..fb64d49166 100644 --- a/ssl/d1_srvr.c +++ b/ssl/d1_srvr.c @@ -814,7 +814,7 @@ int dtls1_send_server_hello(SSL *s) #ifndef OPENSSL_NO_TLSEXT if ((p = ssl_add_serverhello_tlsext(s, p, buf+SSL3_RT_MAX_PLAIN_LENGTH)) == NULL) { - SSLerr(SSL_F_SSL3_SEND_SERVER_HELLO,ERR_R_INTERNAL_ERROR); + SSLerr(SSL_F_DTLS1_SEND_SERVER_HELLO,ERR_R_INTERNAL_ERROR); return -1; } #endif diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c index 808505771d..9f2e16de87 100644 --- a/ssl/s3_pkt.c +++ b/ssl/s3_pkt.c @@ -789,8 +789,8 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, if (eivlen) { - if (RAND_pseudo_bytes(p, eivlen) <= 0) - goto err; + /* if (RAND_pseudo_bytes(p, eivlen) <= 0) + goto err; */ wr->length += eivlen; } diff --git a/ssl/ssl.h b/ssl/ssl.h index 4d53ef80f4..897a8ca052 100644 --- a/ssl/ssl.h +++ b/ssl/ssl.h @@ -2159,6 +2159,7 @@ void ERR_load_SSL_strings(void); #define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 #define SSL_R_NO_PROTOCOLS_AVAILABLE 191 #define SSL_R_NO_PUBLICKEY 192 +#define SSL_R_NO_RENEGOTIATION 339 #define SSL_R_NO_REQUIRED_DIGEST 324 #define SSL_R_NO_SHARED_CIPHER 193 #define SSL_R_NO_VERIFY_CALLBACK 194 diff --git a/ssl/ssl_err.c b/ssl/ssl_err.c index 7540bd4ebd..f47e4a5099 100644 --- a/ssl/ssl_err.c +++ b/ssl/ssl_err.c @@ -414,6 +414,7 @@ static ERR_STRING_DATA SSL_str_reasons[]= {ERR_REASON(SSL_R_NO_PRIVATE_KEY_ASSIGNED),"no private key assigned"}, {ERR_REASON(SSL_R_NO_PROTOCOLS_AVAILABLE),"no protocols available"}, {ERR_REASON(SSL_R_NO_PUBLICKEY) ,"no publickey"}, +{ERR_REASON(SSL_R_NO_RENEGOTIATION) ,"no renegotiation"}, {ERR_REASON(SSL_R_NO_REQUIRED_DIGEST) ,"digest requred for handshake isn't computed"}, {ERR_REASON(SSL_R_NO_SHARED_CIPHER) ,"no shared cipher"}, {ERR_REASON(SSL_R_NO_VERIFY_CALLBACK) ,"no verify callback"}, -- 2.25.1