commit:     2d676affba9a313563bee463daba47235862724b
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Feb 21 19:47:25 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Feb 21 19:47:47 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d676aff

net-nds/openldap: Add libressl patch to 2.4.47, also fix warnings

Forward patches the libressl patch from 2.4.45-r1, also adds a patch
that silences implicit definition warnings.

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../openldap/files/openldap-2.4.47-libressl.patch  | 58 ++++++++++++++++++++++
 .../openldap/files/openldap-2.4.47-warnings.patch  | 41 +++++++++++++++
 net-nds/openldap/openldap-2.4.47.ebuild            |  6 +++
 3 files changed, 105 insertions(+)

diff --git a/net-nds/openldap/files/openldap-2.4.47-libressl.patch 
b/net-nds/openldap/files/openldap-2.4.47-libressl.patch
new file mode 100644
index 00000000000..5e5b3e37bf0
--- /dev/null
+++ b/net-nds/openldap/files/openldap-2.4.47-libressl.patch
@@ -0,0 +1,58 @@
+diff --git a/libraries/libldap/tls_o.c b/libraries/libldap/tls_o.c
+index b0277dfe9..8a3f47a74 100644
+--- a/libraries/libldap/tls_o.c
++++ b/libraries/libldap/tls_o.c
+@@ -50,7 +50,7 @@
+ #include <ssl.h>
+ #endif
+ 
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000
++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
+ #define ASN1_STRING_data(x)   ASN1_STRING_get0_data(x)
+ #endif
+ 
+@@ -200,7 +200,7 @@ tlso_init( void )
+       (void) tlso_seed_PRNG( lo->ldo_tls_randfile );
+ #endif
+ 
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+       SSL_load_error_strings();
+       SSL_library_init();
+       OpenSSL_add_all_digests();
+@@ -252,7 +252,7 @@ static void
+ tlso_ctx_ref( tls_ctx *ctx )
+ {
+       tlso_ctx *c = (tlso_ctx *)ctx;
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+ #define       SSL_CTX_up_ref(ctx)     CRYPTO_add( &(ctx->references), 1, 
CRYPTO_LOCK_SSL_CTX )
+ #endif
+       SSL_CTX_up_ref( c );
+@@ -511,7 +511,7 @@ tlso_session_my_dn( tls_session *sess, struct berval 
*der_dn )
+       if (!x) return LDAP_INVALID_CREDENTIALS;
+       
+       xn = X509_get_subject_name(x);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+       der_dn->bv_len = i2d_X509_NAME( xn, NULL );
+       der_dn->bv_val = xn->bytes->data;
+ #else
+@@ -547,7 +547,7 @@ tlso_session_peer_dn( tls_session *sess, struct berval 
*der_dn )
+               return LDAP_INVALID_CREDENTIALS;
+ 
+       xn = X509_get_subject_name(x);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+       der_dn->bv_len = i2d_X509_NAME( xn, NULL );
+       der_dn->bv_val = xn->bytes->data;
+ #else
+@@ -768,7 +768,7 @@ struct tls_data {
+       Sockbuf_IO_Desc         *sbiod;
+ };
+ 
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+ #define BIO_set_init(b, x)    b->init = x
+ #define BIO_set_data(b, x)    b->ptr = x
+ #define BIO_clear_flags(b, x) b->flags &= ~(x)

diff --git a/net-nds/openldap/files/openldap-2.4.47-warnings.patch 
b/net-nds/openldap/files/openldap-2.4.47-warnings.patch
new file mode 100644
index 00000000000..d75bd0d3c5d
--- /dev/null
+++ b/net-nds/openldap/files/openldap-2.4.47-warnings.patch
@@ -0,0 +1,41 @@
+diff --git a/include/ldap.h b/include/ldap.h
+index c245651c2..7f14f1051 100644
+--- a/include/ldap.h
++++ b/include/ldap.h
+@@ -2041,6 +2041,10 @@ LDAP_F( int )
+ ldap_is_ldapi_url LDAP_P((
+       LDAP_CONST char *url ));
+ 
++LDAP_F( int )
++ldap_is_ldapc_url LDAP_P((
++      LDAP_CONST char *url ));
++
+ LDAP_F( int )
+ ldap_url_parse LDAP_P((
+       LDAP_CONST char *url,
+diff --git a/include/ldap_int_thread.h b/include/ldap_int_thread.h
+index e2dd8a942..bbc07c845 100644
+--- a/include/ldap_int_thread.h
++++ b/include/ldap_int_thread.h
+@@ -33,7 +33,7 @@ LDAP_END_DECL
+  * definitions for POSIX Threads  *
+  *                                *
+  **********************************/
+-
++#define __USE_UNIX98
+ #include <pthread.h>
+ #ifdef HAVE_SCHED_H
+ #include <sched.h>
+diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c
+index d25c190ea..639f598e7 100644
+--- a/libraries/libldap/tls2.c
++++ b/libraries/libldap/tls2.c
+@@ -76,6 +76,8 @@ static oid_name oids[] = {
+ 
+ #ifdef HAVE_TLS
+ 
++int ldap_pvt_tls_check_hostname( LDAP *ld, void *s, const char *name_in );
++
+ void
+ ldap_pvt_tls_ctx_free ( void *c )
+ {

diff --git a/net-nds/openldap/openldap-2.4.47.ebuild 
b/net-nds/openldap/openldap-2.4.47.ebuild
index 1f5e9a429ea..b05c43ed9ff 100644
--- a/net-nds/openldap/openldap-2.4.47.ebuild
+++ b/net-nds/openldap/openldap-2.4.47.ebuild
@@ -162,6 +162,12 @@ PATCHES=(
 
        # unbundle lmdb
        "${FILESDIR}"/${PN}-2.4.42-mdb-unbundle.patch
+
+       # bug #622464
+       "${FILESDIR}"/${PN}-2.4.47-libressl.patch
+
+       # fix some compiler warnings
+       "${FILESDIR}"/${PN}-2.4.47-warnings.patch
 )
 
 openldap_filecount() {

Reply via email to