Please note that the patch in RT4247 also contains a hunk for crypto/evp/e_camellia.c. This was not committed here, but without it one gets the same type of compilation error on SPARC. Since the RT is already closed I thought I better ask.

The missing part is:

Index: crypto/evp/e_camellia.c
--- crypto/evp/e_camellia.c     2016-01-14 10:51:32.000000000 +0100
+++ crypto/evp/e_camellia.c     2016-01-16 04:01:44.443269000 +0100
@@ -119,10 +119,10 @@
                              const unsigned char *iv, int enc)
  {
      int ret, mode, bits;
-    EVP_CAMELLIA_KEY *dat = (EVP_CAMELLIA_KEY *) ctx->cipher_data;
+    EVP_CAMELLIA_KEY *dat = (EVP_CAMELLIA_KEY *)
EVP_CIPHER_CTX_cipher_data(ctx);

-    mode = ctx->cipher->flags & EVP_CIPH_MODE;
-    bits = ctx->key_len * 8;
+    mode = EVP_CIPHER_CTX_mode(ctx);
+    bits = EVP_CIPHER_CTX_key_length(ctx) * 8;

      cmll_t4_set_key(key, bits, &dat->ks);

Thank a bunch,

Rainer

Am 16.01.2016 um 04:47 schrieb Rich Salz:
The branch master has been updated
        via  ecdd0ff733985fb573d687fe85fa533f62f6cfd8 (commit)
       from  25be7a0feacdbd3326774f0da8aaeb966c1f57f8 (commit)


- Log -----------------------------------------------------------------
commit ecdd0ff733985fb573d687fe85fa533f62f6cfd8
Author: Rich Salz <rs...@akamai.com>
Date:   Fri Jan 15 22:37:11 2016 -0500

     RT4247: Fix EVP_CIPHER_CTX opaque on sparc

     Via Rainer Jung

     Reviewed-by: Dr. Stephen Henson <st...@openssl.org>

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

Summary of changes:
  crypto/evp/e_des.c  | 2 +-
  crypto/evp/e_des3.c | 4 ++--
  2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/crypto/evp/e_des.c b/crypto/evp/e_des.c
index 5536f62..929151c 100644
--- a/crypto/evp/e_des.c
+++ b/crypto/evp/e_des.c
@@ -247,7 +247,7 @@ static int des_init_key(EVP_CIPHER_CTX *ctx, const unsigned 
char *key,
      dat->stream.cbc = NULL;
  # if defined(SPARC_DES_CAPABLE)
      if (SPARC_DES_CAPABLE) {
-        int mode = ctx->cipher->flags & EVP_CIPH_MODE;
+        int mode = EVP_CIPHER_CTX_mode(ctx);

          if (mode == EVP_CIPH_CBC_MODE) {
              des_t4_key_expand(key, &dat->ks.ks);
diff --git a/crypto/evp/e_des3.c b/crypto/evp/e_des3.c
index 16407e8..8b6c2b5 100644
--- a/crypto/evp/e_des3.c
+++ b/crypto/evp/e_des3.c
@@ -270,7 +270,7 @@ static int des_ede_init_key(EVP_CIPHER_CTX *ctx, const 
unsigned char *key,
      dat->stream.cbc = NULL;
  # if defined(SPARC_DES_CAPABLE)
      if (SPARC_DES_CAPABLE) {
-        int mode = ctx->cipher->flags & EVP_CIPH_MODE;
+        int mode = EVP_CIPHER_CTX_mode(ctx);

          if (mode == EVP_CIPH_CBC_MODE) {
              des_t4_key_expand(&deskey[0], &dat->ks1);
@@ -297,7 +297,7 @@ static int des_ede3_init_key(EVP_CIPHER_CTX *ctx, const 
unsigned char *key,
      dat->stream.cbc = NULL;
  # if defined(SPARC_DES_CAPABLE)
      if (SPARC_DES_CAPABLE) {
-        int mode = ctx->cipher->flags & EVP_CIPH_MODE;
+        int mode = EVP_CIPHER_CTX_mode(ctx);

          if (mode == EVP_CIPH_CBC_MODE) {
              des_t4_key_expand(&deskey[0], &dat->ks1);
_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to