diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-09-15 12:11:39 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-09-15 12:11:39 +0100 |
commit | 08e318096831eb3aae369910ba75e27f59367e2f (patch) | |
tree | aa9169e99f961dcc73ed4731575da6c5d8291dc2 /net-misc/curl | |
parent | e8aa09f74c8ba0c9e1c5ae3ab49f93b6a0820330 (diff) |
gentoo auto-resync : 15:09:2024 - 12:11:38
Diffstat (limited to 'net-misc/curl')
-rw-r--r-- | net-misc/curl/Manifest | 3 | ||||
-rw-r--r-- | net-misc/curl/curl-8.10.0-r1.ebuild (renamed from net-misc/curl/curl-8.10.0.ebuild) | 1 | ||||
-rw-r--r-- | net-misc/curl/files/curl-8.10.0-sendrecv-poll.patch | 51 |
3 files changed, 54 insertions, 1 deletions
diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest index 506c8b9e9165..fe1a1a4174b4 100644 --- a/net-misc/curl/Manifest +++ b/net-misc/curl/Manifest @@ -1,3 +1,4 @@ +AUX curl-8.10.0-sendrecv-poll.patch 2113 BLAKE2B 8f00179a27b3f544c8cf9c8f1adfc087011eb2c84792f64847052fe34fdf0a39c953a677aaf8a77f27634ec619101562203d0105c415664952b036f791083db9 SHA512 2e00a8004bcc50f184c5768ab30d0daaa0b845c5d5d2368ee8d35971da4832dd6bb7f30733e4ecb9fb3dd6547facfbc8d152fc59a40bf2858a8564130f83b308 AUX curl-8.7.1-chunked-post.patch 2389 BLAKE2B d283816be5dca19ab0058db1937d686b4f9056caf3c46a8dcd731bc69ae91df1b01d10f643ce127eeec7aac0e9282f8b5c5109fe1cea82b30d2cf3270e93ae24 SHA512 3b1a67010704f4863f973e79d6a695e6e13b938fbaa695a05bc92b1a577fa5852c310b38f9c88518275f82c7d088474f5e4c585ac5ff790043e6ca969b0dc1d9 AUX curl-8.7.1-fix-compress-option.patch 6222 BLAKE2B 7ff5c096fa6cc5cc039f47188a85c49364cdfe6cfeae3a9c58b38939eb59896bcf204c682f36e89ace37a0753236593307e1af45bc2d0f099ff685af8e366713 SHA512 1622adf015a016a205d4bf621715ed06fd345cd45f032ad44b6d9324d398c0e2004f04fe734401b12007c3eb145dac84aa3ce90bdaa9b16e09b5908da75f902f AUX curl-8.7.1-http2-git-clone.patch 14120 BLAKE2B 5bc2c0765ebd400f2e79d0552621c98640c757f189ae0fa029d8fb6d9fa74ac0e4fd93948fed6bc7f93b329e30948a585be1f20dde18423acf162cd36b4fb166 SHA512 278720daae7d4d3288502e0dd2b591ada66a559040eb341b0cf5673094e9d214eb166772279378487da96f43912313e04d3b174fdcb2b2cbfa766f241df62f34 @@ -17,7 +18,7 @@ DIST curl-8.8.0.tar.xz 2748860 BLAKE2B c14903bad4cbd1752a5335afa6bcc78be1a484692 DIST curl-8.8.0.tar.xz.asc 488 BLAKE2B d80c0ff357b344d7ec2b975a92f1eeb7557993b61a69e7adaaeab89c9b5a53ddade5104fe1a0ad260145db9c90fc0aae36dfc22320492db6696f290da9ff675b SHA512 37b501770225dff6b1e7bde1157f556f10ec1c597fcbbb5c8b8c370efb97a3a70f585f2f5c201b96380d68466696474a5f65a07da59b704678d6927567d25359 DIST curl-8.9.1.tar.xz 2782364 BLAKE2B 6e38e20e2b03ab5bfbb8d9797442dfdd9644fc80d7b1f7c1efb1f44e0d730524e82ccf7413b2c6f4555bd61ae42f91ec7c0201e2c0d563811c85164aa234aada SHA512 a0fe234402875db194aad4e4208b7e67e7ffc1562622eea90948d4b9b0122c95c3dde8bbe2f7445a687cb3de7cb09f20e5819d424570442d976aa4c913227fc7 DIST curl-8.9.1.tar.xz.asc 488 BLAKE2B 437268f6e5ba5db73f205fd87f3ded1e5fc200e8bf63a83cdb7e21dfbf2f4a4620e598cd0bf5d8fa1548ade08d45b386599542cd988df46a238b85790409f42e SHA512 18acd58436d70900ab6912b84774da2c451b9dbfc83d6d00f85bbbe7894b67075918e58956fdb753fcc1486e4f10caa31139d7c68b037d7c83dc2e9c2fae9f9b -EBUILD curl-8.10.0.ebuild 11392 BLAKE2B c62287914b25282543b8000a8a82f2ff82e65cc274ce2aa38837d4b919dd7f5f19d5da5330155731a431398e2bab5058fbfcfad3b0965f77943244719899619f SHA512 f08d3e6f150ec8efb2e155248a895b68c3295034f3362f114fbae4937d0c404fb2007ed0cecbf8a3fab137b2c53cccdee509fae179271b5120f79f248cf26ff6 +EBUILD curl-8.10.0-r1.ebuild 11432 BLAKE2B a82ade1d3f05e25126629574f824cb4140f69802c481f3fc6d5acbfdf7551b018bbb254bcc9671f7dcbb0cc0680ebf84917d50930f6cc33768c278d1ec66f6b0 SHA512 094010c501d5a5ba0a3cf13b3b4e5e9fc0d54bae5763c141064f54c2b05feca89aecf256622045703eca47cea696619ae69b8c4fa16169480cfa785156c093d2 EBUILD curl-8.7.1-r4.ebuild 11261 BLAKE2B 0d1acdce1b58e97d83ee0e67ac0e145894a1bd19e23635649bec06bcd6a45e6487954b497992a7039243ca6860393d2b5115caf2d9edab1a3fbefc46451e2c6f SHA512 687aa43ec10a118f2d53d8532423bf3ffc6eb1ee60f509c3677cc4afcfe1f871b87e18fa5bd045fa86570ae4285432da59adb5f0b548e7da6ed46c9d8a9ad3e5 EBUILD curl-8.8.0-r1.ebuild 11487 BLAKE2B e97f24d529bd6d41556d0584f3bc296754d9ec04b9080bd8ca1dfdce1e12ddf7c50683f2a9c6249b85392f9fd988a3707c04e2ef2bf4a7956390a394cbca6831 SHA512 8c8b3b2ffc3a4c2bb8d83f0da258e3bb664a365c9fc29af387b33df079658c0ec6cd148a93fc36c34c990bf98637125db1826415d3c34887e60f9a6458e2bba4 EBUILD curl-8.9.1-r1.ebuild 11442 BLAKE2B 314ab850c3dd3128e7e9168a019dc5088f4f1d4cb4a78fc19b09c15fe13d2384053c576f54cba0c728f8f2ac5b42d32b3013ae0ff954fb3dbb60e517ff09aa25 SHA512 a446c2d115798704cbf41d06904089bd3429d88ae203b7a77e86a87aa592696f85ae2a2d844575ece18f3f8291af9eaa2652d44baf707144468d3ada94cdb89a diff --git a/net-misc/curl/curl-8.10.0.ebuild b/net-misc/curl/curl-8.10.0-r1.ebuild index 8aa5f19b3d9c..335c3c36a022 100644 --- a/net-misc/curl/curl-8.10.0.ebuild +++ b/net-misc/curl/curl-8.10.0-r1.ebuild @@ -158,6 +158,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( "${FILESDIR}"/${PN}-prefix-2.patch "${FILESDIR}"/${PN}-respect-cflags-3.patch + "${FILESDIR}"/${P}-sendrecv-poll.patch ) src_prepare() { diff --git a/net-misc/curl/files/curl-8.10.0-sendrecv-poll.patch b/net-misc/curl/files/curl-8.10.0-sendrecv-poll.patch new file mode 100644 index 000000000000..44654377008a --- /dev/null +++ b/net-misc/curl/files/curl-8.10.0-sendrecv-poll.patch @@ -0,0 +1,51 @@ +https://github.com/curl/curl/commit/a33bcc9b53b9d6ea9f879624e8abea0b012b008e +From: Stefan Eissing <stefan@eissing.org> +Date: Fri, 13 Sep 2024 18:36:53 +0200 +Subject: [PATCH] transfer: fix sendrecv() without interim poll + +There was a "clever" optimization that skipped sendrecv() handling when +the transfer's pollset was empty. This happens for paused transfers, for +example. + +Unforunately, if the libcurl application never calls curl_multi_poll(), +the pollset is and will aways remain empty, prevent the transfer from +progressing. + +Remove this "optimization" and always try send/receive where applicable. + +Fixes #14898 +Reported-by: Victor Kislov +Closes #14901 +--- a/lib/transfer.c ++++ b/lib/transfer.c +@@ -431,8 +431,6 @@ CURLcode Curl_sendrecv(struct Curl_easy *data, struct curltime *nowp) + if(select_bits_paused(data, data->state.select_bits)) { + /* leave the bits unchanged, so they'll tell us what to do when + * this transfer gets unpaused. */ +- /* DEBUGF(infof(data, "sendrecv, select_bits, early return on PAUSED")); +- */ + result = CURLE_OK; + goto out; + } +@@ -440,16 +438,13 @@ CURLcode Curl_sendrecv(struct Curl_easy *data, struct curltime *nowp) + /* DEBUGF(infof(data, "sendrecv, select_bits %x, RUN", select_bits)); */ + select_bits = (CURL_CSELECT_OUT|CURL_CSELECT_IN); + } +- else if(data->last_poll.num) { +- /* The transfer wanted something polled. Let's run all available +- * send/receives. Worst case we EAGAIN on some. */ +- /* DEBUGF(infof(data, "sendrecv, had poll sockets, RUN")); */ ++ else { ++ /* try both directions if the transfer wants it. We used to poll ++ * the socket here and on ran send/recv depending on POLLIN/OUT, but ++ * that does not when connections are multiplexed or handshake, ++ * or other direction reversals are happening. */ + select_bits = (CURL_CSELECT_OUT|CURL_CSELECT_IN); + } +- else if(data->req.keepon & KEEP_SEND_TIMED) { +- /* DEBUGF(infof(data, "sendrecv, KEEP_SEND_TIMED, RUN ul")); */ +- select_bits = CURL_CSELECT_OUT; +- } + + #ifdef USE_HYPER + if(data->conn->datastream) { |