commit:     d66387b45665befce3bbe5f3da63bf23295bafae
Author:     Sven Wegener <swegener <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  7 13:34:19 2017 +0000
Commit:     Sven Wegener <swegener <AT> gentoo <DOT> org>
CommitDate: Sat Jan  7 13:43:31 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d66387b4

net-irc/irssi: Backport patch for openssl without EC, bug #604892

Package-Manager: Portage-2.3.0, Repoman-2.3.1

 net-irc/irssi/files/irssi-1.0.0-no-ec.patch | 43 +++++++++++++++++++++++++++++
 net-irc/irssi/irssi-1.0.0.ebuild            |  4 +++
 net-irc/irssi/metadata.xml                  |  8 +++---
 3 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/net-irc/irssi/files/irssi-1.0.0-no-ec.patch 
b/net-irc/irssi/files/irssi-1.0.0-no-ec.patch
new file mode 100644
index 00000000..171dc37
--- /dev/null
+++ b/net-irc/irssi/files/irssi-1.0.0-no-ec.patch
@@ -0,0 +1,43 @@
+commit 752f484c6ce4c2aa7284b617a59a8906b269281c
+Author: dequis <[email protected]>
+Date:   Fri Jan 6 11:47:24 2017 -0300
+
+    Add OPENSSL_NO_EC for solaris 11.3, see issue #598
+    
+    Original patch by 'Slarky'
+    
+    According to that ticket, the next major version of solaris won't need
+    this. Consider reverting this when solaris 11.3 stops being relevant.
+
+diff --git a/src/core/network-openssl.c b/src/core/network-openssl.c
+index 7a1d6e3..1eb8534 100644
+--- a/src/core/network-openssl.c
++++ b/src/core/network-openssl.c
+@@ -646,7 +646,11 @@ static void set_server_temporary_key_info(TLS_REC *tls, 
SSL *ssl)
+ #ifdef SSL_get_server_tmp_key
+       // Show ephemeral key information.
+       EVP_PKEY *ephemeral_key = NULL;
++
++      // OPENSSL_NO_EC is for solaris 11.3 (2016), github ticket #598
++#ifndef OPENSSL_NO_EC
+       EC_KEY *ec_key = NULL;
++#endif
+       char *ephemeral_key_algorithm = NULL;
+       char *cname = NULL;
+       int nid;
+@@ -658,6 +662,7 @@ static void set_server_temporary_key_info(TLS_REC *tls, 
SSL *ssl)
+                               tls_rec_set_ephemeral_key_size(tls, 
EVP_PKEY_bits(ephemeral_key));
+                               break;
+ 
++#ifndef OPENSSL_NO_EC
+                       case EVP_PKEY_EC:
+                               ec_key = EVP_PKEY_get1_EC_KEY(ephemeral_key);
+                               nid = 
EC_GROUP_get_curve_name(EC_KEY_get0_group(ec_key));
+@@ -670,6 +675,7 @@ static void set_server_temporary_key_info(TLS_REC *tls, 
SSL *ssl)
+ 
+                               g_free_and_null(ephemeral_key_algorithm);
+                               break;
++#endif
+ 
+                       default:
+                               tls_rec_set_ephemeral_key_algorithm(tls, 
"Unknown");

diff --git a/net-irc/irssi/irssi-1.0.0.ebuild b/net-irc/irssi/irssi-1.0.0.ebuild
index 2d8d161..1644d03 100644
--- a/net-irc/irssi/irssi-1.0.0.ebuild
+++ b/net-irc/irssi/irssi-1.0.0.ebuild
@@ -38,6 +38,10 @@ RESTRICT="test"
 
 S="${WORKDIR}/${MY_P}"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-no-ec.patch
+)
+
 src_configure() {
        econf \
                --with-perl-lib=vendor \

diff --git a/net-irc/irssi/metadata.xml b/net-irc/irssi/metadata.xml
index f90707c..d9c3b63 100644
--- a/net-irc/irssi/metadata.xml
+++ b/net-irc/irssi/metadata.xml
@@ -2,13 +2,13 @@
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
 <maintainer type="person">
-       <email>[email protected]</email>
-       <name>Patrice Clement</name>
-</maintainer>
-<maintainer type="person">
        <email>[email protected]</email>
        <description>Primary Maintainer</description>
 </maintainer>
+<maintainer type="person">
+       <email>[email protected]</email>
+       <name>Patrice Clement</name>
+</maintainer>
 <use>
        <flag name="proxy">Adds support for a loadable IRC proxy module</flag>
 </use>

Reply via email to