From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 325A3138334 for ; Fri, 26 Oct 2018 18:09:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2882FE0950; Fri, 26 Oct 2018 18:09:09 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E97A0E0950 for ; Fri, 26 Oct 2018 18:09:08 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 65E0B335C08 for ; Fri, 26 Oct 2018 18:09:07 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C2EEF3DD for ; Fri, 26 Oct 2018 18:09:04 +0000 (UTC) From: "Craig Andrews" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Craig Andrews" Message-ID: <1540577335.fa230af7c9832b53e08d34799acbc5877a912fc5.candrews@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/libesmtp/files/, net-libs/libesmtp/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch net-libs/libesmtp/libesmtp-1.0.6-r3.ebuild X-VCS-Directories: net-libs/libesmtp/files/ net-libs/libesmtp/ X-VCS-Committer: candrews X-VCS-Committer-Name: Craig Andrews X-VCS-Revision: fa230af7c9832b53e08d34799acbc5877a912fc5 X-VCS-Branch: master Date: Fri, 26 Oct 2018 18:09:04 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 64f21e83-8c1a-4cdd-aa3b-4885d0a063aa X-Archives-Hash: 12610550e59da907fc20adeb0078b370 commit: fa230af7c9832b53e08d34799acbc5877a912fc5 Author: Craig Andrews gentoo org> AuthorDate: Fri Oct 26 16:50:33 2018 +0000 Commit: Craig Andrews gentoo org> CommitDate: Fri Oct 26 18:08:55 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa230af7 net-libs/libesmtp: Fix OpenSSL 1.1, EAPI=7 bump Closes: https://bugs.gentoo.org/624412 Signed-off-by: Craig Andrews gentoo.org> Package-Manager: Portage-2.3.51, Repoman-2.3.11 ...esmtp-1.0.6-openssl-1.1-api-compatibility.patch | 72 ++++++++++++++++++++++ net-libs/libesmtp/libesmtp-1.0.6-r3.ebuild | 47 ++++++++++++++ 2 files changed, 119 insertions(+) diff --git a/net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch b/net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch new file mode 100644 index 00000000000..bc3e3f35684 --- /dev/null +++ b/net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch @@ -0,0 +1,72 @@ +diff --git a/configure.ac b/configure.ac +index 556f220..2c0693d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -303,7 +303,7 @@ if test x$with_openssl != xno ; then + ) + fi + if test x$with_openssl != xno ; then +- AC_CHECK_LIB(ssl, SSL_library_init, [ ++ AC_CHECK_LIB(ssl, SSL_new, [ + with_openssl=yes + LIBS="-lssl -lcrypto $LIBS" + ], [ +diff --git a/smtp-tls.c b/smtp-tls.c +index 9a66806..cfc6589 100644 +--- a/smtp-tls.c ++++ b/smtp-tls.c +@@ -57,6 +57,7 @@ static void *ctx_password_cb_arg; + #ifdef USE_PTHREADS + #include + static pthread_mutex_t starttls_mutex = PTHREAD_MUTEX_INITIALIZER; ++#if OPENSSL_VERSION_NUMBER < 0x10100000 + static pthread_mutex_t *openssl_mutex; + + static void +@@ -70,6 +71,7 @@ openssl_mutexcb (int mode, int n, + pthread_mutex_unlock (&openssl_mutex[n]); + } + #endif ++#endif + + static int + starttls_init (void) +@@ -77,6 +79,10 @@ starttls_init (void) + if (tls_init) + return 1; + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++ /* starting from OpenSSL 1.1.0, OpenSSL uses a new threading API and does its own locking */ ++ /* also initialization has been reworked and is done automatically */ ++ /* so there's not much to do here any more */ + #ifdef USE_PTHREADS + /* Set up mutexes for the OpenSSL library */ + if (openssl_mutex == NULL) +@@ -94,9 +100,10 @@ starttls_init (void) + CRYPTO_set_locking_callback (openssl_mutexcb); + } + #endif +- tls_init = 1; + SSL_load_error_strings (); + SSL_library_init (); ++#endif ++ tls_init = 1; + return 1; + } + +@@ -201,7 +208,15 @@ starttls_create_ctx (smtp_session_t session) + 3207. Servers typically support SSL as well as TLS because some + versions of Netscape do not support TLS. I am assuming that all + currently deployed servers correctly support TLS. */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000 + ctx = SSL_CTX_new (TLSv1_client_method ()); ++#else ++ ctx = SSL_CTX_new (TLS_client_method ()); ++ if (!SSL_CTX_set_min_proto_version(ctx, TLS1_VERSION)) { ++ /* FIXME: set an error code AND free the allocated ctx */ ++ return NULL; ++ } ++#endif + + /* Load our keys and certificates. To avoid messing with configuration + variables etc, use fixed paths for the certificate store. These are diff --git a/net-libs/libesmtp/libesmtp-1.0.6-r3.ebuild b/net-libs/libesmtp/libesmtp-1.0.6-r3.ebuild new file mode 100644 index 00000000000..c0d28b116e7 --- /dev/null +++ b/net-libs/libesmtp/libesmtp-1.0.6-r3.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="lib that implements the client side of the SMTP protocol" +HOMEPAGE="http://brianstafford.info/libesmtp/" +SRC_URI="http://brianstafford.info/${PN}/${P}.tar.bz2" + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos" +IUSE="debug libressl ntlm ssl static-libs threads" + +RDEPEND=" + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + )" +DEPEND="${RDEPEND}" +DOCS=( AUTHORS ChangeLog NEWS Notes README TODO ) +PATCHES=( + "${FILESDIR}/${P}-openssl-1.1-api-compatibility.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + $(use_enable static-libs static) \ + --enable-all \ + $(use_enable ntlm) \ + $(use_enable threads pthreads) \ + $(use_enable debug) \ + $(use_with ssl openssl) +} + +src_install() { + default + insinto /usr/share/doc/${PF}/xml + doins doc/api.xml +}