summaryrefslogtreecommitdiffstats
path: root/source/n/vsftpd/vsftpd-3.0.5-replace-deprecated-openssl-functions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/vsftpd/vsftpd-3.0.5-replace-deprecated-openssl-functions.patch')
-rw-r--r--source/n/vsftpd/vsftpd-3.0.5-replace-deprecated-openssl-functions.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/source/n/vsftpd/vsftpd-3.0.5-replace-deprecated-openssl-functions.patch b/source/n/vsftpd/vsftpd-3.0.5-replace-deprecated-openssl-functions.patch
new file mode 100644
index 000000000..d56373e99
--- /dev/null
+++ b/source/n/vsftpd/vsftpd-3.0.5-replace-deprecated-openssl-functions.patch
@@ -0,0 +1,72 @@
+https://src.fedoraproject.org/rpms/vsftpd/raw/rawhide/f/vsftpd-3.0.5-replace-deprecated-openssl-functions.patch
+
+diff --git a/ssl.c b/ssl.c
+--- ssl.c
++++ ssl.c
+@@ -28,17 +28,17 @@
+ #include <openssl/err.h>
+ #include <openssl/rand.h>
+ #include <openssl/bio.h>
+ #include <openssl/bn.h>
+ #include <openssl/param_build.h>
+ #include <errno.h>
+ #include <limits.h>
+
+ static char* get_ssl_error();
+ static SSL* get_ssl(struct vsf_session* p_sess, int fd);
+ static int ssl_session_init(struct vsf_session* p_sess);
+ static void setup_bio_callbacks();
+ static long bio_callback(
+- BIO* p_bio, int oper, const char* p_arg, int argi, long argl, long retval);
++ BIO* p_bio, int oper, const char* p_arg, size_t len, int argi, long argl, int ret, size_t *processed);
+ static int ssl_verify_callback(int verify_ok, X509_STORE_CTX* p_ctx);
+ static int ssl_alpn_callback(SSL* p_ssl,
+ const unsigned char** p_out,
+@@ -88,7 +88,7 @@
+ long options;
+ int verify_option = 0;
+ SSL_library_init();
+- p_ctx = SSL_CTX_new(SSLv23_server_method());
++ p_ctx = SSL_CTX_new_ex(NULL, NULL, SSLv23_server_method());
+ if (p_ctx == NULL)
+ {
+ die("SSL: could not allocate SSL context");
+@@ -180,13 +180,10 @@
+ die("SSL: RNG is not seeded");
+ }
+ {
+- EC_KEY* key = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
+- if (key == NULL)
++ if (!SSL_CTX_set1_groups_list(p_ctx, "P-256"))
+ {
+ die("SSL: failed to get curve p256");
+ }
+- SSL_CTX_set_tmp_ecdh(p_ctx, key);
+- EC_KEY_free(key);
+ }
+ if (tunable_ssl_request_cert)
+ {
+@@ -692,17 +689,19 @@
+ static void setup_bio_callbacks(SSL* p_ssl)
+ {
+ BIO* p_bio = SSL_get_rbio(p_ssl);
+- BIO_set_callback(p_bio, bio_callback);
++ BIO_set_callback_ex(p_bio, bio_callback);
+ p_bio = SSL_get_wbio(p_ssl);
+- BIO_set_callback(p_bio, bio_callback);
++ BIO_set_callback_ex(p_bio, bio_callback);
+ }
+
+ static long
+ bio_callback(
+- BIO* p_bio, int oper, const char* p_arg, int argi, long argl, long ret)
++ BIO* p_bio, int oper, const char* p_arg, size_t len, int argi, long argl, int ret, size_t *processed)
+ {
+ int retval = 0;
+ int fd = 0;
++ (void) len;
++ (void) processed;
+ (void) p_arg;
+ (void) argi;
+ (void) argl;
+