pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases mysql57-{client, server}: support openssl 1.1



details:   https://anonhg.NetBSD.org/pkgsrc/rev/c19897c8585c
branches:  trunk
changeset: 375906:c19897c8585c
user:      markd <markd%pkgsrc.org@localhost>
date:      Sun Feb 25 01:15:22 2018 +0000

description:
mysql57-{client,server}: support openssl 1.1

diffstat:

 databases/mysql57-client/Makefile                                                                                                |   3 +-
 databases/mysql57-client/distinfo                                                                                                |   6 +-
 databases/mysql57-client/patches/patch-mysys__ssl_my__aes__openssl.cc                                                            |  86 ++++++++++
 databases/mysql57-client/patches/patch-rapid_plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c |  47 +++++
 databases/mysql57-client/patches/patch-sql_mysqld.cc                                                                             |  19 ++
 databases/mysql57-client/patches/patch-vio_viosslfactories.c                                                                     |  58 ++++++
 databases/mysql57-server/Makefile                                                                                                |   3 +-
 7 files changed, 219 insertions(+), 3 deletions(-)

diffs (286 lines):

diff -r 8efb2ee0119a -r c19897c8585c databases/mysql57-client/Makefile
--- a/databases/mysql57-client/Makefile Sun Feb 25 01:15:21 2018 +0000
+++ b/databases/mysql57-client/Makefile Sun Feb 25 01:15:22 2018 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.12 2018/01/16 16:29:41 adam Exp $
+# $NetBSD: Makefile,v 1.13 2018/02/25 01:15:22 markd Exp $
 
 PKGNAME=       ${DISTNAME:S/-/-client-/}
+PKGREVISION=   1
 COMMENT=       MySQL 5, a free SQL database (client)
 
 CONFLICTS=     mysql3-client-[0-9]*
diff -r 8efb2ee0119a -r c19897c8585c databases/mysql57-client/distinfo
--- a/databases/mysql57-client/distinfo Sun Feb 25 01:15:21 2018 +0000
+++ b/databases/mysql57-client/distinfo Sun Feb 25 01:15:22 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.17 2018/01/16 16:29:41 adam Exp $
+$NetBSD: distinfo,v 1.18 2018/02/25 01:15:22 markd Exp $
 
 SHA1 (mysql-5.7.21.tar.gz) = 4ba0af75db7d5b33c30f20bdda2d059abc355a47
 RMD160 (mysql-5.7.21.tar.gz) = 7a70e573e4d9075bc62768f65509fe1c0e024a60
@@ -20,11 +20,13 @@
 SHA1 (patch-libmysql_CMakeLists.txt) = 306c73384226e07bf2a45af5d92b6f05d6044cbe
 SHA1 (patch-mysql-test_CMakeLists.txt) = 8a8e846792077101a01731c4577c37161f70264d
 SHA1 (patch-mysys__ssl_CMakeLists.txt) = 7ec44642cd13c5477175a94a007354c583ca9c3c
+SHA1 (patch-mysys__ssl_my__aes__openssl.cc) = 98881ab664bf674e6813ffc31f458a3e93c3fb3e
 SHA1 (patch-mysys_kqueue__timers.c) = 836803e9c7353b813bc22a5b69cc263dea384c9b
 SHA1 (patch-mysys_my__symlink.c) = 23b57cd5922357d0bc72f5c15100a9fe1f89cfb2
 SHA1 (patch-mysys_stacktrace.c) = 3e0794f544f0e35f44a694330885478247657842
 SHA1 (patch-rapid_plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_sock__probe__ix.c) = 1a389fca13ada1be74d96276e11baee16bbc2363
 SHA1 (patch-rapid_plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__memory.c) = 7077900830f904c74c79439b856d9d176fc27f15
+SHA1 (patch-rapid_plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c) = 5860b1b5511acf3fd6a2ce9f3ba58cfa45a06297
 SHA1 (patch-rapid_plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__transport.c) = d7f87bff5a41ff6a130fcf74dc520b38cedf5924
 SHA1 (patch-rapid_plugin_group__replication_rpcgen.cmake) = 5c14be97bd1fd04b2b845f1a2422452445733474
 SHA1 (patch-rapid_plugin_x_CMakeLists.txt) = e2cc48b4d325060a105057bda715f4bd2fdab255
@@ -35,6 +37,7 @@
 SHA1 (patch-sql_conn__handler_socket__connection.cc) = 12cf83e061edbe59eb073037b1036903b7ba4b00
 SHA1 (patch-sql_item__geofunc__internal.cc) = 752862c3a30231e694e508ced1a215a610649fc6
 SHA1 (patch-sql_log_event.h) = 311dc7fb04ea832df229dc2a28bcfbf263670ebf
