hadoop/hadoop-openssl.patch

38 lines
1.6 KiB
Diff

diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/OpensslCipher.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/OpensslCipher.c
index 5cb5bba..5294ec7 100644
--- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/OpensslCipher.c
+++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/OpensslCipher.c
@@ -253,14 +253,15 @@ JNIEXPORT jlong JNICALL Java_org_apache_hadoop_crypto_OpensslCipher_init
static int check_update_max_output_len(EVP_CIPHER_CTX *context, int input_len,
int max_output_len)
{
- if (context->flags & EVP_CIPH_NO_PADDING) {
+ unsigned long flags = EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(context));
+ if (flags & EVP_CIPH_NO_PADDING) {
if (max_output_len >= input_len) {
return 1;
}
return 0;
} else {
- int b = context->cipher->block_size;
- if (context->encrypt) {
+ int b = EVP_CIPHER_CTX_block_size(context);
+ if (EVP_CIPHER_CTX_encrypting(context)) {
if (max_output_len >= input_len + b - 1) {
return 1;
}
@@ -307,10 +308,11 @@ JNIEXPORT jint JNICALL Java_org_apache_hadoop_crypto_OpensslCipher_update
static int check_doFinal_max_output_len(EVP_CIPHER_CTX *context,
int max_output_len)
{
- if (context->flags & EVP_CIPH_NO_PADDING) {
+ unsigned long flags = EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(context));
+ if (flags & EVP_CIPH_NO_PADDING) {
return 1;
} else {
- int b = context->cipher->block_size;
+ int b = EVP_CIPHER_CTX_block_size(context);
if (max_output_len >= b) {
return 1;
}