Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/mysql-extras:master commit in: /
Date: Sat, 25 Jan 2020 19:43:01
Message-Id: 1579981366.af5234eeeb8e6208d80bd5d97fe43d37dcbc563a.whissi@gentoo
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 + }