diff --git a/.gitignore b/.gitignore index 57a1611..b113a21 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,5 @@ bacula-docs-5.0.3.tar.bz2 /bacula-13.0.1.tar.gz /bacula-13.0.2.tar.gz /bacula-13.0.3.tar.gz +/libs3-6688538.tar.bz2 +/bacula-13.0.4.tar.gz diff --git a/libs3-openssl.patch b/libs3-openssl.patch new file mode 100644 index 0000000..3c34081 --- /dev/null +++ b/libs3-openssl.patch @@ -0,0 +1,105 @@ +diff -Naur libs3-66885387c9f761253988321de9c4bbfc1660717d.old/libs3-openssl3.patch libs3-66885387c9f761253988321de9c4bbfc1660717d/libs3-openssl3.patch +--- libs3-66885387c9f761253988321de9c4bbfc1660717d.old/libs3-openssl3.patch 1970-01-01 01:00:00.000000000 +0100 ++++ libs3-66885387c9f761253988321de9c4bbfc1660717d/libs3-openssl3.patch 2024-02-14 11:04:15.016371304 +0100 +@@ -0,0 +1,51 @@ ++diff --git a/src/bucket_metadata.c b/src/bucket_metadata.c ++index 05f3e67..3a9db98 100644 ++--- a/src/bucket_metadata.c +++++ b/src/bucket_metadata.c ++@@ -38,6 +38,23 @@ ++ #include ++ #include ++ #include +++ +++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) +++static EVP_MD_CTX* EVP_MD_CTX_new(void) { +++ EVP_MD_CTX* ctx = (EVP_MD_CTX*)malloc(sizeof(EVP_MD_CTX)); +++ if(ctx) { +++ EVP_MD_CTX_init(ctx); +++ } +++ return ctx; +++} +++ +++static void EVP_MD_CTX_free(EVP_MD_CTX* ctx) { +++ if(ctx) { +++ EVP_MD_CTX_cleanup(ctx); +++ free(ctx); +++ } +++} +++#endif ++ #endif ++ ++ #include "libs3.h" ++@@ -486,16 +503,17 @@ void S3_get_lifecycle(const S3BucketContext *bucketContext, ++ // 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; ++ 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(); +++ EVP_DigestInit_ex(mdContext, EVP_md5(), NULL); +++ EVP_DigestUpdate(mdContext, data, size); +++ EVP_DigestFinal_ex(mdContext, (unsigned char*)md5Buffer, NULL); +++ EVP_MD_CTX_free(mdContext); ++ ++ b64 = BIO_new(BIO_f_base64()); ++ bio = BIO_new(BIO_s_mem()); +diff -Naur libs3-66885387c9f761253988321de9c4bbfc1660717d.old/src/bucket_metadata.c libs3-66885387c9f761253988321de9c4bbfc1660717d/src/bucket_metadata.c +--- libs3-66885387c9f761253988321de9c4bbfc1660717d.old/src/bucket_metadata.c 2024-02-14 11:04:10.253289215 +0100 ++++ libs3-66885387c9f761253988321de9c4bbfc1660717d/src/bucket_metadata.c 2024-02-14 11:04:21.585484519 +0100 +@@ -32,6 +32,23 @@ + #include + #include + #include ++ ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) ++static EVP_MD_CTX* EVP_MD_CTX_new(void) { ++ EVP_MD_CTX* ctx = (EVP_MD_CTX*)malloc(sizeof(EVP_MD_CTX)); ++ if(ctx) { ++ EVP_MD_CTX_init(ctx); ++ } ++ return ctx; ++} ++ ++static void EVP_MD_CTX_free(EVP_MD_CTX* ctx) { ++ if(ctx) { ++ EVP_MD_CTX_cleanup(ctx); ++ free(ctx); ++ } ++} ++#endif + #endif + + #include "libs3.h" +@@ -480,16 +497,17 @@ + // 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; + 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(); ++ EVP_DigestInit_ex(mdContext, EVP_md5(), NULL); ++ EVP_DigestUpdate(mdContext, data, size); ++ EVP_DigestFinal_ex(mdContext, (unsigned char*)md5Buffer, NULL); ++ EVP_MD_CTX_free(mdContext); + + b64 = BIO_new(BIO_f_base64()); + bio = BIO_new(BIO_s_mem()); diff --git a/sources b/sources index 7a9bbb9..bc558a1 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (bacula-13.0.3.tar.gz) = 59ec616535959bde26b5b03a60355f3f8d80ae7a719a079d354f41c0f103b0e467177b6f813ef3eb4d30866f73c393d766e8337e20bb97f19ffd7eba5e5c59c5 +SHA512 (libs3-6688538.tar.bz2) = 987219bafe5ebfa7ad56b1306b9181017c5adab415f62df16ca3a31273dea5d9541eaf4e04abdd6eeefd351210bfde4c8cb5819630c24474965a8e73525376b1 +SHA512 (bacula-13.0.4.tar.gz) = 5d33714d5575c351e28676cbd165fe7648ce15a1bc2a03f6d5635528083f3ec3bd6c7137a987690dcc8b232105e5768be91ba405a033ad60c4b82f3c88d73812