Am 12.02.2015 um 08:55 schrieb Bill Barker:

The jvm crashes here:

     [junit] # C  [libcrypto.so.1.1.0+0x14fef9]  EVP_add_cipher+0x9

I wonder whether we really want to build and test against OpenSSL master. The 1.0.2 branch would be more stable. I think best would be building TC 8 and before against tcnative based on OpenSSL 1.0.2 and TC turnk against tcnative based on OpenSSL master.

Concerning the current failure: the gump make output of the OpenSSL build available under http://vmgump.apache.org/gump/public/openssl/openssl-make/gump_work/build_openssl_openssl-make.txt shows some warnings that might be related:

gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../include -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_USE_DEPRECATED -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -c -o c_allc.o c_allc.c
c_allc.c: In function ‘OpenSSL_add_all_ciphers’:
c_allc.c:248:5: warning: implicit declaration of function ‘EVP_camellia_128_ctr’ [-Wimplicit-function-declaration]
     EVP_add_cipher(EVP_camellia_128_ctr());
     ^
c_allc.c:248:5: warning: passing argument 1 of ‘EVP_add_cipher’ makes pointer from integer without a cast [enabled by default]
In file included from c_allc.c:61:0:
../../include/openssl/evp.h:953:5: note: expected ‘const struct EVP_CIPHER *’ but argument is of type ‘int’
 int EVP_add_cipher(const EVP_CIPHER *cipher);
     ^
c_allc.c:249:5: warning: implicit declaration of function ‘EVP_camellia_192_ctr’ [-Wimplicit-function-declaration]
     EVP_add_cipher(EVP_camellia_192_ctr());
     ^
c_allc.c:249:5: warning: passing argument 1 of ‘EVP_add_cipher’ makes pointer from integer without a cast [enabled by default]
In file included from c_allc.c:61:0:
../../include/openssl/evp.h:953:5: note: expected ‘const struct EVP_CIPHER *’ but argument is of type ‘int’
 int EVP_add_cipher(const EVP_CIPHER *cipher);
     ^
c_allc.c:250:5: warning: implicit declaration of function ‘EVP_camellia_256_ctr’ [-Wimplicit-function-declaration]
     EVP_add_cipher(EVP_camellia_256_ctr());
     ^
c_allc.c:250:5: warning: passing argument 1 of ‘EVP_add_cipher’ makes pointer from integer without a cast [enabled by default]
In file included from c_allc.c:61:0:
../../include/openssl/evp.h:953:5: note: expected ‘const struct EVP_CIPHER *’ but argument is of type ‘int’
 int EVP_add_cipher(const EVP_CIPHER *cipher);
     ^

The OpenSSL changelog contains:

commit dda8199922f9d52087d2c41b22a61eb4f9671385
Author: Andy Polyakov <ap...@openssl.org>
Date:   Wed Feb 11 20:30:13 2015 +0100

    Add Camellia CTR mode.

    Reviewed-by: Rich Salz <rs...@openssl.org>


which in turn contains the following change:

diff --git a/crypto/evp/c_allc.c b/crypto/evp/c_allc.c
index 174a419..7ae36d7 100644
--- a/crypto/evp/c_allc.c
+++ b/crypto/evp/c_allc.c
@@ -245,5 +245,8 @@ void OpenSSL_add_all_ciphers(void)
     EVP_add_cipher(EVP_camellia_256_ofb());
     EVP_add_cipher_alias(SN_camellia_256_cbc, "CAMELLIA256");
     EVP_add_cipher_alias(SN_camellia_256_cbc, "camellia256");
+    EVP_add_cipher(EVP_camellia_128_ctr());
+    EVP_add_cipher(EVP_camellia_192_ctr());
+    EVP_add_cipher(EVP_camellia_256_ctr());
 #endif
 }

Thos "_ctr" variants are missing in crypto/evp/evp.h. It's pretty likely this triggers the crash. I'll mail to OpenSSL.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to