1 |
commit: af5234eeeb8e6208d80bd5d97fe43d37dcbc563a |
2 |
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jan 25 19:42:46 2020 +0000 |
4 |
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 25 19:42:46 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/mysql-extras.git/commit/?id=af5234ee |
7 |
|
8 |
Add 20018_all_mysql-5.7.29-fix-libressl-support.patch |
9 |
|
10 |
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> |
11 |
|
12 |
20018_all_mysql-5.7.29-fix-libressl-support.patch | 79 +++++++++++++++++++++++ |
13 |
1 file changed, 79 insertions(+) |
14 |
|
15 |
diff --git a/20018_all_mysql-5.7.29-fix-libressl-support.patch b/20018_all_mysql-5.7.29-fix-libressl-support.patch |
16 |
new file mode 100644 |
17 |
index 0000000..c3604cb |
18 |
--- /dev/null |
19 |
+++ b/20018_all_mysql-5.7.29-fix-libressl-support.patch |
20 |
@@ -0,0 +1,79 @@ |
21 |
+--- a/cmake/ssl.cmake |
22 |
++++ b/cmake/ssl.cmake |
23 |
+@@ -186,7 +186,8 @@ MACRO (MYSQL_CHECK_SSL) |
24 |
+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}" |
25 |
+ ) |
26 |
+ ENDIF() |
27 |
+- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0") |
28 |
++ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) |
29 |
++ IF(HAVE_TLS1_3_VERSION) |
30 |
+ ADD_DEFINITIONS(-DHAVE_TLSv13) |
31 |
+ SET(HAVE_TLSv13 1) |
32 |
+ IF(SOLARIS) |
33 |
+@@ -196,7 +197,7 @@ MACRO (MYSQL_CHECK_SSL) |
34 |
+ IF(OPENSSL_INCLUDE_DIR AND |
35 |
+ OPENSSL_LIBRARY AND |
36 |
+ CRYPTO_LIBRARY AND |
37 |
+- OPENSSL_MAJOR_VERSION STREQUAL "1" |
38 |
++ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1" |
39 |
+ ) |
40 |
+ SET(OPENSSL_FOUND TRUE) |
41 |
+ ELSE() |
42 |
+--- a/sql/auth/sha2_password_common.cc |
43 |
++++ b/sql/auth/sha2_password_common.cc |
44 |
+@@ -116,7 +116,8 @@ bool SHA256_digest::retrieve_digest(unsigned char *digest, |
45 |
+ DBUG_RETURN(true); |
46 |
+ } |
47 |
+ m_ok= EVP_DigestFinal_ex(md_context, m_digest, NULL); |
48 |
+-#if defined(HAVE_WOLFSSL) || OPENSSL_VERSION_NUMBER < 0x10100000L |
49 |
++#if defined(HAVE_WOLFSSL) || OPENSSL_VERSION_NUMBER < 0x10100000L || \ |
50 |
++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x02090000fL) |
51 |
+ EVP_MD_CTX_cleanup(md_context); |
52 |
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ |
53 |
+ EVP_MD_CTX_reset(md_context); |
54 |
+--- a/sql/mysqld.cc |
55 |
++++ b/sql/mysqld.cc |
56 |
+@@ -3419,7 +3419,7 @@ int warn_self_signed_ca() |
57 |
+ static int init_ssl() |
58 |
+ { |
59 |
+ #ifdef HAVE_OPENSSL |
60 |
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
61 |
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
62 |
+ CRYPTO_malloc_init(); |
63 |
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ |
64 |
+ OPENSSL_malloc_init(); |
65 |
+--- a/vio/viosslfactories.c |
66 |
++++ b/vio/viosslfactories.c |
67 |
+@@ -123,21 +123,19 @@ static DH *get_dh2048(void) |
68 |
+ DH *dh; |
69 |
+ if ((dh=DH_new())) |
70 |
+ { |
71 |
+- BIGNUM *p= BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL); |
72 |
+- BIGNUM *g= BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL); |
73 |
+- if (!p || !g |
74 |
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
75 |
+- || !DH_set0_pqg(dh, p, NULL, g) |
76 |
+-#endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ |
77 |
+- ) { |
78 |
+- /* DH_free() will free 'p' and 'g' at once. */ |
79 |
++ BIGNUM *p = BN_bin2bn(dh2048_p,sizeof(dh2048_p), NULL); |
80 |
++ BIGNUM *g = BN_bin2bn(dh2048_g,sizeof(dh2048_g), NULL); |
81 |
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
82 |
++ dh->p=p; |
83 |
++ dh->g=g; |
84 |
++ if (! dh->p || ! dh->g) |
85 |
++#else |
86 |
++ if (!DH_set0_pqg(dh, p, NULL, g)) |
87 |
++#endif |
88 |
++ { |
89 |
+ DH_free(dh); |
90 |
+- return NULL; |
91 |
++ dh = NULL; |
92 |
+ } |
93 |
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
94 |
+- dh->p= p; |
95 |
+- dh->g= g; |
96 |
+-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ |
97 |
+ } |
98 |
+ return(dh); |
99 |
+ } |