File bucket_metadata_openssl3.patch of Package libs3-20200523
--- src/bucket_metadata.orig 2025-09-12 00:03:07.021903938 -0600
+++ src/bucket_metadata.c 2025-09-12 00:45:12.396434272 -0600
@@ -480,16 +480,20 @@
// Calculate MD5 and encode it as base64
void generate_content_md5(const char* data, int size,
char* retBuffer, int retBufferSize) {
- MD5_CTX mdContext;
+ EVP_MD_CTX *mdContext;
+ EVP_MD *md;
BIO *bio, *b64;
BUF_MEM *bufferPtr;
char md5Buffer[MD5_DIGEST_LENGTH];
- MD5_Init(&mdContext);
- MD5_Update(&mdContext, data, size);
- MD5_Final((unsigned char*)md5Buffer, &mdContext);
-
+ mdContext = EVP_MD_CTX_new();
+ md = EVP_MD_fetch(NULL, "MD5", NULL);
+ EVP_DigestInit_ex(mdContext, md, NULL);
+ EVP_DigestUpdate(mdContext, data, size);
+ EVP_DigestFinal_ex(mdContext, (unsigned char*)md5Buffer, NULL);
+ EVP_MD_free(md);
+ EVP_MD_CTX_free(mdContext);
b64 = BIO_new(BIO_f_base64());
bio = BIO_new(BIO_s_mem());