From fd1183de2a811c0a89d835d12c63b5cbb9eb07c6 Mon Sep 17 00:00:00 2001 From: Luca Pizzamiglio Date: Fri, 19 Jan 2018 14:09:41 +0000 Subject: databases/percona56-server: fix SSL support with libressl databases/percona56-client: fix SSL support with libressl PR: 225261 Approved by: flo (maintainer) Sponsored by: trivago N.V. --- .../files/patch-sql-common_client.c | 38 ++++++++++++++++++++++ .../files/patch-vio_viosslfactories.c | 11 +++++++ .../files/patch-sql-common_client.c | 38 ++++++++++++++++++++++ .../files/patch-vio_viosslfactories.c | 11 +++++++ 4 files changed, 98 insertions(+) create mode 100644 databases/percona56-client/files/patch-sql-common_client.c create mode 100644 databases/percona56-client/files/patch-vio_viosslfactories.c create mode 100644 databases/percona56-server/files/patch-sql-common_client.c create mode 100644 databases/percona56-server/files/patch-vio_viosslfactories.c (limited to 'databases') diff --git a/databases/percona56-client/files/patch-sql-common_client.c b/databases/percona56-client/files/patch-sql-common_client.c new file mode 100644 index 000000000000..2a6f3fe1a37f --- /dev/null +++ b/databases/percona56-client/files/patch-sql-common_client.c @@ -0,0 +1,38 @@ +--- sql-common/client.c.orig 2018-01-17 11:39:51.315029000 +0000 ++++ sql-common/client.c 2018-01-17 11:44:53.493273000 +0000 +@@ -1884,7 +1884,7 @@ + *errptr= "Failed to get DNS name from SAN list item"; + DBUG_RETURN(1); + } +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + cn= (const char *)ASN1_STRING_data(dns_name); + #else + cn= (const char *)ASN1_STRING_get0_data(dns_name); +@@ -1946,7 +1946,7 @@ + *errptr= "Invalid IP address embedded in the certificate SAN IP address"; + DBUG_RETURN(1); + } +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + ip= ASN1_STRING_data(ip_address); + #else + ip= ASN1_STRING_get0_data(ip_address); +@@ -2111,7 +2111,7 @@ + if(server_ip_address != NULL) + { + iplen= ASN1_STRING_length(server_ip_address); +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + ipout= (const unsigned char *) ASN1_STRING_data(server_ip_address); + #else + ipout= (const unsigned char *) ASN1_STRING_get0_data(server_ip_address); +@@ -2163,7 +2163,7 @@ + goto error; + } + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + cn= (const char *) ASN1_STRING_data(cn_asn1); + #else + cn= (const char *) ASN1_STRING_get0_data(cn_asn1); diff --git a/databases/percona56-client/files/patch-vio_viosslfactories.c b/databases/percona56-client/files/patch-vio_viosslfactories.c new file mode 100644 index 000000000000..267a2fd82d03 --- /dev/null +++ b/databases/percona56-client/files/patch-vio_viosslfactories.c @@ -0,0 +1,11 @@ +--- vio/viosslfactories.c.orig 2018-01-17 11:42:33.764076000 +0000 ++++ vio/viosslfactories.c 2018-01-17 11:43:21.072238000 +0000 +@@ -125,7 +125,7 @@ + { + BIGNUM* p= BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); + BIGNUM* g= BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined( LIBRESSL_VERSION_NUMBER ) + dh->p= p; + dh->g= g; + if (! dh->p || ! dh->g) diff --git a/databases/percona56-server/files/patch-sql-common_client.c b/databases/percona56-server/files/patch-sql-common_client.c new file mode 100644 index 000000000000..2a6f3fe1a37f --- /dev/null +++ b/databases/percona56-server/files/patch-sql-common_client.c @@ -0,0 +1,38 @@ +--- sql-common/client.c.orig 2018-01-17 11:39:51.315029000 +0000 ++++ sql-common/client.c 2018-01-17 11:44:53.493273000 +0000 +@@ -1884,7 +1884,7 @@ + *errptr= "Failed to get DNS name from SAN list item"; + DBUG_RETURN(1); + } +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + cn= (const char *)ASN1_STRING_data(dns_name); + #else + cn= (const char *)ASN1_STRING_get0_data(dns_name); +@@ -1946,7 +1946,7 @@ + *errptr= "Invalid IP address embedded in the certificate SAN IP address"; + DBUG_RETURN(1); + } +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + ip= ASN1_STRING_data(ip_address); + #else + ip= ASN1_STRING_get0_data(ip_address); +@@ -2111,7 +2111,7 @@ + if(server_ip_address != NULL) + { + iplen= ASN1_STRING_length(server_ip_address); +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + ipout= (const unsigned char *) ASN1_STRING_data(server_ip_address); + #else + ipout= (const unsigned char *) ASN1_STRING_get0_data(server_ip_address); +@@ -2163,7 +2163,7 @@ + goto error; + } + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + cn= (const char *) ASN1_STRING_data(cn_asn1); + #else + cn= (const char *) ASN1_STRING_get0_data(cn_asn1); diff --git a/databases/percona56-server/files/patch-vio_viosslfactories.c b/databases/percona56-server/files/patch-vio_viosslfactories.c new file mode 100644 index 000000000000..267a2fd82d03 --- /dev/null +++ b/databases/percona56-server/files/patch-vio_viosslfactories.c @@ -0,0 +1,11 @@ +--- vio/viosslfactories.c.orig 2018-01-17 11:42:33.764076000 +0000 ++++ vio/viosslfactories.c 2018-01-17 11:43:21.072238000 +0000 +@@ -125,7 +125,7 @@ + { + BIGNUM* p= BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); + BIGNUM* g= BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined( LIBRESSL_VERSION_NUMBER ) + dh->p= p; + dh->g= g; + if (! dh->p || ! dh->g) -- cgit v1.2.3