[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Fri Aug 26 10:41:08 UTC 2016


The branch master has been updated
       via  216e8d91033d237880cff7da0d02d46d47bae41b (commit)
      from  bbf73f84fc42628cb619f9e8e02691530cfeb08e (commit)


- Log -----------------------------------------------------------------
commit 216e8d91033d237880cff7da0d02d46d47bae41b
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>

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

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