[openssl-commits] [openssl] OpenSSL_1_1_0-stable update

Richard Levitte levitte at openssl.org
Fri Aug 26 15:34:40 UTC 2016


The branch OpenSSL_1_1_0-stable has been updated
       via  7f8d9b757f3e5abaa780ee109da3c992071f8513 (commit)
      from  a35d8fb168dd0fac89646d5cd34c675eaa3d7435 (commit)


- Log -----------------------------------------------------------------
commit 7f8d9b757f3e5abaa780ee109da3c992071f8513
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Aug 26 09:59:55 2016 +0200

    Improve the definition of STITCHED_CALL in e_rc4_hmac_md5.c
    
    The definition of STITCHED_CALL relies on OPENSSL_NO_ASM.  However,
    when a configuration simply lacks the assembler implementation for RC4
    (which is where we have implemented the stitched call), OPENSSL_NO_ASM
    isn't implemented.  Better, then, to rely on specific macros that
    indicated that RC4 (and MD5) are implemented in assembler.
    
    For this to work properly, we must also make sure Configure adds the
    definition of RC4_ASM among the C flags.
    
    Reviewed-by: Andy Polyakov <appro at openssl.org>
    (cherry picked from commit 216e8d91033d237880cff7da0d02d46d47bae41b)

-----------------------------------------------------------------------

Summary of changes:
 Configure                   | 3 +++
 crypto/evp/e_rc4_hmac_md5.c | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/Configure b/Configure
index b30b57f..3604ba4 100755
--- a/Configure
+++ b/Configure
@@ -1126,6 +1126,9 @@ unless ($disabled{asm}) {
 	push @{$config{defines}}, "SHA256_ASM" if ($target{sha1_asm_src} =~ /sha256/);
 	push @{$config{defines}}, "SHA512_ASM" if ($target{sha1_asm_src} =~ /sha512/);
     }
+    if ($target{rc4_asm_src} ne $table{DEFAULTS}->{rc4_asm_src}) {
+	push @{$config{defines}}, "RC4_ASM";
+    }
     if ($target{md5_asm_src}) {
 	push @{$config{defines}}, "MD5_ASM";
     }
diff --git a/crypto/evp/e_rc4_hmac_md5.c b/crypto/evp/e_rc4_hmac_md5.c
index 832daef..e7aa1f8 100644
--- a/crypto/evp/e_rc4_hmac_md5.c
+++ b/crypto/evp/e_rc4_hmac_md5.c
@@ -60,7 +60,7 @@ static int rc4_hmac_md5_init_key(EVP_CIPHER_CTX *ctx,
     return 1;
 }
 
-# if     !defined(OPENSSL_NO_ASM) &&     ( \
+# if     defined(RC4_ASM) && defined(MD5_ASM) &&     (	   \
         defined(__x86_64)       || defined(__x86_64__)  || \
         defined(_M_AMD64)       || defined(_M_X64)      )
 #  define STITCHED_CALL


More information about the openssl-commits mailing list