|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
diff -Naur libs3-66885387c9f761253988321de9c4bbfc1660717d.old/libs3-openssl3.patch libs3-66885387c9f761253988321de9c4bbfc1660717d/libs3-openssl3.patch
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
--- libs3-66885387c9f761253988321de9c4bbfc1660717d.old/libs3-openssl3.patch 1970-01-01 01:00:00.000000000 +0100
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+++ libs3-66885387c9f761253988321de9c4bbfc1660717d/libs3-openssl3.patch 2024-02-14 11:04:15.016371304 +0100
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
@@ -0,0 +1,51 @@
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+diff --git a/src/bucket_metadata.c b/src/bucket_metadata.c
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+index 05f3e67..3a9db98 100644
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+--- a/src/bucket_metadata.c
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++++ b/src/bucket_metadata.c
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+@@ -38,6 +38,23 @@
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ #include <openssl/bio.h>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ #include <openssl/evp.h>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ #include <openssl/buffer.h>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++static EVP_MD_CTX* EVP_MD_CTX_new(void) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ EVP_MD_CTX* ctx = (EVP_MD_CTX*)malloc(sizeof(EVP_MD_CTX));
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ if(ctx) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ EVP_MD_CTX_init(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ }
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ return ctx;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++static void EVP_MD_CTX_free(EVP_MD_CTX* ctx) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ if(ctx) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ EVP_MD_CTX_cleanup(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ free(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ }
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++#endif
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ #endif
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ #include "libs3.h"
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+@@ -486,16 +503,17 @@ void S3_get_lifecycle(const S3BucketContext *bucketContext,
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ // Calculate MD5 and encode it as base64
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ void generate_content_md5(const char* data, int size,
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ char* retBuffer, int retBufferSize) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+- MD5_CTX mdContext;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ EVP_MD_CTX *mdContext;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ BIO *bio, *b64;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ BUF_MEM *bufferPtr;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ char md5Buffer[MD5_DIGEST_LENGTH];
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+- MD5_Init(&mdContext);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+- MD5_Update(&mdContext, data, size);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+- MD5_Final((unsigned char*)md5Buffer, &mdContext);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+-
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ mdContext = EVP_MD_CTX_new();
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ EVP_DigestInit_ex(mdContext, EVP_md5(), NULL);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ EVP_DigestUpdate(mdContext, data, size);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ EVP_DigestFinal_ex(mdContext, (unsigned char*)md5Buffer, NULL);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
++ EVP_MD_CTX_free(mdContext);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ b64 = BIO_new(BIO_f_base64());
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ bio = BIO_new(BIO_s_mem());
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
diff -Naur libs3-66885387c9f761253988321de9c4bbfc1660717d.old/src/bucket_metadata.c libs3-66885387c9f761253988321de9c4bbfc1660717d/src/bucket_metadata.c
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
--- libs3-66885387c9f761253988321de9c4bbfc1660717d.old/src/bucket_metadata.c 2024-02-14 11:04:10.253289215 +0100
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+++ libs3-66885387c9f761253988321de9c4bbfc1660717d/src/bucket_metadata.c 2024-02-14 11:04:21.585484519 +0100
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
@@ -32,6 +32,23 @@
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
#include <openssl/bio.h>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
#include <openssl/evp.h>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
#include <openssl/buffer.h>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+static EVP_MD_CTX* EVP_MD_CTX_new(void) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ EVP_MD_CTX* ctx = (EVP_MD_CTX*)malloc(sizeof(EVP_MD_CTX));
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ if(ctx) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ EVP_MD_CTX_init(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ return ctx;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+static void EVP_MD_CTX_free(EVP_MD_CTX* ctx) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ if(ctx) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ EVP_MD_CTX_cleanup(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ free(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
#include "libs3.h"
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
@@ -480,16 +497,17 @@
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
// Calculate MD5 and encode it as base64
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
void generate_content_md5(const char* data, int size,
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
char* retBuffer, int retBufferSize) {
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
- MD5_CTX mdContext;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ EVP_MD_CTX *mdContext;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
BIO *bio, *b64;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
BUF_MEM *bufferPtr;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
char md5Buffer[MD5_DIGEST_LENGTH];
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
- MD5_Init(&mdContext);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
- MD5_Update(&mdContext, data, size);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
- MD5_Final((unsigned char*)md5Buffer, &mdContext);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
-
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ mdContext = EVP_MD_CTX_new();
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ EVP_DigestInit_ex(mdContext, EVP_md5(), NULL);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ EVP_DigestUpdate(mdContext, data, size);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ EVP_DigestFinal_ex(mdContext, (unsigned char*)md5Buffer, NULL);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
+ EVP_MD_CTX_free(mdContext);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
b64 = BIO_new(BIO_f_base64());
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
984a5cb |
bio = BIO_new(BIO_s_mem());
|