From: Andy Polyakov Date: Wed, 4 Apr 2012 20:45:51 +0000 (+0000) Subject: ssl/ssl_ciph.c: interim solution for assertion in d1_pkt.c(444). X-Git-Tag: master-post-reformat~1879 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a20152bdaf7a99b006ff5a0eef081502e0e11553;p=oweals%2Fopenssl.git ssl/ssl_ciph.c: interim solution for assertion in d1_pkt.c(444). PR: 2778 --- diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index c12a7a22d2..a96a5daaf5 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -616,18 +616,19 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc, { const EVP_CIPHER *evp; - if (s->ssl_version >= TLS1_VERSION && - c->algorithm_enc == SSL_RC4 && + if (s->ssl_version>>8 != TLS1_VERSION_MAJOR || + s->ssl_version < TLS1_VERSION) + return 1; + + if (c->algorithm_enc == SSL_RC4 && c->algorithm_mac == SSL_MD5 && (evp=EVP_get_cipherbyname("RC4-HMAC-MD5"))) *enc = evp, *md = NULL; - else if (s->ssl_version >= TLS1_VERSION && - c->algorithm_enc == SSL_AES128 && + else if (c->algorithm_enc == SSL_AES128 && c->algorithm_mac == SSL_SHA1 && (evp=EVP_get_cipherbyname("AES-128-CBC-HMAC-SHA1"))) *enc = evp, *md = NULL; - else if (s->ssl_version >= TLS1_VERSION && - c->algorithm_enc == SSL_AES256 && + else if (c->algorithm_enc == SSL_AES256 && c->algorithm_mac == SSL_SHA1 && (evp=EVP_get_cipherbyname("AES-256-CBC-HMAC-SHA1"))) *enc = evp, *md = NULL;