[ 
https://issues.apache.org/jira/browse/HADOOP-18583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17895056#comment-17895056
 ] 

ASF GitHub Bot commented on HADOOP-18583:
-----------------------------------------

packet23 commented on code in PR #5256:
URL: https://github.com/apache/hadoop/pull/5256#discussion_r1826776787


##########
hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/OpensslCipher.c:
##########
@@ -169,9 +169,19 @@ JNIEXPORT void JNICALL 
Java_org_apache_hadoop_crypto_OpensslCipher_initIDs
                       "EVP_CIPHER_CTX_set_padding");
   LOAD_DYNAMIC_SYMBOL(dlsym_EVP_CIPHER_CTX_test_flags, env, openssl,  \
                       "EVP_CIPHER_CTX_test_flags");
+// name changed in OpenSSL 3 ABI - see History section in EVP_EncryptInit(3)
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+  LOAD_DYNAMIC_SYMBOL(dlsym_EVP_CIPHER_CTX_block_size, env, openssl,  \

Review Comment:
   The requested change would not work on OpenSSL 1.0: 
`EVP_CIPHER_CTX_encrypting` is only available on OpenSSL 1.1. Would we need to 
support OpenSSL 1.0 still?





> hadoop checknative fails to load openssl 3.x
> --------------------------------------------
>
>                 Key: HADOOP-18583
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18583
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: native
>    Affects Versions: 3.3.4
>            Reporter: Sebastian Klemke
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: 100-hadoop-3.3.4-openssl-3.patch
>
>
> After building Hadoop 3.3.4 from source on Ubuntu 22.04, `hadoop checknative` 
> reports
> {code:java}
> $ hadoop checknative
> 2022-12-21 22:12:02,106 INFO bzip2.Bzip2Factory: Successfully loaded & 
> initialized native-bzip2 library system-native
> 2022-12-21 22:12:02,107 INFO zlib.ZlibFactory: Successfully loaded & 
> initialized native-zlib library
> 2022-12-21 22:12:02,130 INFO nativeio.NativeIO: The native code was built 
> without PMDK support.
> Native library checking:
> hadoop:  true /hadoop/lib/native/libhadoop.so.1.0.0
> zlib:    true /lib/x86_64-linux-gnu/libz.so.1
> zstd  :  true /lib/x86_64-linux-gnu/libzstd.so.1
> bzip2:   true /lib/x86_64-linux-gnu/libbz2.so.1
> openssl: false EVP_CIPHER_CTX_block_size
> ISA-L:   true /lib/x86_64-linux-gnu/libisal.so.2
> PMDK:    false The native code was built without PMDK support.{code}
> The issue seems to be at least two symbols that were removed from ABI in 
> OpenSSL 3.x releases:
>  * EVP_CIPHER_CTX_block_size (new name: EVP_CIPHER_CTX_get_block_size)
>  * EVP_CIPHER_CTX_encrypting (new name: EVP_CIPHER_CTX_is_encrypting)
> The attached patch [^100-hadoop-3.3.4-openssl-3.patch] works around the issue.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to