+SHA1 (patch-sql_mysqld.cc) = a1e2470d027ad39d6f2b177d39cb637a8c0dcd98
 SHA1 (patch-storage_archive_CMakeLists.txt) = 4cf5ed97a226a3844e184c46958b5202eefb9dd5
 SHA1 (patch-storage_blackhole_CMakeLists.txt) = 1d066d686172657ce9f812a505c7323a76111a63
 SHA1 (patch-storage_csv_CMakeLists.txt) = 6208989a32805f8b107cd9de96e3ff0490ec9000
@@ -45,3 +48,4 @@
 SHA1 (patch-storage_myisammrg_CMakeLists.txt) = e4755536adfb6e837f997061690244da9aa7a6d3
 SHA1 (patch-storage_ndb_mcc_frontend_dojo_dojox_mobile_build_build.sh) = e6939ef781054b4bff006038905e28f7c5cd8d7e
 SHA1 (patch-strings_decimal.c) = 069c9d930c735f74510702baa9bef38aec425903
+SHA1 (patch-vio_viosslfactories.c) = 35cebb7701bbbd3eb431e73c128fa425ba356ac1
diff -r 8efb2ee0119a -r c19897c8585c databases/mysql57-client/patches/patch-mysys__ssl_my__aes__openssl.cc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql57-client/patches/patch-mysys__ssl_my__aes__openssl.cc     Sun Feb 25 01:15:22 2018 +0000
@@ -0,0 +1,86 @@
+$NetBSD: patch-mysys__ssl_my__aes__openssl.cc,v 1.1 2018/02/25 01:15:22 markd Exp $
+
+support openssl 1.1
+from https://bugs.mysql.com/bug.php?id=83814
+
+--- mysys_ssl/my_aes_openssl.cc.orig   2017-12-28 03:46:26.000000000 +0000
++++ mysys_ssl/my_aes_openssl.cc
+@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char *
+                    enum my_aes_opmode mode, const unsigned char *iv,
+                    bool padding)
+ {
+-  EVP_CIPHER_CTX ctx;
++  EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
+   const EVP_CIPHER *cipher= aes_evp_type(mode);
+   int u_len, f_len;
+   /* The real key to be used for encryption */
+@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char *
+   if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
+     return MY_AES_BAD_DATA;
+ 
+-  if (!EVP_EncryptInit(&ctx, cipher, rkey, iv))
++  if (!EVP_EncryptInit(ctx, cipher, rkey, iv))
+     goto aes_error;                             /* Error */
+-  if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
++  if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
+     goto aes_error;                             /* Error */
+-  if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length))
++  if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length))
+     goto aes_error;                             /* Error */
+ 
+-  if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len))
++  if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len))
+     goto aes_error;                             /* Error */
+ 
+-  EVP_CIPHER_CTX_cleanup(&ctx);
++  EVP_CIPHER_CTX_free(ctx);
+   return u_len + f_len;
+ 
+ aes_error:
+   /* need to explicitly clean up the error if we want to ignore it */
+   ERR_clear_error();
+-  EVP_CIPHER_CTX_cleanup(&ctx);
++  EVP_CIPHER_CTX_free(ctx);
+   return MY_AES_BAD_DATA;
+ }
+ 
+@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char *
+                    bool padding)
+ {
+ 
+-  EVP_CIPHER_CTX ctx;
++  EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
+   const EVP_CIPHER *cipher= aes_evp_type(mode);
+   int u_len, f_len;
+ 
+@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char *
+   if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
+     return MY_AES_BAD_DATA;
+ 
+-  EVP_CIPHER_CTX_init(&ctx);
+-
+-  if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv))
++  if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv))
+     goto aes_error;                             /* Error */
+-  if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
++  if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
+     goto aes_error;                             /* Error */
+-  if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length))
++  if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length))
+     goto aes_error;                             /* Error */
+-  if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len))
++  if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len))
+     goto aes_error;                             /* Error */
+ 
+-  EVP_CIPHER_CTX_cleanup(&ctx);
++  EVP_CIPHER_CTX_free(ctx);
+   return u_len + f_len;
+ 
+ aes_error:
+   /* need to explicitly clean up the error if we want to ignore it */
+   ERR_clear_error();
+-  EVP_CIPHER_CTX_cleanup(&ctx);
++  EVP_CIPHER_CTX_free(ctx);
+   return MY_AES_BAD_DATA;
+ }
+ 
diff -r 8efb2ee0119a -r c19897c8585c databases/mysql57-client/patches/patch-rapid_plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql57-client/patches/patch-rapid_plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c  Sun Feb 25 01:15:22 2018 +0000
@@ -0,0 +1,47 @@
+$NetBSD: patch-rapid_plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c,v 1.1 2018/02/25 01:15:22 markd Exp $
+
+support openssl 1.1 
+from https://bugs.mysql.com/bug.php?id=83814
+
+--- rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c.orig        2017-12-28 03:46:26.000000000 +0000
++++ rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
+@@ -104,7 +104,7 @@ static const char* tls_cipher_blocked= "
+   mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ==
+   -----END DH PARAMETERS-----
+  */
+-static unsigned char dh2048_p[]=
++static unsigned char dhp_2048[]=
+ {
+   0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37,
+   0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C,
+@@ -131,20 +131,24 @@ static unsigned char dh2048_p[]=
+ };
+ 
+ 
+-static unsigned char dh2048_g[]={
++static unsigned char dhg_2048[]={
+   0x05,
+ };
+ 
+ static DH *get_dh2048(void)
+ {
+-  DH *dh;
+-  if ((dh=DH_new()))
++  DH *dh = DH_new();
++  BIGNUM *dhp_bn, *dhg_bn;
++  if (dh != NULL)
+   {
+-    dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
+-    dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
+-    if (! dh->p || ! dh->g)
++    dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
++    dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
++    if (dhp_bn == NULL || dhg_bn == NULL
++        || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) 
+     {
+       DH_free(dh);
++      BN_free(dhp_bn);
++      BN_free(dhg_bn);
+       dh=0;
+     }
+   }
diff -r 8efb2ee0119a -r c19897c8585c databases/mysql57-client/patches/patch-sql_mysqld.cc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql57-client/patches/patch-sql_mysqld.cc      Sun Feb 25 01:15:22 2018 +0000
@@ -0,0 +1,19 @@
+$NetBSD: patch-sql_mysqld.cc,v 1.1 2018/02/25 01:15:22 markd Exp $
+
+support openssl 1.1 
+from https://bugs.mysql.com/bug.php?id=83814
+
+--- sql/mysqld.cc.orig 2017-12-28 03:46:26.000000000 +0000
++++ sql/mysqld.cc
+@@ -3398,7 +3398,11 @@ static int init_ssl()
+ {
+ #ifdef HAVE_OPENSSL
+ #ifndef HAVE_YASSL
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   CRYPTO_malloc_init();
++#else
++  OPENSSL_malloc_init();
++#endif
+ #endif
+   ssl_start();
+ #ifndef EMBEDDED_LIBRARY
diff -r 8efb2ee0119a -r c19897c8585c databases/mysql57-client/patches/patch-vio_viosslfactories.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql57-client/patches/patch-vio_viosslfactories.c      Sun Feb 25 01:15:22 2018 +0000
@@ -0,0 +1,58 @@
+$NetBSD: patch-vio_viosslfactories.c,v 1.1 2018/02/25 01:15:22 markd Exp $
+
+support openssl 1.1 
+from https://bugs.mysql.com/bug.php?id=83814
+
+--- vio/viosslfactories.c.orig 2017-12-28 03:46:26.000000000 +0000
++++ vio/viosslfactories.c
+@@ -86,7 +86,7 @@ static my_bool     ssl_initialized      
+   mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ==
+   -----END DH PARAMETERS-----
+  */
+-static unsigned char dh2048_p[]=
++static unsigned char dhp_2048[]=
+ {
+   0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37,
+   0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C,
+@@ -112,20 +112,38 @@ static unsigned char dh2048_p[]=
+   0x00, 0x05, 0x85, 0xB7,
+ };
+ 
+-static unsigned char dh2048_g[]={
++static unsigned char dhg_2048[]={
+   0x05,
+ };
+ 
+ static DH *get_dh2048(void)
+ {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   DH *dh;
+   if ((dh=DH_new()))
++#else
++  DH *dh = DH_new();
++  BIGNUM *dhp_bn, *dhg_bn;
++
++  if (dh != NULL)
++#endif
+   {
+-    dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
+-    dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++    dh->p=BN_bin2bn(dhp_2048,sizeof(dhp_2048),NULL);
++    dh->g=BN_bin2bn(dhg_2048,sizeof(dhg_2048),NULL);
+     if (! dh->p || ! dh->g)
++#else
++    dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
++    dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
++    if (dhp_bn == NULL || dhg_bn == NULL
++        || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))
++#endif
+     {
+       DH_free(dh);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++      BN_free(dhp_bn);
++      BN_free(dhg_bn);
++#endif
+       dh=0;
+     }
+   }
diff -r 8efb2ee0119a -r c19897c8585c databases/mysql57-server/Makefile
--- a/databases/mysql57-server/Makefile Sun Feb 25 01:15:21 2018 +0000
+++ b/databases/mysql57-server/Makefile Sun Feb 25 01:15:22 2018 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.14 2018/02/20 12:57:32 wiz Exp $
+# $NetBSD: Makefile,v 1.15 2018/02/25 01:15:22 markd Exp $
 
 PKGNAME=       ${DISTNAME:S/-/-server-/}
+PKGREVISION=   1
 COMMENT=       MySQL 5, a free SQL database (server)
 
 CONFLICTS=     mysql3-server-[0-9]*



Home | Main Index | Thread Index | Old Index