[openssl-commits] [openssl] OpenSSL_1_0_2-stable update

Richard Levitte levitte at openssl.org
Fri Aug 26 19:19:20 UTC 2016


The branch OpenSSL_1_0_2-stable has been updated
       via  06a549c435d6095b33d78f136904c5fc2f7bcf24 (commit)
      from  a404656a8b40d9f1172e5e330f7e2d9d87cabab8 (commit)


- Log -----------------------------------------------------------------
commit 06a549c435d6095b33d78f136904c5fc2f7bcf24
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.
    
    (partly cherry picked from commit 216e8d91033d237880cff7da0d02d46d47bae41b)
    
    Reviewed-by: Andy Polyakov <appro at openssl.org>

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

Summary of changes:
 Configure                   | 9 ++++++++-
 crypto/evp/e_rc4_hmac_md5.c | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/Configure b/Configure
index 695b37d..684e9dc 100755
--- a/Configure
+++ b/Configure
@@ -1558,8 +1558,15 @@ $cpuid_obj="mem_clr.o"	unless ($cpuid_obj =~ /\.o$/);
 $des_obj=$des_enc	unless ($des_obj =~ /\.o$/);
 $bf_obj=$bf_enc		unless ($bf_obj =~ /\.o$/);
 $cast_obj=$cast_enc	unless ($cast_obj =~ /\.o$/);
-$rc4_obj=$rc4_enc	unless ($rc4_obj =~ /\.o$/);
 $rc5_obj=$rc5_enc	unless ($rc5_obj =~ /\.o$/);
+if ($rc4_obj =~ /\.o$/)
+	{
+	$cflags.=" -DRC4_ASM";
+	}
+else
+	{
+	$rc4_obj=$rc4_enc;
+	}
 if ($sha1_obj =~ /\.o$/)
 	{
 #	$sha1_obj=$sha1_enc;
diff --git a/crypto/evp/e_rc4_hmac_md5.c b/crypto/evp/e_rc4_hmac_md5.c
index ba5979d..5e92855 100644
--- a/crypto/evp/e_rc4_hmac_md5.c
+++ b/crypto/evp/e_rc4_hmac_md5.c
@@ -99,7 +99,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)      || \
         defined(__INTEL__)              ) && \


More information about the openssl-commits mailing list