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


- Log -----------------------------------------------------------------
commit 06a549c435d6095b33d78f136904c5fc2f7bcf24
Author: Richard Levitte <levi...@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 <ap...@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__)              ) && \
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to