From 2d676affba9a313563bee463daba47235862724b Mon Sep 17 00:00:00 2001 From: Patrick McLean Date: Thu, 21 Feb 2019 11:47:25 -0800 Subject: 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 --- .../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(+) create mode 100644 net-nds/openldap/files/openldap-2.4.47-libressl.patch create mode 100644 net-nds/openldap/files/openldap-2.4.47-warnings.patch (limited to 'net-nds') 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 000000000000..5e5b3e37bf05 --- /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 + #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 000000000000..d75bd0d3c5d7 --- /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 + #ifdef HAVE_SCHED_H + #include +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 1f5e9a429ea8..b05c43ed9ff4 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() { -- cgit v1.2.3-65-gdbad