From 3cf7c3ef441822c889356fd1812ebf2944a59851 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 25 Aug 2020 10:45:55 +0100 Subject: gentoo resync : 25.08.2020 --- net-misc/curl/Manifest | 16 +- net-misc/curl/curl-7.68.0.ebuild | 265 ------------------------- net-misc/curl/curl-7.69.1.ebuild | 265 ------------------------- net-misc/curl/curl-7.70.0-r1.ebuild | 267 ------------------------- net-misc/curl/curl-7.71.0.ebuild | 6 +- net-misc/curl/curl-7.71.1-r1.ebuild | 289 ++++++++++++++++++++++++++++ net-misc/curl/curl-7.71.1.ebuild | 8 +- net-misc/curl/curl-7.72.0.ebuild | 289 ++++++++++++++++++++++++++++ net-misc/curl/files/curl-fix-cpu-load.patch | 94 --------- net-misc/curl/metadata.xml | 9 +- 10 files changed, 598 insertions(+), 910 deletions(-) delete mode 100644 net-misc/curl/curl-7.68.0.ebuild delete mode 100644 net-misc/curl/curl-7.69.1.ebuild delete mode 100644 net-misc/curl/curl-7.70.0-r1.ebuild create mode 100644 net-misc/curl/curl-7.71.1-r1.ebuild create mode 100644 net-misc/curl/curl-7.72.0.ebuild delete mode 100644 net-misc/curl/files/curl-fix-cpu-load.patch (limited to 'net-misc/curl') diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest index e15bf63decad..17b28419b724 100644 --- a/net-misc/curl/Manifest +++ b/net-misc/curl/Manifest @@ -1,15 +1,11 @@ AUX curl-7.30.0-prefix.patch 880 BLAKE2B 5b7552a8339014221864a585d174b02a96ec7dd7fe8762d331d1981834044f8ec4db64d527a4ded3f5f4cccc86f281576668de092439eb19f5477d5fcf8369cf SHA512 c7cd13b9ccbd12ed01ea121ffece9c23b898a5b34698bae59ae1dd23b1cf2445180b84d80c4a640981f16dba5018df944f405dd5c660addab54ca21e0e673b7f -AUX curl-fix-cpu-load.patch 3369 BLAKE2B 049a0d5b0dc6262d2d722e037d75cd966f7b87fd7e4bea23130118e91f1b54e1d374e2879b235cc90aeae8357588167b6bec7a375f9b23a4f96944ff12841519 SHA512 223a8b68157d58b050f89b46d2f3f5a486aa111fe5f5df46db3b49745e2a17e6be4a19fbf9b398f62311ee34fb0051f5302025632152188e840a0c60256b4da0 AUX curl-fix-gnutls-nettle.patch 1186 BLAKE2B 5a7ea1ab68e8e314cda5b957335caf84e5b0e9b2b65c1eacfe94349139ff27903d55ae608a71a0389bf9f8bfbda92184c4cc30ca0b96b13b11f0d77cbf4c7b53 SHA512 b88d4d71a1d55626aedea620e94a5b6064141c6ff0d8a64c784705d44d4a00dc789dd0a55a56320ca4c9f2b9914e72285447c9310bb4563b45d7f3430b18a0fa AUX curl-respect-cflags-3.patch 406 BLAKE2B 1b533144858aff5566150c4a2648ad2e48e8ff29849ae285592edfee4b3332d06e750395dea7190ee6a01d2b5ee2c2c42c10400c2e5defa09963a90a1a10417d SHA512 3219e4e67d534e35012909243fc8d69d58989462db44dd507c502e7aaa299f1d9a01392e2c83797cc2bdb53d503470c5d6e7bf94572a6ccc6e5eafcc0466bc54 -DIST curl-7.68.0.tar.xz 2442788 BLAKE2B d72dbf3c4d6ef7259f0dc9b5347f9289067807246ce6aaab03f3a9c04c17328a8315261dbc08390096571bcad3bbb185a70d15ce83687d7e792bee37318bf269 SHA512 bf365609c9a66a05b3a263d02bcd3f81f905570c5739c8ec522a296b4b8e2a479d64d5524e8345e14eafad28995ee22d923522f1a45fa40eb46db38759c2eb2c -DIST curl-7.69.1.tar.xz 2467272 BLAKE2B 71eee2a8f511ea698f4ebf879bcdccabe11439b2f6c7812cde640f944af93b33dc797c6f4990ddd2a7051d33584dacc005ae011c16a6c1f7ab7fc7258c891937 SHA512 dcb917ce9a6f34b30adae10e2e635d7a8c67781d69789cc5617ab2b49e898394ecfeee546453b14ab168d4b3b52baf974b2ec07e7a4b199addbc1ba57274d8fa -DIST curl-7.70.0.tar.xz 2348780 BLAKE2B 6b505d87242bcaa554c4ee6994eb97ca70453521c1e77b5e757677475328c70f41e23e22b3a0eb9be7a299a94d4f1f85a46f7f999f3db8439072626320352ecf SHA512 ab8796af1bd6f35ae704fd5e3639a8153482615a05c24e2e6d0b9cef8ed9a1e0d497ead2dbf5972cc53f632c2d87f0bf79e9e7cac625452dd24e6c7d8045cfc6 DIST curl-7.71.0.tar.xz 2379056 BLAKE2B 50d7369e4335823c3032b8801b270f7d8e687b0552f25ed5f9752549483cf68870e0422132ecf86e756e1c7c27cdf60048a7765850608c3a1b734cffb1fe7b99 SHA512 f1ea045f23b6a7e2c84ea83954d3299c612f57c3b1e5fee0b39493dc92fc4e95e7af2a5424c2e5bc480659e80cf1adce1fc528fc816f8ff2d0e7bfcfe4c5830a DIST curl-7.71.1.tar.xz 2387660 BLAKE2B 47b3a4704ae8b09b37f7a9d8850fd7d692d91db3dd4ad776aad9a57d0162e0f4091e0387a850eb048f834e6dfee5bcb36da56493a106696c72072c612b47f623 SHA512 631e0ee8562e5029fe022bfab4222836a3e6d666e82e2bfbd78311fe5985105218a36d1ea68c93472fc57a12b713957a3bcca6e385eda4e58a47ca8d5d50265b -EBUILD curl-7.68.0.ebuild 7574 BLAKE2B a63f7bd7c6a27f2c67824d2cd2e742bf6d53f2fb004ab7ea6e4aaf0034bb97a5a59a605c133cd3c27ce84114bdc715c873706f757428a8f3ade59516dea1b882 SHA512 a59e3f0ad00bf9becf08fb624e0f634f6bac617b8ba88f751e2a2a78422eb54f294149db7a1cb9fbd25554637335c01c9467d1774a26b9571d413f90a620e491 -EBUILD curl-7.69.1.ebuild 7663 BLAKE2B c3d98ec0d1f9d40d1173cec9f4a8e6198e5da809fe52fe83db75ba3ec68f0f2ca0812fcc90d29004bdcdf874136ac139a130f913899553d5912392b541f612a9 SHA512 c6f542f18802aaf42ac0ca33477f239587bc20afd9462bf931444ee79a8773e0b1fc1cc8ce503157433d6d45f0600b104fd0a0b200de2ffcbd462dc6d2cd784b -EBUILD curl-7.70.0-r1.ebuild 7735 BLAKE2B 8bb2413f7fead1501f7146b06c0aa15e6c610c1e731c3ffc59d0a8b979b24cbc491d32087315aa0dfa178701a2a8eaee116d41fdbdd321bcee5c6c62e8ad5a0a SHA512 40c3dd6c2e168de6e596fa6e5177cef48be547fa5e76772a46fbbd076b68ddcaca0c9f8c2d1981ad528c900a3624d80dfa87dc077d84c773f21b35a57b568b9b -EBUILD curl-7.71.0.ebuild 7681 BLAKE2B 7d53f7e3282f0d3887864744e932a65a7e19c453645cfd6b20536433c2ef262dc5c1c490b2a50cf42e832001e9f54da0080821a4d24cf290cedbf48542d0dadc SHA512 40bad769e19118788e5c93643d7c05624af7ea03554b5292e2cdab18729d4148d9505a96f9c42182d13d71809d4e89309a528d79c4d0775cfb13984514de5cde -EBUILD curl-7.71.1.ebuild 7688 BLAKE2B bc7f9ea325b026c360a9e3dddde33c94a8b2a71dbbbd7d7cb5b28b09c3a8e662db36756ad00b40beb5ba452e71157f4253c7c02c65e9ab981a0c72000d1508df SHA512 9cfd78a000ba73e782b1ee16948d6266c7f9d90059dda2ea43f0450868660e97383802564ab15920b61903d0a2ef70f9101b2395ffd64c6d6b02a996a0a4122f -MISC metadata.xml 1643 BLAKE2B 269e3f95823a962466081b171d376e1f13cf4e8ac7d440577f704d585d40d0a4e7f496be1860f283f2e118338183210c1a93d3cff24fe517c9fed57dcd8b615c SHA512 ed329ba19ca89372141274e7fcb161e9f825e219d9bf71dc719b1a2bf5deefdecaaab02bb6e5e4c0bd1c87ce16731f7f5137dffb86e65c67381d98eaf72cc2d9 +DIST curl-7.72.0.tar.xz 2390040 BLAKE2B 8f20efe7255ffe6d68619645b634b9cb10557ba0ca458904e99105133fb54cfafe4cafa0e7a1c5e20bbf5b5d24c8c44670cb5ddc1a2035ca43eadd24899ea953 SHA512 e5025a32eac6108ccb13d1fcce9c2de28b3a6d6e9a258a647c4be45d71718f75653e1ccd477ef5f29242a15588255c4ef43fe47bf9908b938b6769fccfaac107 +EBUILD curl-7.71.0.ebuild 7692 BLAKE2B a2114c226d010472ced5ed0a4d25feeba6d820defc786c49022c74dd0eb72a56015086fb549d3187dcd01f6cead02da6f9668a3442c833a6f52b8e76419d5bae SHA512 0d10f62aeb9a91c6199034060295064621ece66181019b7530b98d38bd36d31c0d404d1a92a4245cab7386363c84c6bf3c054b977ea07e3a8fb5aa541b877f28 +EBUILD curl-7.71.1-r1.ebuild 8734 BLAKE2B 748f1f1564ee84bd716679a8b336f324d325c51e74efe8db34797a9deecbc153a4158fb5c563076f5b8459798b9a3ebd4f2a6851ea71d9fa2f5da40de716d5cc SHA512 dbf4dc6fcb9ca884d36373661242558ba2240f6d9b88c1cf1a4285cebd06425d3fce7c38f52eb3b1cbf832e3cd3712d76d214824fefb6040168f9475081a00a6 +EBUILD curl-7.71.1.ebuild 7696 BLAKE2B 720b9d08868acb07d342791f87bb7c73a4d865aaabb771c2990aa7e4724dc974e2c73ad9b33fb718a3ea826856d89a2a91a5e329fbaabdf3f5f3bbcf6d8a8724 SHA512 b4df2c9e8d6541ae6b70a27f47ed44bbec27519123b1a2dc87761df657c30d0c3b49dd584501fca5d6fb7b870b1346747e36d08b664ecdac423500b1f6da61b1 +EBUILD curl-7.72.0.ebuild 8734 BLAKE2B 748f1f1564ee84bd716679a8b336f324d325c51e74efe8db34797a9deecbc153a4158fb5c563076f5b8459798b9a3ebd4f2a6851ea71d9fa2f5da40de716d5cc SHA512 dbf4dc6fcb9ca884d36373661242558ba2240f6d9b88c1cf1a4285cebd06425d3fce7c38f52eb3b1cbf832e3cd3712d76d214824fefb6040168f9475081a00a6 +MISC metadata.xml 1916 BLAKE2B 8907ea9d5ded3fadb233b056b41b3daeb00bba44caa631a77fbd07215a5a9fd1bf47b4751485a59c6b41684e4b14e0abb99b5d79566e2dc8f21a3d749f0d5d20 SHA512 8e52e382804b4d2f10de345240f7cb46203e454dd3cab31ff92be3d2d9ce2d1ae8f36d95546061208205c330c58ece1d19fb08c257da683342b484b2e53f3ed1 diff --git a/net-misc/curl/curl-7.68.0.ebuild b/net-misc/curl/curl-7.68.0.ebuild deleted file mode 100644 index 0141a4e0a48d..000000000000 --- a/net-misc/curl/curl-7.68.0.ebuild +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools eutils prefix multilib-minimal - -DESCRIPTION="A Client that groks URLs" -HOMEPAGE="https://curl.haxx.se/" -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz" - -LICENSE="curl" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="adns alt-svc brotli http2 idn ipv6 kerberos ldap metalink +progress-meter rtmp samba ssh ssl static-libs test threads" -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl" -IUSE+=" nghttp3 quiche" -IUSE+=" elibc_Winnt" - -#lead to lots of false negatives, bug #285669 -RESTRICT="test" - -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - ssl? ( - curl_ssl_gnutls? ( - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}] - dev-libs/nettle:0=[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - curl_ssl_libressl? ( - dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] - ) - curl_ssl_mbedtls? ( - net-libs/mbedtls:0=[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - curl_ssl_openssl? ( - dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] - ) - curl_ssl_nss? ( - dev-libs/nss:0[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - ) - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] ) - nghttp3? ( - net-libs/nghttp3[${MULTILIB_USEDEP}] - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] - ) - quiche? ( net-libs/quiche[${MULTILIB_USEDEP}] ) - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] ) - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] ) - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] ) - sys-libs/zlib[${MULTILIB_USEDEP}]" - -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303 -# rtmp? ( -# media-video/rtmpdump -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] ) -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] ) -# ) - -# ssl providers to be added: -# fbopenssl $(use_with spnego) - -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig - test? ( - sys-apps/diffutils - dev-lang/perl - )" - -# c-ares must be disabled for threads -# only one ssl provider can be enabled -REQUIRED_USE=" - curl_ssl_winssl? ( elibc_Winnt ) - threads? ( !adns ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_libressl - curl_ssl_mbedtls - curl_ssl_nss - curl_ssl_openssl - curl_ssl_winssl - ) - )" - -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \ - docs/FAQ docs/BUGS docs/CONTRIBUTE.md ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/curl/curlbuild.h -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/curl-config -) - -src_prepare() { - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch - - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252 - - eapply_user - eprefixify curl-config.in - eautoreconf -} - -multilib_src_configure() { - # We make use of the fact that later flags override earlier ones - # So start with all ssl providers off until proven otherwise - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) - local myconf=() - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl ) - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) - if use ssl ; then - if use curl_ssl_gnutls; then - einfo "SSL provided by gnutls" - myconf+=( --with-gnutls --with-nettle ) - elif use curl_ssl_libressl; then - einfo "SSL provided by LibreSSL" - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) - elif use curl_ssl_mbedtls; then - einfo "SSL provided by mbedtls" - myconf+=( --with-mbedtls ) - elif use curl_ssl_nss; then - einfo "SSL provided by nss" - myconf+=( --with-nss ) - elif use curl_ssl_openssl; then - einfo "SSL provided by openssl" - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) - elif use curl_ssl_winssl; then - einfo "SSL provided by Windows" - myconf+=( --with-winssl ) - else - eerror "We can't be here because of REQUIRED_USE." - fi - else - einfo "SSL disabled" - fi - - # These configuration options are organized alphabetically - # within each category. This should make it easier if we - # ever decide to make any of them contingent on USE flags: - # 1) protocols first. To see them all do - # 'grep SUPPORT_PROTOCOLS configure.ac' - # 2) --enable/disable options second. - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort - # 3) --with/without options third. - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort - - ECONF_SOURCE="${S}" \ - econf \ - $(use_enable alt-svc) \ - --enable-crypto-auth \ - --enable-dict \ - --disable-esni \ - --enable-file \ - --enable-ftp \ - --enable-gopher \ - --enable-http \ - --enable-imap \ - $(use_enable ldap) \ - $(use_enable ldap ldaps) \ - --disable-ntlm-wb \ - --enable-pop3 \ - --enable-rt \ - --enable-rtsp \ - $(use_enable samba smb) \ - $(use_with ssh libssh2) \ - --enable-smtp \ - --enable-telnet \ - --enable-tftp \ - --enable-tls-srp \ - $(use_enable adns ares) \ - --enable-cookies \ - --enable-dateparse \ - --enable-dnsshuffle \ - --enable-doh \ - --enable-hidden-symbols \ - --enable-http-auth \ - $(use_enable ipv6) \ - --enable-largefile \ - --without-libpsl \ - --enable-manual \ - --enable-mime \ - --enable-netrc \ - $(use_enable progress-meter) \ - --enable-proxy \ - --disable-sspi \ - $(use_enable static-libs static) \ - $(use_enable threads threaded-resolver) \ - $(use_enable threads pthreads) \ - --disable-versioned-symbols \ - --without-amissl \ - --without-bearssl \ - --without-cyassl \ - --without-darwinssl \ - --without-fish-functions-dir \ - $(use_with idn libidn2) \ - $(use_with kerberos gssapi "${EPREFIX}"/usr) \ - $(use_with metalink libmetalink) \ - $(use_with http2 nghttp2) \ - $(use_with nghttp3) \ - $(use_with nghttp3 ngtcp2) \ - $(use_with quiche) \ - $(use_with rtmp librtmp) \ - $(use_with brotli) \ - --without-schannel \ - --without-secure-transport \ - --without-spnego \ - --without-winidn \ - --without-wolfssl \ - --with-zlib \ - "${myconf[@]}" - - if ! multilib_is_native_abi; then - # avoid building the client - sed -i -e '/SUBDIRS/s:src::' Makefile || die - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die - fi - - # Fix up the pkg-config file to be more robust. - # https://github.com/curl/curl/issues/864 - local priv=() libs=() - # We always enable zlib. - libs+=( "-lz" ) - priv+=( "zlib" ) - if use http2; then - libs+=( "-lnghttp2" ) - priv+=( "libnghttp2" ) - fi - if use quiche; then - libs+=( "-lquiche" ) - priv+=( "quiche" ) - fi - if use nghttp3; then - libs+=( "-lnghttp3" "-lngtcp2" ) - priv+=( "libnghttp3" "-libtcp2" ) - fi - if use ssl && use curl_ssl_openssl; then - libs+=( "-lssl" "-lcrypto" ) - priv+=( "openssl" ) - fi - grep -q Requires.private libcurl.pc && die "need to update ebuild" - libs=$(printf '|%s' "${libs[@]}") - sed -i -r \ - -e "/^Libs.private/s:(${libs#|})( |$)::g" \ - libcurl.pc || die - echo "Requires.private: ${priv[*]}" >> libcurl.pc -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete - rm -rf "${ED}"/etc/ -} diff --git a/net-misc/curl/curl-7.69.1.ebuild b/net-misc/curl/curl-7.69.1.ebuild deleted file mode 100644 index c787559e0302..000000000000 --- a/net-misc/curl/curl-7.69.1.ebuild +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools eutils prefix multilib-minimal - -DESCRIPTION="A Client that groks URLs" -HOMEPAGE="https://curl.haxx.se/" -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz" - -LICENSE="curl" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="adns alt-svc brotli +ftp gopher http2 idn +imap ipv6 kerberos ldap metalink +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads" -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl" -IUSE+=" nghttp3 quiche" -IUSE+=" elibc_Winnt" - -#lead to lots of false negatives, bug #285669 -RESTRICT="test" - -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - ssl? ( - curl_ssl_gnutls? ( - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}] - dev-libs/nettle:0=[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - curl_ssl_libressl? ( - dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] - ) - curl_ssl_mbedtls? ( - net-libs/mbedtls:0=[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - curl_ssl_openssl? ( - dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] - ) - curl_ssl_nss? ( - dev-libs/nss:0[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - ) - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] ) - nghttp3? ( - net-libs/nghttp3[${MULTILIB_USEDEP}] - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] - ) - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] ) - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] ) - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] ) - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] ) - sys-libs/zlib[${MULTILIB_USEDEP}]" - -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303 -# rtmp? ( -# media-video/rtmpdump -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] ) -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] ) -# ) - -# ssl providers to be added: -# fbopenssl $(use_with spnego) - -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig - test? ( - sys-apps/diffutils - dev-lang/perl - )" - -# c-ares must be disabled for threads -# only one ssl provider can be enabled -REQUIRED_USE=" - curl_ssl_winssl? ( elibc_Winnt ) - threads? ( !adns ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_libressl - curl_ssl_mbedtls - curl_ssl_nss - curl_ssl_openssl - curl_ssl_winssl - ) - )" - -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \ - docs/FAQ docs/BUGS docs/CONTRIBUTE.md ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/curl/curlbuild.h -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/curl-config -) - -src_prepare() { - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch - - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252 - - eapply_user - eprefixify curl-config.in - eautoreconf -} - -multilib_src_configure() { - # We make use of the fact that later flags override earlier ones - # So start with all ssl providers off until proven otherwise - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) - local myconf=() - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl ) - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) - if use ssl ; then - if use curl_ssl_gnutls; then - einfo "SSL provided by gnutls" - myconf+=( --with-gnutls --with-nettle ) - elif use curl_ssl_libressl; then - einfo "SSL provided by LibreSSL" - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) - elif use curl_ssl_mbedtls; then - einfo "SSL provided by mbedtls" - myconf+=( --with-mbedtls ) - elif use curl_ssl_nss; then - einfo "SSL provided by nss" - myconf+=( --with-nss ) - elif use curl_ssl_openssl; then - einfo "SSL provided by openssl" - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) - elif use curl_ssl_winssl; then - einfo "SSL provided by Windows" - myconf+=( --with-winssl ) - else - eerror "We can't be here because of REQUIRED_USE." - fi - else - einfo "SSL disabled" - fi - - # These configuration options are organized alphabetically - # within each category. This should make it easier if we - # ever decide to make any of them contingent on USE flags: - # 1) protocols first. To see them all do - # 'grep SUPPORT_PROTOCOLS configure.ac' - # 2) --enable/disable options second. - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort - # 3) --with/without options third. - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort - - ECONF_SOURCE="${S}" \ - econf \ - $(use_enable alt-svc) \ - --enable-crypto-auth \ - --enable-dict \ - --disable-esni \ - --enable-file \ - $(use_enable ftp) \ - $(use_enable gopher) \ - --enable-http \ - $(use_enable imap) \ - $(use_enable ldap) \ - $(use_enable ldap ldaps) \ - --disable-ntlm-wb \ - $(use_enable pop3) \ - --enable-rt \ - --enable-rtsp \ - $(use_enable samba smb) \ - $(use_with ssh libssh2) \ - $(use_enable smtp) \ - $(use_enable telnet) \ - $(use_enable tftp) \ - --enable-tls-srp \ - $(use_enable adns ares) \ - --enable-cookies \ - --enable-dateparse \ - --enable-dnsshuffle \ - --enable-doh \ - --enable-hidden-symbols \ - --enable-http-auth \ - $(use_enable ipv6) \ - --enable-largefile \ - --enable-manual \ - --enable-mime \ - --enable-netrc \ - $(use_enable progress-meter) \ - --enable-proxy \ - --disable-sspi \ - $(use_enable static-libs static) \ - $(use_enable threads threaded-resolver) \ - $(use_enable threads pthreads) \ - --disable-versioned-symbols \ - --without-amissl \ - --without-bearssl \ - --without-cyassl \ - --without-darwinssl \ - --without-fish-functions-dir \ - $(use_with idn libidn2) \ - $(use_with kerberos gssapi "${EPREFIX}"/usr) \ - $(use_with metalink libmetalink) \ - $(use_with http2 nghttp2) \ - --without-libpsl \ - $(use_with nghttp3) \ - $(use_with nghttp3 ngtcp2) \ - $(use_with quiche) \ - $(use_with rtmp librtmp) \ - $(use_with brotli) \ - --without-schannel \ - --without-secure-transport \ - --without-spnego \ - --without-winidn \ - --without-wolfssl \ - --with-zlib \ - "${myconf[@]}" - - if ! multilib_is_native_abi; then - # avoid building the client - sed -i -e '/SUBDIRS/s:src::' Makefile || die - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die - fi - - # Fix up the pkg-config file to be more robust. - # https://github.com/curl/curl/issues/864 - local priv=() libs=() - # We always enable zlib. - libs+=( "-lz" ) - priv+=( "zlib" ) - if use http2; then - libs+=( "-lnghttp2" ) - priv+=( "libnghttp2" ) - fi - if use quiche; then - libs+=( "-lquiche" ) - priv+=( "quiche" ) - fi - if use nghttp3; then - libs+=( "-lnghttp3" "-lngtcp2" ) - priv+=( "libnghttp3" "-libtcp2" ) - fi - if use ssl && use curl_ssl_openssl; then - libs+=( "-lssl" "-lcrypto" ) - priv+=( "openssl" ) - fi - grep -q Requires.private libcurl.pc && die "need to update ebuild" - libs=$(printf '|%s' "${libs[@]}") - sed -i -r \ - -e "/^Libs.private/s:(${libs#|})( |$)::g" \ - libcurl.pc || die - echo "Requires.private: ${priv[*]}" >> libcurl.pc -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete - rm -rf "${ED}"/etc/ -} diff --git a/net-misc/curl/curl-7.70.0-r1.ebuild b/net-misc/curl/curl-7.70.0-r1.ebuild deleted file mode 100644 index d10edbee2152..000000000000 --- a/net-misc/curl/curl-7.70.0-r1.ebuild +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools eutils prefix multilib-minimal - -DESCRIPTION="A Client that groks URLs" -HOMEPAGE="https://curl.haxx.se/" -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz" - -LICENSE="curl" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="adns alt-svc brotli +ftp gopher http2 idn +imap ipv6 kerberos ldap metalink +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads" -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl" -IUSE+=" nghttp3 quiche" -IUSE+=" elibc_Winnt" - -#lead to lots of false negatives, bug #285669 -RESTRICT="test" - -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - ssl? ( - curl_ssl_gnutls? ( - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}] - dev-libs/nettle:0=[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - curl_ssl_libressl? ( - dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] - ) - curl_ssl_mbedtls? ( - net-libs/mbedtls:0=[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - curl_ssl_openssl? ( - dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] - ) - curl_ssl_nss? ( - dev-libs/nss:0[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - ) - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] ) - nghttp3? ( - net-libs/nghttp3[${MULTILIB_USEDEP}] - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] - ) - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] ) - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] ) - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] ) - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] ) - sys-libs/zlib[${MULTILIB_USEDEP}]" - -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303 -# rtmp? ( -# media-video/rtmpdump -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] ) -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] ) -# ) - -# ssl providers to be added: -# fbopenssl $(use_with spnego) - -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig - test? ( - sys-apps/diffutils - dev-lang/perl - )" - -# c-ares must be disabled for threads -# only one ssl provider can be enabled -REQUIRED_USE=" - curl_ssl_winssl? ( elibc_Winnt ) - threads? ( !adns ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_libressl - curl_ssl_mbedtls - curl_ssl_nss - curl_ssl_openssl - curl_ssl_winssl - ) - )" - -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \ - docs/FAQ docs/BUGS docs/CONTRIBUTE.md ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/curl/curlbuild.h -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/curl-config -) - -src_prepare() { - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch - eapply "${FILESDIR}"/${PN}-fix-cpu-load.patch - - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252 - - eapply_user - eprefixify curl-config.in - eautoreconf -} - -multilib_src_configure() { - # We make use of the fact that later flags override earlier ones - # So start with all ssl providers off until proven otherwise - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) - local myconf=() - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl ) - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) - if use ssl ; then - if use curl_ssl_gnutls; then - einfo "SSL provided by gnutls" - myconf+=( --with-gnutls --with-nettle ) - elif use curl_ssl_libressl; then - einfo "SSL provided by LibreSSL" - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) - elif use curl_ssl_mbedtls; then - einfo "SSL provided by mbedtls" - myconf+=( --with-mbedtls ) - elif use curl_ssl_nss; then - einfo "SSL provided by nss" - myconf+=( --with-nss ) - elif use curl_ssl_openssl; then - einfo "SSL provided by openssl" - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) - elif use curl_ssl_winssl; then - einfo "SSL provided by Windows" - myconf+=( --with-winssl ) - else - eerror "We can't be here because of REQUIRED_USE." - fi - else - einfo "SSL disabled" - fi - - # These configuration options are organized alphabetically - # within each category. This should make it easier if we - # ever decide to make any of them contingent on USE flags: - # 1) protocols first. To see them all do - # 'grep SUPPORT_PROTOCOLS configure.ac' - # 2) --enable/disable options second. - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort - # 3) --with/without options third. - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort - - ECONF_SOURCE="${S}" \ - econf \ - $(use_enable alt-svc) \ - --enable-crypto-auth \ - --enable-dict \ - --disable-esni \ - --enable-file \ - $(use_enable ftp) \ - $(use_enable gopher) \ - --enable-http \ - $(use_enable imap) \ - $(use_enable ldap) \ - $(use_enable ldap ldaps) \ - --disable-mqtt \ - --disable-ntlm-wb \ - $(use_enable pop3) \ - --enable-rt \ - --enable-rtsp \ - $(use_enable samba smb) \ - $(use_with ssh libssh2) \ - $(use_enable smtp) \ - $(use_enable telnet) \ - $(use_enable tftp) \ - --enable-tls-srp \ - $(use_enable adns ares) \ - --enable-cookies \ - --enable-dateparse \ - --enable-dnsshuffle \ - --enable-doh \ - --enable-hidden-symbols \ - --enable-http-auth \ - $(use_enable ipv6) \ - --enable-largefile \ - --enable-manual \ - --enable-mime \ - --enable-netrc \ - $(use_enable progress-meter) \ - --enable-proxy \ - --disable-sspi \ - $(use_enable static-libs static) \ - $(use_enable threads threaded-resolver) \ - $(use_enable threads pthreads) \ - --disable-versioned-symbols \ - --without-amissl \ - --without-bearssl \ - --without-cyassl \ - --without-darwinssl \ - --without-fish-functions-dir \ - $(use_with idn libidn2) \ - $(use_with kerberos gssapi "${EPREFIX}"/usr) \ - $(use_with metalink libmetalink) \ - $(use_with http2 nghttp2) \ - --without-libpsl \ - $(use_with nghttp3) \ - $(use_with nghttp3 ngtcp2) \ - $(use_with quiche) \ - $(use_with rtmp librtmp) \ - $(use_with brotli) \ - --without-schannel \ - --without-secure-transport \ - --without-spnego \ - --without-winidn \ - --without-wolfssl \ - --with-zlib \ - "${myconf[@]}" - - if ! multilib_is_native_abi; then - # avoid building the client - sed -i -e '/SUBDIRS/s:src::' Makefile || die - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die - fi - - # Fix up the pkg-config file to be more robust. - # https://github.com/curl/curl/issues/864 - local priv=() libs=() - # We always enable zlib. - libs+=( "-lz" ) - priv+=( "zlib" ) - if use http2; then - libs+=( "-lnghttp2" ) - priv+=( "libnghttp2" ) - fi - if use quiche; then - libs+=( "-lquiche" ) - priv+=( "quiche" ) - fi - if use nghttp3; then - libs+=( "-lnghttp3" "-lngtcp2" ) - priv+=( "libnghttp3" "-libtcp2" ) - fi - if use ssl && use curl_ssl_openssl; then - libs+=( "-lssl" "-lcrypto" ) - priv+=( "openssl" ) - fi - grep -q Requires.private libcurl.pc && die "need to update ebuild" - libs=$(printf '|%s' "${libs[@]}") - sed -i -r \ - -e "/^Libs.private/s:(${libs#|})( |$)::g" \ - libcurl.pc || die - echo "Requires.private: ${priv[*]}" >> libcurl.pc -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete - rm -rf "${ED}"/etc/ -} diff --git a/net-misc/curl/curl-7.71.0.ebuild b/net-misc/curl/curl-7.71.0.ebuild index 77fd51a89170..ed0e2adb8d45 100644 --- a/net-misc/curl/curl-7.71.0.ebuild +++ b/net-misc/curl/curl-7.71.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://curl.haxx.se/download/${P}.tar.xz" LICENSE="curl" SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="adns alt-svc brotli +ftp gopher http2 idn +imap ipv6 kerberos ldap metalink +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads" IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl" IUSE+=" nghttp3 quiche" @@ -20,7 +20,7 @@ IUSE+=" elibc_Winnt" #lead to lots of false negatives, bug #285669 RESTRICT="test" -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) +RDEPEND="ldap? ( net-nds/openldap[static-libs?,${MULTILIB_USEDEP}] ) brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) ssl? ( curl_ssl_gnutls? ( @@ -48,7 +48,7 @@ RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) net-libs/nghttp3[${MULTILIB_USEDEP}] net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] ) - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] ) + quiche? ( >=net-libs/quiche-0.5.0[${MULTILIB_USEDEP}] ) idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] ) kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) diff --git a/net-misc/curl/curl-7.71.1-r1.ebuild b/net-misc/curl/curl-7.71.1-r1.ebuild new file mode 100644 index 000000000000..598b09eed1c4 --- /dev/null +++ b/net-misc/curl/curl-7.71.1-r1.ebuild @@ -0,0 +1,289 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools eutils prefix multilib-minimal + +DESCRIPTION="A Client that groks URLs" +HOMEPAGE="https://curl.haxx.se/" +SRC_URI="https://curl.haxx.se/download/${P}.tar.xz" + +LICENSE="curl" +SLOT="0" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="adns alt-svc brotli +ftp gnutls gopher +http2 idn +imap ipv6 kerberos ldap libressl mbedtls metalink nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads winssl" +IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl" +IUSE+=" nghttp3 quiche" +IUSE+=" elibc_Winnt" + +#lead to lots of false negatives, bug #285669 +RESTRICT="!test? ( test )" + +RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + ssl? ( + gnutls? ( + net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}] + dev-libs/nettle:0=[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + mbedtls? ( + net-libs/mbedtls:0=[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + openssl? ( + !libressl? ( dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] ) + libressl? ( dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] ) + ) + nss? ( + dev-libs/nss:0[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + ) + http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] ) + nghttp3? ( + net-libs/nghttp3[${MULTILIB_USEDEP}] + net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] + ) + quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] ) + idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) + adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] ) + rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) + ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] ) + sys-libs/zlib[${MULTILIB_USEDEP}]" + +# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303 +# rtmp? ( +# media-video/rtmpdump +# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] ) +# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] ) +# ) + +# ssl providers to be added: +# fbopenssl $(use_with spnego) + +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig + test? ( + sys-apps/diffutils + dev-lang/perl + )" + +# c-ares must be disabled for threads +# only one default ssl provider can be enabled +REQUIRED_USE=" + winssl? ( elibc_Winnt ) + threads? ( !adns ) + ssl? ( + ^^ ( + curl_ssl_gnutls + curl_ssl_libressl + curl_ssl_mbedtls + curl_ssl_nss + curl_ssl_openssl + curl_ssl_winssl + ) + )" + +DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \ + docs/FAQ docs/BUGS docs/CONTRIBUTE.md ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/curl/curlbuild.h +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/curl-config +) + +src_prepare() { + eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch + eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch + eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch + + sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241 + sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252 + + eapply_user + eprefixify curl-config.in + eautoreconf +} + +multilib_src_configure() { + # We make use of the fact that later flags override earlier ones + # So start with all ssl providers off until proven otherwise + # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) + local myconf=() + + myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl ) + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) + #myconf+=( --without-default-ssl-backend ) + if use ssl ; then + if use gnutls || use curl_ssl_gnutls; then + einfo "SSL provided by gnutls" + myconf+=( --with-gnutls --with-nettle ) + fi + if use mbedtls || use curl_ssl_mbedtls; then + einfo "SSL provided by mbedtls" + myconf+=( --with-mbedtls ) + fi + if use nss || use curl_ssl_nss; then + einfo "SSL provided by nss" + myconf+=( --with-nss ) + fi + if use openssl || use curl_ssl_openssl || use curl_ssl_libressl; then + einfo "SSL provided by openssl" + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) + fi + if use winssl || use curl_ssl_winssl; then + einfo "SSL provided by Windows" + myconf+=( --with-winssl ) + fi + + if use curl_ssl_gnutls; then + einfo "Default SSL provided by gnutls" + myconf+=( --with-default-ssl-backend=gnutls ) + elif use curl_ssl_libressl; then + einfo "Default SSL provided by LibreSSL" + myconf+=( --with-default-ssl-backend=openssl ) # NOTE THE HACK HERE + elif use curl_ssl_mbedtls; then + einfo "Default SSL provided by mbedtls" + myconf+=( --with-default-ssl-backend=mbedtls ) + elif use curl_ssl_nss; then + einfo "Default SSL provided by nss" + myconf+=( --with-default-ssl-backend=nss ) + elif use curl_ssl_openssl; then + einfo "Default SSL provided by openssl" + myconf+=( --with-default-ssl-backend=openssl ) + elif use curl_ssl_winssl; then + einfo "Default SSL provided by Windows" + myconf+=( --with-default-ssl-backend=winssl ) + else + eerror "We can't be here because of REQUIRED_USE." + fi + + else + einfo "SSL disabled" + fi + + # These configuration options are organized alphabetically + # within each category. This should make it easier if we + # ever decide to make any of them contingent on USE flags: + # 1) protocols first. To see them all do + # 'grep SUPPORT_PROTOCOLS configure.ac' + # 2) --enable/disable options second. + # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort + # 3) --with/without options third. + # grep -- --with configure | grep Check | awk '{ print $4 }' | sort + + ECONF_SOURCE="${S}" \ + econf \ + $(use_enable alt-svc) \ + --enable-crypto-auth \ + --enable-dict \ + --disable-esni \ + --enable-file \ + $(use_enable ftp) \ + $(use_enable gopher) \ + --enable-http \ + $(use_enable imap) \ + $(use_enable ldap) \ + $(use_enable ldap ldaps) \ + --disable-mqtt \ + --disable-ntlm-wb \ + $(use_enable pop3) \ + --enable-rt \ + --enable-rtsp \ + $(use_enable samba smb) \ + $(use_with ssh libssh2) \ + $(use_enable smtp) \ + $(use_enable telnet) \ + $(use_enable tftp) \ + --enable-tls-srp \ + $(use_enable adns ares) \ + --enable-cookies \ + --enable-dateparse \ + --enable-dnsshuffle \ + --enable-doh \ + --enable-hidden-symbols \ + --enable-http-auth \ + $(use_enable ipv6) \ + --enable-largefile \ + --enable-manual \ + --enable-mime \ + --enable-netrc \ + $(use_enable progress-meter) \ + --enable-proxy \ + --disable-sspi \ + $(use_enable static-libs static) \ + $(use_enable threads threaded-resolver) \ + $(use_enable threads pthreads) \ + --disable-versioned-symbols \ + --without-amissl \ + --without-bearssl \ + --without-cyassl \ + --without-darwinssl \ + --without-fish-functions-dir \ + $(use_with idn libidn2) \ + $(use_with kerberos gssapi "${EPREFIX}"/usr) \ + $(use_with metalink libmetalink) \ + $(use_with http2 nghttp2) \ + --without-libpsl \ + $(use_with nghttp3) \ + $(use_with nghttp3 ngtcp2) \ + $(use_with quiche) \ + $(use_with rtmp librtmp) \ + $(use_with brotli) \ + --without-schannel \ + --without-secure-transport \ + --without-spnego \ + --without-winidn \ + --without-wolfssl \ + --with-zlib \ + "${myconf[@]}" + + if ! multilib_is_native_abi; then + # avoid building the client + sed -i -e '/SUBDIRS/s:src::' Makefile || die + sed -i -e '/SUBDIRS/s:scripts::' Makefile || die + fi + + # Fix up the pkg-config file to be more robust. + # https://github.com/curl/curl/issues/864 + local priv=() libs=() + # We always enable zlib. + libs+=( "-lz" ) + priv+=( "zlib" ) + if use http2; then + libs+=( "-lnghttp2" ) + priv+=( "libnghttp2" ) + fi + if use quiche; then + libs+=( "-lquiche" ) + priv+=( "quiche" ) + fi + if use nghttp3; then + libs+=( "-lnghttp3" "-lngtcp2" ) + priv+=( "libnghttp3" "-libtcp2" ) + fi + if use ssl && use curl_ssl_openssl; then + libs+=( "-lssl" "-lcrypto" ) + priv+=( "openssl" ) + fi + grep -q Requires.private libcurl.pc && die "need to update ebuild" + libs=$(printf '|%s' "${libs[@]}") + sed -i -r \ + -e "/^Libs.private/s:(${libs#|})( |$)::g" \ + libcurl.pc || die + echo "Requires.private: ${priv[*]}" >> libcurl.pc +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete + rm -rf "${ED}"/etc/ +} diff --git a/net-misc/curl/curl-7.71.1.ebuild b/net-misc/curl/curl-7.71.1.ebuild index cfcba68debda..0cec1ab0a84f 100644 --- a/net-misc/curl/curl-7.71.1.ebuild +++ b/net-misc/curl/curl-7.71.1.ebuild @@ -11,8 +11,8 @@ SRC_URI="https://curl.haxx.se/download/${P}.tar.xz" LICENSE="curl" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="adns alt-svc brotli +ftp gopher http2 idn +imap ipv6 kerberos ldap metalink +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="adns alt-svc brotli +ftp gopher +http2 idn +imap ipv6 kerberos ldap metalink +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads" IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl" IUSE+=" nghttp3 quiche" IUSE+=" elibc_Winnt" @@ -20,7 +20,7 @@ IUSE+=" elibc_Winnt" #lead to lots of false negatives, bug #285669 RESTRICT="test" -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) +RDEPEND="ldap? ( net-nds/openldap[static-libs?,${MULTILIB_USEDEP}] ) brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) ssl? ( curl_ssl_gnutls? ( @@ -48,7 +48,7 @@ RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) net-libs/nghttp3[${MULTILIB_USEDEP}] net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] ) - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] ) + quiche? ( >=net-libs/quiche-0.5.0[${MULTILIB_USEDEP}] ) idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] ) kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) diff --git a/net-misc/curl/curl-7.72.0.ebuild b/net-misc/curl/curl-7.72.0.ebuild new file mode 100644 index 000000000000..598b09eed1c4 --- /dev/null +++ b/net-misc/curl/curl-7.72.0.ebuild @@ -0,0 +1,289 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools eutils prefix multilib-minimal + +DESCRIPTION="A Client that groks URLs" +HOMEPAGE="https://curl.haxx.se/" +SRC_URI="https://curl.haxx.se/download/${P}.tar.xz" + +LICENSE="curl" +SLOT="0" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="adns alt-svc brotli +ftp gnutls gopher +http2 idn +imap ipv6 kerberos ldap libressl mbedtls metalink nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads winssl" +IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl" +IUSE+=" nghttp3 quiche" +IUSE+=" elibc_Winnt" + +#lead to lots of false negatives, bug #285669 +RESTRICT="!test? ( test )" + +RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + ssl? ( + gnutls? ( + net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}] + dev-libs/nettle:0=[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + mbedtls? ( + net-libs/mbedtls:0=[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + openssl? ( + !libressl? ( dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] ) + libressl? ( dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] ) + ) + nss? ( + dev-libs/nss:0[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + ) + http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] ) + nghttp3? ( + net-libs/nghttp3[${MULTILIB_USEDEP}] + net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] + ) + quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] ) + idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) + adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] ) + rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) + ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] ) + sys-libs/zlib[${MULTILIB_USEDEP}]" + +# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303 +# rtmp? ( +# media-video/rtmpdump +# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] ) +# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] ) +# ) + +# ssl providers to be added: +# fbopenssl $(use_with spnego) + +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig + test? ( + sys-apps/diffutils + dev-lang/perl + )" + +# c-ares must be disabled for threads +# only one default ssl provider can be enabled +REQUIRED_USE=" + winssl? ( elibc_Winnt ) + threads? ( !adns ) + ssl? ( + ^^ ( + curl_ssl_gnutls + curl_ssl_libressl + curl_ssl_mbedtls + curl_ssl_nss + curl_ssl_openssl + curl_ssl_winssl + ) + )" + +DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \ + docs/FAQ docs/BUGS docs/CONTRIBUTE.md ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/curl/curlbuild.h +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/curl-config +) + +src_prepare() { + eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch + eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch + eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch + + sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241 + sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252 + + eapply_user + eprefixify curl-config.in + eautoreconf +} + +multilib_src_configure() { + # We make use of the fact that later flags override earlier ones + # So start with all ssl providers off until proven otherwise + # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) + local myconf=() + + myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl ) + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) + #myconf+=( --without-default-ssl-backend ) + if use ssl ; then + if use gnutls || use curl_ssl_gnutls; then + einfo "SSL provided by gnutls" + myconf+=( --with-gnutls --with-nettle ) + fi + if use mbedtls || use curl_ssl_mbedtls; then + einfo "SSL provided by mbedtls" + myconf+=( --with-mbedtls ) + fi + if use nss || use curl_ssl_nss; then + einfo "SSL provided by nss" + myconf+=( --with-nss ) + fi + if use openssl || use curl_ssl_openssl || use curl_ssl_libressl; then + einfo "SSL provided by openssl" + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) + fi + if use winssl || use curl_ssl_winssl; then + einfo "SSL provided by Windows" + myconf+=( --with-winssl ) + fi + + if use curl_ssl_gnutls; then + einfo "Default SSL provided by gnutls" + myconf+=( --with-default-ssl-backend=gnutls ) + elif use curl_ssl_libressl; then + einfo "Default SSL provided by LibreSSL" + myconf+=( --with-default-ssl-backend=openssl ) # NOTE THE HACK HERE + elif use curl_ssl_mbedtls; then + einfo "Default SSL provided by mbedtls" + myconf+=( --with-default-ssl-backend=mbedtls ) + elif use curl_ssl_nss; then + einfo "Default SSL provided by nss" + myconf+=( --with-default-ssl-backend=nss ) + elif use curl_ssl_openssl; then + einfo "Default SSL provided by openssl" + myconf+=( --with-default-ssl-backend=openssl ) + elif use curl_ssl_winssl; then + einfo "Default SSL provided by Windows" + myconf+=( --with-default-ssl-backend=winssl ) + else + eerror "We can't be here because of REQUIRED_USE." + fi + + else + einfo "SSL disabled" + fi + + # These configuration options are organized alphabetically + # within each category. This should make it easier if we + # ever decide to make any of them contingent on USE flags: + # 1) protocols first. To see them all do + # 'grep SUPPORT_PROTOCOLS configure.ac' + # 2) --enable/disable options second. + # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort + # 3) --with/without options third. + # grep -- --with configure | grep Check | awk '{ print $4 }' | sort + + ECONF_SOURCE="${S}" \ + econf \ + $(use_enable alt-svc) \ + --enable-crypto-auth \ + --enable-dict \ + --disable-esni \ + --enable-file \ + $(use_enable ftp) \ + $(use_enable gopher) \ + --enable-http \ + $(use_enable imap) \ + $(use_enable ldap) \ + $(use_enable ldap ldaps) \ + --disable-mqtt \ + --disable-ntlm-wb \ + $(use_enable pop3) \ + --enable-rt \ + --enable-rtsp \ + $(use_enable samba smb) \ + $(use_with ssh libssh2) \ + $(use_enable smtp) \ + $(use_enable telnet) \ + $(use_enable tftp) \ + --enable-tls-srp \ + $(use_enable adns ares) \ + --enable-cookies \ + --enable-dateparse \ + --enable-dnsshuffle \ + --enable-doh \ + --enable-hidden-symbols \ + --enable-http-auth \ + $(use_enable ipv6) \ + --enable-largefile \ + --enable-manual \ + --enable-mime \ + --enable-netrc \ + $(use_enable progress-meter) \ + --enable-proxy \ + --disable-sspi \ + $(use_enable static-libs static) \ + $(use_enable threads threaded-resolver) \ + $(use_enable threads pthreads) \ + --disable-versioned-symbols \ + --without-amissl \ + --without-bearssl \ + --without-cyassl \ + --without-darwinssl \ + --without-fish-functions-dir \ + $(use_with idn libidn2) \ + $(use_with kerberos gssapi "${EPREFIX}"/usr) \ + $(use_with metalink libmetalink) \ + $(use_with http2 nghttp2) \ + --without-libpsl \ + $(use_with nghttp3) \ + $(use_with nghttp3 ngtcp2) \ + $(use_with quiche) \ + $(use_with rtmp librtmp) \ + $(use_with brotli) \ + --without-schannel \ + --without-secure-transport \ + --without-spnego \ + --without-winidn \ + --without-wolfssl \ + --with-zlib \ + "${myconf[@]}" + + if ! multilib_is_native_abi; then + # avoid building the client + sed -i -e '/SUBDIRS/s:src::' Makefile || die + sed -i -e '/SUBDIRS/s:scripts::' Makefile || die + fi + + # Fix up the pkg-config file to be more robust. + # https://github.com/curl/curl/issues/864 + local priv=() libs=() + # We always enable zlib. + libs+=( "-lz" ) + priv+=( "zlib" ) + if use http2; then + libs+=( "-lnghttp2" ) + priv+=( "libnghttp2" ) + fi + if use quiche; then + libs+=( "-lquiche" ) + priv+=( "quiche" ) + fi + if use nghttp3; then + libs+=( "-lnghttp3" "-lngtcp2" ) + priv+=( "libnghttp3" "-libtcp2" ) + fi + if use ssl && use curl_ssl_openssl; then + libs+=( "-lssl" "-lcrypto" ) + priv+=( "openssl" ) + fi + grep -q Requires.private libcurl.pc && die "need to update ebuild" + libs=$(printf '|%s' "${libs[@]}") + sed -i -r \ + -e "/^Libs.private/s:(${libs#|})( |$)::g" \ + libcurl.pc || die + echo "Requires.private: ${priv[*]}" >> libcurl.pc +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete + rm -rf "${ED}"/etc/ +} diff --git a/net-misc/curl/files/curl-fix-cpu-load.patch b/net-misc/curl/files/curl-fix-cpu-load.patch deleted file mode 100644 index fb20641b5b22..000000000000 --- a/net-misc/curl/files/curl-fix-cpu-load.patch +++ /dev/null @@ -1,94 +0,0 @@ -Fixes https://bugs.gentoo.org/727352 - -From 2a41e236716da4c41ebc1132bd36d9273bd0321f Mon Sep 17 00:00:00 2001 -From: Daniel Stenberg -Date: Mon, 8 Jun 2020 14:05:22 +0200 -Subject: [PATCH] socks: detect connection close during handshake - -The SOCKS4/5 state machines weren't properly terminated when the proxy -connection got closed, leading to a busy-loop. - -Reported-By: zloi-user on github -Fixes #5532 -Closes #5542 ---- - lib/socks.c | 32 ++++++++++++++++++++++++++++---- - 1 file changed, 28 insertions(+), 4 deletions(-) - -diff --git a/lib/socks.c b/lib/socks.c -index 4c1af7b9de7..b2215fef30c 100644 ---- a/lib/socks.c -+++ b/lib/socks.c -@@ -382,6 +382,11 @@ CURLcode Curl_SOCKS4(const char *proxy_user, - curl_easy_strerror(result)); - return CURLE_COULDNT_CONNECT; - } -+ else if(!result && !actualread) { -+ /* connection closed */ -+ failf(data, "connection to proxy closed"); -+ return CURLE_COULDNT_CONNECT; -+ } - else if(actualread != sx->outstanding) { - /* remain in reading state */ - sx->outstanding -= actualread; -@@ -592,6 +597,11 @@ CURLcode Curl_SOCKS5(const char *proxy_user, - failf(data, "Unable to receive initial SOCKS5 response."); - return CURLE_COULDNT_CONNECT; - } -+ else if(!result && !actualread) { -+ /* connection closed */ -+ failf(data, "Connection to proxy closed"); -+ return CURLE_COULDNT_CONNECT; -+ } - else if(actualread != sx->outstanding) { - /* remain in reading state */ - sx->outstanding -= actualread; -@@ -717,15 +727,19 @@ CURLcode Curl_SOCKS5(const char *proxy_user, - failf(data, "Unable to receive SOCKS5 sub-negotiation response."); - return CURLE_COULDNT_CONNECT; - } -- if(actualread != sx->outstanding) { -+ else if(!result && !actualread) { -+ /* connection closed */ -+ failf(data, "connection to proxy closed"); -+ return CURLE_COULDNT_CONNECT; -+ } -+ else if(actualread != sx->outstanding) { - /* remain in state */ - sx->outstanding -= actualread; - sx->outp += actualread; - return CURLE_OK; - } -- - /* ignore the first (VER) byte */ -- if(socksreq[1] != 0) { /* status */ -+ else if(socksreq[1] != 0) { /* status */ - failf(data, "User was rejected by the SOCKS5 server (%d %d).", - socksreq[0], socksreq[1]); - return CURLE_COULDNT_CONNECT; -@@ -890,6 +904,11 @@ CURLcode Curl_SOCKS5(const char *proxy_user, - failf(data, "Failed to receive SOCKS5 connect request ack."); - return CURLE_COULDNT_CONNECT; - } -+ else if(!result && !actualread) { -+ /* connection closed */ -+ failf(data, "connection to proxy closed"); -+ return CURLE_COULDNT_CONNECT; -+ } - else if(actualread != sx->outstanding) { - /* remain in state */ - sx->outstanding -= actualread; -@@ -967,7 +986,12 @@ CURLcode Curl_SOCKS5(const char *proxy_user, - failf(data, "Failed to receive SOCKS5 connect request ack."); - return CURLE_COULDNT_CONNECT; - } -- if(actualread != sx->outstanding) { -+ else if(!result && !actualread) { -+ /* connection closed */ -+ failf(data, "connection to proxy closed"); -+ return CURLE_COULDNT_CONNECT; -+ } -+ else if(actualread != sx->outstanding) { - /* remain in state */ - sx->outstanding -= actualread; - sx->outp += actualread; diff --git a/net-misc/curl/metadata.xml b/net-misc/curl/metadata.xml index 8d7bc1a2c2d3..a11184c0ca04 100644 --- a/net-misc/curl/metadata.xml +++ b/net-misc/curl/metadata.xml @@ -9,20 +9,25 @@ Enable alt-svc support Enable brotli compression support Enable FTP support + Enable gnutls ssl backend Enable Gopher protocol support Enable HTTP/2.0 support Enable Internet Message Access Protocol support + Enable mbedtls ssl backend Enable HTTP/3.0 support using net-libs/nghttp3 and net-libs/ngtcp2 Enable HTTP/3.0 support using net-libs/quiche - Enable SSH urls in curl using libssh2 Enable metalink support + Enable nss ssl backend + Enable openssl ssl backend Enable Post Office Protocol 3 support Enable the progress meter + Enable RTMP Streaming Media support Enable Simple Mail Transfer Protocol support + Enable SSH urls in curl using libssh2 Enable crypto engine support (via openssl if USE='-gnutls -nss') Enable Telnet protocol support Enable TFTP support - Enable RTMP Streaming Media support + Enable winssl ssl backend cpe:/a:curl:curl -- cgit v1.2.3