diff options
author | bcook <> | 2014-08-11 13:29:43 +0000 |
---|---|---|
committer | bcook <> | 2014-08-11 13:29:43 +0000 |
commit | 061d595d7859c456aec41e57ebdd900e4087395c (patch) | |
tree | a4f8bfaf958a94c17a62073b4dac40939b15d3d8 /src/lib | |
parent | 1461f93ca3a5c598009914d6c1e1518f66f3c119 (diff) | |
download | openbsd-061d595d7859c456aec41e57ebdd900e4087395c.tar.gz openbsd-061d595d7859c456aec41e57ebdd900e4087395c.tar.bz2 openbsd-061d595d7859c456aec41e57ebdd900e4087395c.zip |
Guard RSA / RC4-5 ASM when NO_ASM is not defined
Most assembly blocks remain inactive if OPENSSL_NO_ASM is not defined,
only enabling inline assembly, but the RSA / RC4-5 blocks (used only in
amd64 systems) turn on implicitly. Guard these two as well.
This simplifies enabling just inline ASM in portable, no effective
change in OpenBSD.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libcrypto/arch/amd64/Makefile.inc | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/crypto/arch/amd64/Makefile.inc | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/eng_rsax.c | 7 | ||||
-rw-r--r-- | src/lib/libcrypto/evp/e_rc4_hmac_md5.c | 4 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/engine/eng_rsax.c | 7 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/evp/e_rc4_hmac_md5.c | 4 |
6 files changed, 18 insertions, 12 deletions
diff --git a/src/lib/libcrypto/arch/amd64/Makefile.inc b/src/lib/libcrypto/arch/amd64/Makefile.inc index 24f16d0a81..fe7e17df0e 100644 --- a/src/lib/libcrypto/arch/amd64/Makefile.inc +++ b/src/lib/libcrypto/arch/amd64/Makefile.inc | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile.inc,v 1.2 2014/05/06 19:55:06 miod Exp $ | 1 | # $OpenBSD: Makefile.inc,v 1.3 2014/08/11 13:29:43 bcook Exp $ |
2 | 2 | ||
3 | # amd64-specific libcrypto build rules | 3 | # amd64-specific libcrypto build rules |
4 | 4 | ||
@@ -15,6 +15,7 @@ SSLASM+= aes aesni-sha1-x86_64 | |||
15 | SRCS+= bf_enc.c | 15 | SRCS+= bf_enc.c |
16 | # bn | 16 | # bn |
17 | CFLAGS+= -DOPENSSL_IA32_SSE2 | 17 | CFLAGS+= -DOPENSSL_IA32_SSE2 |
18 | CFLAGS+= -DRSA_ASM | ||
18 | SSLASM+= bn modexp512-x86_64 | 19 | SSLASM+= bn modexp512-x86_64 |
19 | CFLAGS+= -DOPENSSL_BN_ASM_MONT | 20 | CFLAGS+= -DOPENSSL_BN_ASM_MONT |
20 | SSLASM+= bn x86_64-mont | 21 | SSLASM+= bn x86_64-mont |
@@ -31,6 +32,7 @@ SSLASM+= md5 md5-x86_64 | |||
31 | CFLAGS+= -DGHASH_ASM | 32 | CFLAGS+= -DGHASH_ASM |
32 | SSLASM+= modes ghash-x86_64 | 33 | SSLASM+= modes ghash-x86_64 |
33 | # rc4 | 34 | # rc4 |
35 | CFLAGS+= -DRC4_MD5_ASM | ||
34 | SSLASM+= rc4 rc4-x86_64 | 36 | SSLASM+= rc4 rc4-x86_64 |
35 | SSLASM+= rc4 rc4-md5-x86_64 | 37 | SSLASM+= rc4 rc4-md5-x86_64 |
36 | # ripemd | 38 | # ripemd |
diff --git a/src/lib/libcrypto/crypto/arch/amd64/Makefile.inc b/src/lib/libcrypto/crypto/arch/amd64/Makefile.inc index 24f16d0a81..fe7e17df0e 100644 --- a/src/lib/libcrypto/crypto/arch/amd64/Makefile.inc +++ b/src/lib/libcrypto/crypto/arch/amd64/Makefile.inc | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile.inc,v 1.2 2014/05/06 19:55:06 miod Exp $ | 1 | # $OpenBSD: Makefile.inc,v 1.3 2014/08/11 13:29:43 bcook Exp $ |
2 | 2 | ||
3 | # amd64-specific libcrypto build rules | 3 | # amd64-specific libcrypto build rules |
4 | 4 | ||
@@ -15,6 +15,7 @@ SSLASM+= aes aesni-sha1-x86_64 | |||
15 | SRCS+= bf_enc.c | 15 | SRCS+= bf_enc.c |
16 | # bn | 16 | # bn |
17 | CFLAGS+= -DOPENSSL_IA32_SSE2 | 17 | CFLAGS+= -DOPENSSL_IA32_SSE2 |
18 | CFLAGS+= -DRSA_ASM | ||
18 | SSLASM+= bn modexp512-x86_64 | 19 | SSLASM+= bn modexp512-x86_64 |
19 | CFLAGS+= -DOPENSSL_BN_ASM_MONT | 20 | CFLAGS+= -DOPENSSL_BN_ASM_MONT |
20 | SSLASM+= bn x86_64-mont | 21 | SSLASM+= bn x86_64-mont |
@@ -31,6 +32,7 @@ SSLASM+= md5 md5-x86_64 | |||
31 | CFLAGS+= -DGHASH_ASM | 32 | CFLAGS+= -DGHASH_ASM |
32 | SSLASM+= modes ghash-x86_64 | 33 | SSLASM+= modes ghash-x86_64 |
33 | # rc4 | 34 | # rc4 |
35 | CFLAGS+= -DRC4_MD5_ASM | ||
34 | SSLASM+= rc4 rc4-x86_64 | 36 | SSLASM+= rc4 rc4-x86_64 |
35 | SSLASM+= rc4 rc4-md5-x86_64 | 37 | SSLASM+= rc4 rc4-md5-x86_64 |
36 | # ripemd | 38 | # ripemd |
diff --git a/src/lib/libcrypto/engine/eng_rsax.c b/src/lib/libcrypto/engine/eng_rsax.c index 358dac2088..728b89d5f3 100644 --- a/src/lib/libcrypto/engine/eng_rsax.c +++ b/src/lib/libcrypto/engine/eng_rsax.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: eng_rsax.c,v 1.10 2014/07/12 16:03:37 miod Exp $ */ | 1 | /* $OpenBSD: eng_rsax.c,v 1.11 2014/08/11 13:29:43 bcook Exp $ */ |
2 | /* Copyright (c) 2010-2010 Intel Corp. | 2 | /* Copyright (c) 2010-2010 Intel Corp. |
3 | * Author: Vinodh.Gopal@intel.com | 3 | * Author: Vinodh.Gopal@intel.com |
4 | * Jim Guilford | 4 | * Jim Guilford |
@@ -81,8 +81,9 @@ | |||
81 | /* RSAX is available **ONLY* on x86_64 CPUs */ | 81 | /* RSAX is available **ONLY* on x86_64 CPUs */ |
82 | #undef COMPILE_RSAX | 82 | #undef COMPILE_RSAX |
83 | 83 | ||
84 | #if (defined(__x86_64) || defined(__x86_64__) || \ | 84 | #if !defined(OPENSSL_NO_ASM) && defined(RSA_ASM) && \ |
85 | defined(_M_AMD64) || defined (_M_X64)) && !defined(OPENSSL_NO_ASM) | 85 | (defined(__x86_64) || defined(__x86_64__) || \ |
86 | defined(_M_AMD64) || defined (_M_X64)) | ||
86 | #define COMPILE_RSAX | 87 | #define COMPILE_RSAX |
87 | static ENGINE *ENGINE_rsax (void); | 88 | static ENGINE *ENGINE_rsax (void); |
88 | #endif | 89 | #endif |
diff --git a/src/lib/libcrypto/evp/e_rc4_hmac_md5.c b/src/lib/libcrypto/evp/e_rc4_hmac_md5.c index 05c79ff09d..1f085af403 100644 --- a/src/lib/libcrypto/evp/e_rc4_hmac_md5.c +++ b/src/lib/libcrypto/evp/e_rc4_hmac_md5.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: e_rc4_hmac_md5.c,v 1.4 2014/07/10 22:45:57 jsing Exp $ */ | 1 | /* $OpenBSD: e_rc4_hmac_md5.c,v 1.5 2014/08/11 13:29:43 bcook Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 2011 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2011 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -99,7 +99,7 @@ rc4_hmac_md5_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *inkey, | |||
99 | return 1; | 99 | return 1; |
100 | } | 100 | } |
101 | 101 | ||
102 | #if !defined(OPENSSL_NO_ASM) && ( \ | 102 | #if !defined(OPENSSL_NO_ASM) && defined(RC4_MD5_ASM) && ( \ |
103 | defined(__x86_64) || defined(__x86_64__) || \ | 103 | defined(__x86_64) || defined(__x86_64__) || \ |
104 | defined(_M_AMD64) || defined(_M_X64) || \ | 104 | defined(_M_AMD64) || defined(_M_X64) || \ |
105 | defined(__INTEL__) ) && \ | 105 | defined(__INTEL__) ) && \ |
diff --git a/src/lib/libssl/src/crypto/engine/eng_rsax.c b/src/lib/libssl/src/crypto/engine/eng_rsax.c index 358dac2088..728b89d5f3 100644 --- a/src/lib/libssl/src/crypto/engine/eng_rsax.c +++ b/src/lib/libssl/src/crypto/engine/eng_rsax.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: eng_rsax.c,v 1.10 2014/07/12 16:03:37 miod Exp $ */ | 1 | /* $OpenBSD: eng_rsax.c,v 1.11 2014/08/11 13:29:43 bcook Exp $ */ |
2 | /* Copyright (c) 2010-2010 Intel Corp. | 2 | /* Copyright (c) 2010-2010 Intel Corp. |
3 | * Author: Vinodh.Gopal@intel.com | 3 | * Author: Vinodh.Gopal@intel.com |
4 | * Jim Guilford | 4 | * Jim Guilford |
@@ -81,8 +81,9 @@ | |||
81 | /* RSAX is available **ONLY* on x86_64 CPUs */ | 81 | /* RSAX is available **ONLY* on x86_64 CPUs */ |
82 | #undef COMPILE_RSAX | 82 | #undef COMPILE_RSAX |
83 | 83 | ||
84 | #if (defined(__x86_64) || defined(__x86_64__) || \ | 84 | #if !defined(OPENSSL_NO_ASM) && defined(RSA_ASM) && \ |
85 | defined(_M_AMD64) || defined (_M_X64)) && !defined(OPENSSL_NO_ASM) | 85 | (defined(__x86_64) || defined(__x86_64__) || \ |
86 | defined(_M_AMD64) || defined (_M_X64)) | ||
86 | #define COMPILE_RSAX | 87 | #define COMPILE_RSAX |
87 | static ENGINE *ENGINE_rsax (void); | 88 | static ENGINE *ENGINE_rsax (void); |
88 | #endif | 89 | #endif |
diff --git a/src/lib/libssl/src/crypto/evp/e_rc4_hmac_md5.c b/src/lib/libssl/src/crypto/evp/e_rc4_hmac_md5.c index 05c79ff09d..1f085af403 100644 --- a/src/lib/libssl/src/crypto/evp/e_rc4_hmac_md5.c +++ b/src/lib/libssl/src/crypto/evp/e_rc4_hmac_md5.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: e_rc4_hmac_md5.c,v 1.4 2014/07/10 22:45:57 jsing Exp $ */ | 1 | /* $OpenBSD: e_rc4_hmac_md5.c,v 1.5 2014/08/11 13:29:43 bcook Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 2011 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2011 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -99,7 +99,7 @@ rc4_hmac_md5_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *inkey, | |||
99 | return 1; | 99 | return 1; |
100 | } | 100 | } |
101 | 101 | ||
102 | #if !defined(OPENSSL_NO_ASM) && ( \ | 102 | #if !defined(OPENSSL_NO_ASM) && defined(RC4_MD5_ASM) && ( \ |
103 | defined(__x86_64) || defined(__x86_64__) || \ | 103 | defined(__x86_64) || defined(__x86_64__) || \ |
104 | defined(_M_AMD64) || defined(_M_X64) || \ | 104 | defined(_M_AMD64) || defined(_M_X64) || \ |
105 | defined(__INTEL__) ) && \ | 105 | defined(__INTEL__) ) && \ |