summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/transmission/files/transmission-3.00-openssl-3.patch')
-rw-r--r--net-p2p/transmission/files/transmission-3.00-openssl-3.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/net-p2p/transmission/files/transmission-3.00-openssl-3.patch b/net-p2p/transmission/files/transmission-3.00-openssl-3.patch
new file mode 100644
index 000000000000..dbedcd217c94
--- /dev/null
+++ b/net-p2p/transmission/files/transmission-3.00-openssl-3.patch
@@ -0,0 +1,37 @@
+From 6ee128b95bacaff20746538dc97c2b8e2b9fcc29 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sun, 15 May 2022 10:54:38 -0400
+Subject: [PATCH] openssl: load "legacy" provider for RC4
+
+---
+ libtransmission/crypto-utils-openssl.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c
+index 45fd71913..14d680654 100644
+--- a/libtransmission/crypto-utils-openssl.c
++++ b/libtransmission/crypto-utils-openssl.c
+@@ -20,6 +20,9 @@
+ #include <openssl/rand.h>
+ #include <openssl/ssl.h>
+ #include <openssl/x509.h>
++#if OPENSSL_VERSION_MAJOR >= 3
++#include <openssl/provider.h>
++#endif
+
+ #include "transmission.h"
+ #include "crypto-utils.h"
+@@ -184,6 +187,10 @@ static void openssl_evp_cipher_context_free(EVP_CIPHER_CTX* handle)
+
+ tr_rc4_ctx_t tr_rc4_new(void)
+ {
++#if OPENSSL_VERSION_MAJOR >= 3
++ OSSL_PROVIDER_load(NULL, "legacy");
++ OSSL_PROVIDER_load(NULL, "default");
++#endif
+ EVP_CIPHER_CTX* handle = EVP_CIPHER_CTX_new();
+
+ if (check_result(EVP_CipherInit_ex(handle, EVP_rc4(), NULL, NULL, NULL, -1)))
+--
+2.35.1
+