summaryrefslogtreecommitdiffstats
path: root/recipes-extended/msmtp/files/msmtp-replace-deprecated-function.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/msmtp/files/msmtp-replace-deprecated-function.patch')
-rw-r--r--recipes-extended/msmtp/files/msmtp-replace-deprecated-function.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/recipes-extended/msmtp/files/msmtp-replace-deprecated-function.patch b/recipes-extended/msmtp/files/msmtp-replace-deprecated-function.patch
new file mode 100644
index 0000000..ca1fd0e
--- /dev/null
+++ b/recipes-extended/msmtp/files/msmtp-replace-deprecated-function.patch
@@ -0,0 +1,60 @@
1From 090017efca9396a7cef0ccdc645a88c5457c63b8 Mon Sep 17 00:00:00 2001
2From: Jackie Huang <jackie.huang@windriver.com>
3Date: Wed, 29 Jun 2016 01:22:46 -0400
4Subject: [PATCH] Replace deprecated function gnutls_protocol_set_priority
5
6The function gnutls_protocol_set_priority is deprecated
7since GnuTLS >= 2.12.0 and replaced by gnutls_priority_set_direct.
8
9Reference:
10http://www.gnutls.org/manual/html_node/Upgrading-from-previous-versions.html#Upgrading-from-previous-versions
11
12Upstream-Status: Inappropriate [upstream rewrote with GPLv3]
13
14Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
15---
16 src/tls.c | 20 +++++++++++++++++---
17 1 file changed, 17 insertions(+), 3 deletions(-)
18
19diff --git a/src/tls.c b/src/tls.c
20index 10818fa..881e94b 100644
21--- a/src/tls.c
22+++ b/src/tls.c
23@@ -928,7 +928,15 @@ int tls_init(tls_t *tls, const char *key_file, const char *cert_file,
24 const char *trust_file, int force_sslv3, char **errstr)
25 {
26 #ifdef HAVE_LIBGNUTLS
27+#if GNUTLS_VERSION_MAJOR >= 2 && GNUTLS_VERSION_MINOR >= 12
28+ const char *force_sslv3_str = ":-VERS-TLS-ALL:+VERS-SSL3.0";
29+#else
30+ const char *force_sslv3_str =
31+ ":-VERS-TLS1.2:-VERS-TLS1.1:-VERS-TLS1.0:+VERS-SSL3.0";
32+#endif
33 int error_code;
34+ char *priorities;
35+ const char *error_pos;
36
37 if ((error_code = gnutls_init(&tls->session, GNUTLS_CLIENT)) != 0)
38 {
39@@ -945,9 +953,15 @@ int tls_init(tls_t *tls, const char *key_file, const char *cert_file,
40 }
41 if (force_sslv3)
42 {
43- const int force_sslv3_proto_prio[2] = { GNUTLS_SSL3, 0 };
44- if ((error_code = gnutls_protocol_set_priority(tls->session,
45- force_sslv3_proto_prio)) != 0)
46+ priorities = xstrdup("NORMAL");
47+ error_pos = NULL;
48+
49+ priorities = xrealloc(priorities,
50+ strlen(priorities) + strlen(force_sslv3_str) + 1);
51+ strcat(priorities, force_sslv3_str);
52+
53+ if ((error_code = gnutls_priority_set_direct(tls->session,
54+ priorities, &error_pos)) != 0)
55 {
56 *errstr = xasprintf(_("cannot force SSLv3: %s"),
57 gnutls_strerror(error_code));
58--
592.8.1
60