[openssl] master update
bernd.edlinger at hotmail.de
bernd.edlinger at hotmail.de
Sun Sep 1 13:52:32 UTC 2019
The branch master has been updated
via 24fd8541d47a46052b975db98b465faa7e4d898c (commit)
from 2f9789f7e7e8f17da32e1cadbbc3c398f99f2d23 (commit)
- Log -----------------------------------------------------------------
commit 24fd8541d47a46052b975db98b465faa7e4d898c
Author: Bernd Edlinger <bernd.edlinger at hotmail.de>
Date: Sat Aug 24 11:28:19 2019 +0200
Remove extern declarations of OPENSSL_ia32cap_P
Use the header file internal/cryptlib.h instead.
Remove checks for OPENSSL_NO_ASM and I386_ONLY
in cryptlib.c, to match the checks in other
places where OPENSSL_ia32cap_P is used and
assumed to be initialized.
Reviewed-by: Kurt Roeckx <kurt at roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/9688)
-----------------------------------------------------------------------
Summary of changes:
crypto/cryptlib.c | 2 +-
crypto/engine/eng_rdrand.c | 3 +--
crypto/evp/e_aes_cbc_hmac_sha1.c | 2 +-
crypto/evp/e_aes_cbc_hmac_sha256.c | 2 +-
crypto/evp/e_rc4_hmac_md5.c | 1 -
crypto/include/internal/ciphermode_platform.h | 1 -
crypto/modes/gcm128.c | 2 +-
crypto/rand/rand_lib.c | 2 --
crypto/whrlpool/wp_block.c | 2 +-
include/internal/cryptlib.h | 4 ++++
test/rdrand_sanitytest.c | 6 +-----
11 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c
index 0048a3d210..7e89bbd6b5 100644
--- a/crypto/cryptlib.c
+++ b/crypto/cryptlib.c
@@ -18,7 +18,7 @@
extern unsigned int OPENSSL_ia32cap_P[4];
-# if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
+# if defined(OPENSSL_CPUID_OBJ)
/*
* Purpose of these minimalistic and character-type-agnostic subroutines
diff --git a/crypto/engine/eng_rdrand.c b/crypto/engine/eng_rdrand.c
index 2fcc0edff2..7dd3b9fdf6 100644
--- a/crypto/engine/eng_rdrand.c
+++ b/crypto/engine/eng_rdrand.c
@@ -12,6 +12,7 @@
#include <stdio.h>
#include <string.h>
#include "internal/engine.h"
+#include "internal/cryptlib.h"
#include <openssl/rand.h>
#include <openssl/err.h>
#include <openssl/crypto.h>
@@ -79,8 +80,6 @@ static ENGINE *ENGINE_rdrand(void)
void engine_load_rdrand_int(void)
{
- extern unsigned int OPENSSL_ia32cap_P[];
-
if (OPENSSL_ia32cap_P[1] & (1 << (62 - 32))) {
ENGINE *toadd = ENGINE_rdrand();
if (!toadd)
diff --git a/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/evp/e_aes_cbc_hmac_sha1.c
index 8d557e512e..9e393f0b88 100644
--- a/crypto/evp/e_aes_cbc_hmac_sha1.c
+++ b/crypto/evp/e_aes_cbc_hmac_sha1.c
@@ -15,6 +15,7 @@
#include <openssl/aes.h>
#include <openssl/sha.h>
#include <openssl/rand.h>
+#include "internal/cryptlib.h"
#include "internal/modes_int.h"
#include "internal/evp_int.h"
#include "internal/constant_time_locl.h"
@@ -35,7 +36,6 @@ typedef struct {
defined(__x86_64) || defined(__x86_64__) || \
defined(_M_AMD64) || defined(_M_X64) )
-extern unsigned int OPENSSL_ia32cap_P[];
# define AESNI_CAPABLE (1<<(57-32))
int aesni_set_encrypt_key(const unsigned char *userKey, int bits,
diff --git a/crypto/evp/e_aes_cbc_hmac_sha256.c b/crypto/evp/e_aes_cbc_hmac_sha256.c
index 6efd3000b8..e434ec009f 100644
--- a/crypto/evp/e_aes_cbc_hmac_sha256.c
+++ b/crypto/evp/e_aes_cbc_hmac_sha256.c
@@ -15,6 +15,7 @@
#include <openssl/aes.h>
#include <openssl/sha.h>
#include <openssl/rand.h>
+#include "internal/cryptlib.h"
#include "internal/modes_int.h"
#include "internal/constant_time_locl.h"
#include "internal/evp_int.h"
@@ -35,7 +36,6 @@ typedef struct {
defined(__x86_64) || defined(__x86_64__) || \
defined(_M_AMD64) || defined(_M_X64) )
-extern unsigned int OPENSSL_ia32cap_P[];
# define AESNI_CAPABLE (1<<(57-32))
int aesni_set_encrypt_key(const unsigned char *userKey, int bits,
diff --git a/crypto/evp/e_rc4_hmac_md5.c b/crypto/evp/e_rc4_hmac_md5.c
index d22abbb325..4d61faff61 100644
--- a/crypto/evp/e_rc4_hmac_md5.c
+++ b/crypto/evp/e_rc4_hmac_md5.c
@@ -71,7 +71,6 @@ static int rc4_hmac_md5_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
* rc4_md5-x86_64.pl */
md5_off = MD5_CBLOCK - key->md.num, blocks;
unsigned int l;
- extern unsigned int OPENSSL_ia32cap_P[];
# endif
size_t plen = key->payload_length;
diff --git a/crypto/include/internal/ciphermode_platform.h b/crypto/include/internal/ciphermode_platform.h
index 40d012a8d1..f357ea5c84 100644
--- a/crypto/include/internal/ciphermode_platform.h
+++ b/crypto/include/internal/ciphermode_platform.h
@@ -101,7 +101,6 @@ void AES_xts_decrypt(const unsigned char *inp, unsigned char *out, size_t len,
defined(_M_AMD64) || defined(_M_X64) )
/* AES-NI section */
-extern unsigned int OPENSSL_ia32cap_P[];
# define AESNI_CAPABLE (OPENSSL_ia32cap_P[1]&(1<<(57-32)))
# ifdef VPAES_ASM
diff --git a/crypto/modes/gcm128.c b/crypto/modes/gcm128.c
index 371bf7637d..f37653be67 100644
--- a/crypto/modes/gcm128.c
+++ b/crypto/modes/gcm128.c
@@ -9,6 +9,7 @@
#include <string.h>
#include <openssl/crypto.h>
+#include "internal/cryptlib.h"
#include "internal/modes_int.h"
#if defined(BSWAP4) && defined(STRICT_ALIGNMENT)
@@ -635,7 +636,6 @@ static void gcm_gmult_1bit(u64 Xi[2], const u64 H[2])
defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64))
# define GHASH_ASM_X86_OR_64
# define GCM_FUNCREF_4BIT
-extern unsigned int OPENSSL_ia32cap_P[];
void gcm_init_clmul(u128 Htable[16], const u64 Xi[2]);
void gcm_gmult_clmul(u64 Xi[2], const u128 Htable[16]);
diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c
index 8b44b5502d..c865ece978 100644
--- a/crypto/rand/rand_lib.c
+++ b/crypto/rand/rand_lib.c
@@ -69,8 +69,6 @@ size_t rand_acquire_entropy_from_tsc(RAND_POOL *pool)
size_t OPENSSL_ia32_rdseed_bytes(unsigned char *buf, size_t len);
size_t OPENSSL_ia32_rdrand_bytes(unsigned char *buf, size_t len);
-extern unsigned int OPENSSL_ia32cap_P[];
-
/*
* Acquire entropy using Intel-specific cpu instructions
*
diff --git a/crypto/whrlpool/wp_block.c b/crypto/whrlpool/wp_block.c
index 574ac124d4..c2c0b72681 100644
--- a/crypto/whrlpool/wp_block.c
+++ b/crypto/whrlpool/wp_block.c
@@ -36,6 +36,7 @@
*
*/
+#include "internal/cryptlib.h"
#include "wp_locl.h"
#include <string.h>
@@ -75,7 +76,6 @@ typedef unsigned long long u64;
# define OPENSSL_SMALL_FOOTPRINT
# endif
# define GO_FOR_MMX(ctx,inp,num) do { \
- extern unsigned long OPENSSL_ia32cap_P[]; \
void whirlpool_block_mmx(void *,const void *,size_t); \
if (!(OPENSSL_ia32cap_P[0] & (1<<23))) break; \
whirlpool_block_mmx(ctx->H.c,inp,num); return; \
diff --git a/include/internal/cryptlib.h b/include/internal/cryptlib.h
index d54ca24ee1..d591f203d2 100644
--- a/include/internal/cryptlib.h
+++ b/include/internal/cryptlib.h
@@ -84,7 +84,11 @@ DEFINE_LHASH_OF(MEM);
# define HEX_SIZE(type) (sizeof(type)*2)
void OPENSSL_cpuid_setup(void);
+#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
+ defined(__x86_64) || defined(__x86_64__) || \
+ defined(_M_AMD64) || defined(_M_X64)
extern unsigned int OPENSSL_ia32cap_P[];
+#endif
void OPENSSL_showfatal(const char *fmta, ...);
int do_ex_data_init(OPENSSL_CTX *ctx);
void crypto_cleanup_all_ex_data_int(OPENSSL_CTX *ctx);
diff --git a/test/rdrand_sanitytest.c b/test/rdrand_sanitytest.c
index 851e14ccf7..dcc9d2800a 100644
--- a/test/rdrand_sanitytest.c
+++ b/test/rdrand_sanitytest.c
@@ -11,7 +11,7 @@
#include <stdlib.h>
#include <string.h>
#include "testutil.h"
-#include <openssl/opensslconf.h>
+#include "internal/cryptlib.h"
#if (defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
defined(__x86_64) || defined(__x86_64__) || \
@@ -20,10 +20,6 @@
size_t OPENSSL_ia32_rdrand_bytes(unsigned char *buf, size_t len);
size_t OPENSSL_ia32_rdseed_bytes(unsigned char *buf, size_t len);
-void OPENSSL_cpuid_setup(void);
-
-extern unsigned int OPENSSL_ia32cap_P[4];
-
static int sanity_check_bytes(size_t (*rng)(unsigned char *, size_t),
int rounds, int min_failures, int max_retries, int max_zero_words)
{
More information about the openssl-commits
mailing list