Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OS-8334 Bring OpenSSL 3 to the platform
Reviewed by: Brian Bennett <brian.bennett@joyent.com> Reviewed by: Mike Zeller <mike.zeller@joyent.com> Approved by: Brian Bennett <brian.bennett@joyent.com>
- Loading branch information
Dan McDonald
committed
Dec 7, 2021
1 parent
cbf57f6
commit 3cdfa8e
Showing
64 changed files
with
7,567 additions
and
6,264 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
|
||
Can be removed next time ipmitool is upgraded. | ||
|
||
From b57487e360916ab3eaa50aa6d021c73b6337a4a0 Mon Sep 17 00:00:00 2001 | ||
From: Dennis Schridde <dennis.schridde@uni-heidelberg.de> | ||
Date: Wed, 30 Nov 2016 17:33:00 +0100 | ||
Subject: [PATCH] ID:461 - OpenSSL 1.1 compatibility - "error: storage size of | ||
'ctx' isn't known" | ||
|
||
In OpenSSL 1.1 EVP_CIPHER_CTX became opaque, cf. `man 3ssl EVP_EncryptInit` | ||
|
||
Fixes: ID:461 | ||
diff -wpruN '--exclude=*.orig' a~/src/plugins/lanplus/lanplus_crypt_impl.c a/src/plugins/lanplus/lanplus_crypt_impl.c | ||
--- a~/src/plugins/lanplus/lanplus_crypt_impl.c 1970-01-01 00:00:00 | ||
+++ a/src/plugins/lanplus/lanplus_crypt_impl.c 1970-01-01 00:00:00 | ||
@@ -164,10 +164,10 @@ lanplus_encrypt_aes_cbc_128(const uint8_ | ||
uint8_t * output, | ||
uint32_t * bytes_written) | ||
{ | ||
- EVP_CIPHER_CTX ctx; | ||
- EVP_CIPHER_CTX_init(&ctx); | ||
- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); | ||
- EVP_CIPHER_CTX_set_padding(&ctx, 0); | ||
+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); | ||
+ EVP_CIPHER_CTX_reset(ctx); | ||
+ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); | ||
+ EVP_CIPHER_CTX_set_padding(ctx, 0); | ||
|
||
|
||
*bytes_written = 0; | ||
@@ -191,7 +191,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_ | ||
assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); | ||
|
||
|
||
- if(!EVP_EncryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) | ||
+ if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) | ||
{ | ||
/* Error */ | ||
*bytes_written = 0; | ||
@@ -201,7 +201,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_ | ||
{ | ||
uint32_t tmplen; | ||
|
||
- if(!EVP_EncryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) | ||
+ if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) | ||
{ | ||
*bytes_written = 0; | ||
return; /* Error */ | ||
@@ -210,7 +210,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_ | ||
{ | ||
/* Success */ | ||
*bytes_written += tmplen; | ||
- EVP_CIPHER_CTX_cleanup(&ctx); | ||
+ EVP_CIPHER_CTX_free(ctx); | ||
} | ||
} | ||
} | ||
@@ -239,10 +239,10 @@ lanplus_decrypt_aes_cbc_128(const uint8_ | ||
uint8_t * output, | ||
uint32_t * bytes_written) | ||
{ | ||
- EVP_CIPHER_CTX ctx; | ||
- EVP_CIPHER_CTX_init(&ctx); | ||
- EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); | ||
- EVP_CIPHER_CTX_set_padding(&ctx, 0); | ||
+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); | ||
+ EVP_CIPHER_CTX_reset(ctx); | ||
+ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); | ||
+ EVP_CIPHER_CTX_set_padding(ctx, 0); | ||
|
||
|
||
if (verbose >= 5) | ||
@@ -266,7 +266,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_ | ||
assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); | ||
|
||
|
||
- if (!EVP_DecryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) | ||
+ if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) | ||
{ | ||
/* Error */ | ||
lprintf(LOG_DEBUG, "ERROR: decrypt update failed"); | ||
@@ -277,7 +277,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_ | ||
{ | ||
uint32_t tmplen; | ||
|
||
- if (!EVP_DecryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) | ||
+ if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) | ||
{ | ||
char buffer[1000]; | ||
ERR_error_string(ERR_get_error(), buffer); | ||
@@ -290,7 +290,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_ | ||
{ | ||
/* Success */ | ||
*bytes_written += tmplen; | ||
- EVP_CIPHER_CTX_cleanup(&ctx); | ||
+ EVP_CIPHER_CTX_free(ctx); | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.