summaryrefslogtreecommitdiffstats
path: root/crypto/evp/e_rc4_hmac_md5.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2012-04-18 14:50:28 +0000
committerAndy Polyakov <appro@openssl.org>2012-04-18 14:50:28 +0000
commite36f6b9cfa8c4653b983163687d15f1aacb25e81 (patch)
tree17665ba1c4f3b56964a82dc582d653756a5afe7b /crypto/evp/e_rc4_hmac_md5.c
parent3e181369dd635c8ce5d133e346928d6670cf83f6 (diff)
e_rc4_hmac_md5.c: oops, can't use rc4_hmac_md5_cipher on legacy Intel CPUs.
PR: 2792
Diffstat (limited to 'crypto/evp/e_rc4_hmac_md5.c')
-rw-r--r--crypto/evp/e_rc4_hmac_md5.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/evp/e_rc4_hmac_md5.c b/crypto/evp/e_rc4_hmac_md5.c
index 94c011000c..c25b669cfe 100644
--- a/crypto/evp/e_rc4_hmac_md5.c
+++ b/crypto/evp/e_rc4_hmac_md5.c
@@ -287,6 +287,8 @@ static EVP_CIPHER r4_hmac_md5_cipher=
const EVP_CIPHER *EVP_rc4_hmac_md5(void)
{
- return(&r4_hmac_md5_cipher);
+ extern unsigned int OPENSSL_ia32cap_P[];
+ /* RC4_CHAR flag ------------vvvvv */
+ return(OPENSSL_ia32cap_P[0]&(1<<20) ? NULL : &r4_hmac_md5_cipher);
}
#endif