commit: 508591b213da065801a691a68860eb3d21d898d4 Author: Matt Jolly <kangie <AT> gentoo <DOT> org> AuthorDate: Mon Aug 5 07:07:51 2024 +0000 Commit: Matt Jolly <kangie <AT> gentoo <DOT> org> CommitDate: Mon Aug 5 07:23:03 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=508591b2
net-misc/curl: add 8.9.1-r1 This revbump includes a patch for a regression where libcurl could leak SIGPIPE into programs using it, for example Transmission. See: https://github.com/curl/curl/issues/14344 Closes: https://bugs.gentoo.org/937139 Signed-off-by: Matt Jolly <kangie <AT> gentoo.org> .../{curl-9999.ebuild => curl-8.9.1-r1.ebuild} | 4 +++- net-misc/curl/curl-9999.ebuild | 1 + net-misc/curl/files/curl-8.9.1-sigpipe.patch | 26 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/net-misc/curl/curl-9999.ebuild b/net-misc/curl/curl-8.9.1-r1.ebuild similarity index 99% copy from net-misc/curl/curl-9999.ebuild copy to net-misc/curl/curl-8.9.1-r1.ebuild index 2660f7cff4ca..68501e82986b 100644 --- a/net-misc/curl/curl-9999.ebuild +++ b/net-misc/curl/curl-8.9.1-r1.ebuild @@ -27,7 +27,7 @@ fi LICENSE="BSD curl ISC test? ( BSD-4 )" SLOT="0" IUSE="+adns +alt-svc brotli debug +ftp gnutls gopher +hsts +http2 +http3 idn +imap kerberos ldap mbedtls +openssl +pop3" -IUSE+=" +psl +progress-meter +quic rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp +websockets zstd" +IUSE+=" +psl +progress-meter +quic rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd" # These select the default tls implementation / which quic impl to use IUSE+=" +curl_quic_openssl curl_quic_ngtcp2 curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls" RESTRICT="!test? ( test )" @@ -43,6 +43,7 @@ REQUIRED_USE=" curl_quic_ngtcp2 ) http3 + ssl ) ssl? ( ^^ ( @@ -157,6 +158,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( "${FILESDIR}"/${PN}-prefix-2.patch "${FILESDIR}"/${PN}-respect-cflags-3.patch + "${FILESDIR}"/${PN}-8.9.1-sigpipe.patch ) src_prepare() { diff --git a/net-misc/curl/curl-9999.ebuild b/net-misc/curl/curl-9999.ebuild index 2660f7cff4ca..0e787dfac352 100644 --- a/net-misc/curl/curl-9999.ebuild +++ b/net-misc/curl/curl-9999.ebuild @@ -43,6 +43,7 @@ REQUIRED_USE=" curl_quic_ngtcp2 ) http3 + ssl ) ssl? ( ^^ ( diff --git a/net-misc/curl/files/curl-8.9.1-sigpipe.patch b/net-misc/curl/files/curl-8.9.1-sigpipe.patch new file mode 100644 index 000000000000..d308fc4420e1 --- /dev/null +++ b/net-misc/curl/files/curl-8.9.1-sigpipe.patch @@ -0,0 +1,26 @@ +https://github.com/curl/curl/commit/3eec5afbd0b6377eca893c392569b2faf094d970 +From: Daniel Stenberg <[email protected]> +Date: Mon, 5 Aug 2024 00:17:17 +0200 +Subject: [PATCH] sigpipe: init the struct so that first apply ignores + +Initializes 'no_signal' to TRUE, so that a call to sigpipe_apply() after +init ignores the signal (unless CURLOPT_NOSIGNAL) is set. + +I have read the existing code multiple times now and I think it gets the +initial state reversed this missing to ignore. + +Regression from 17e6f06ea37136c36d27 + +Reported-by: Rasmus Thomsen +Fixes #14344 +Closes #14390 +--- a/lib/sigpipe.h ++++ b/lib/sigpipe.h +@@ -39,6 +39,7 @@ struct sigpipe_ignore { + static void sigpipe_init(struct sigpipe_ignore *ig) + { + memset(ig, 0, sizeof(*ig)); ++ ig->no_signal = TRUE; + } + + /*
