#
be659030 |
| 05-Apr-2024 |
Daniel Stenberg |
multi: introduce SETUP state for better timeouts Since we can go to the CONNECT state from PENDING, potentially multiple times for a single transfer, this change introdues a SETUP state
multi: introduce SETUP state for better timeouts Since we can go to the CONNECT state from PENDING, potentially multiple times for a single transfer, this change introdues a SETUP state that happens before CONNECT when doing a new transfer. Now, doing a redirect on a handle goes back to SETUP (not CONNECT like before) and we initilize the connect timeout etc in SETUP. Previously, we would do it in CONNECT but that would make it unreliable in cases where a transfer goes in and out between CONNECT and PENDING multiple times. SETUP is transient, so the handle never actually stays in that state. Additionally: take care of timeouts of PENDING transfers in curl_multi_perform() Ref: #13227 Closes #13371
show more ...
|
#
c296abd4 |
| 10-Apr-2024 |
Stefan Eissing |
llist: add Curl_llist_append() - use for better readability in all places where the "insert_next" actually performs an append to the list - add some tests in unit1300 Clos
llist: add Curl_llist_append() - use for better readability in all places where the "insert_next" actually performs an append to the list - add some tests in unit1300 Closes #13336
show more ...
|
#
e3905de8 |
| 28-Feb-2024 |
Stefan Eissing |
lib: further send/upload handling polish - Move all the "upload_done" handling to request.c - add possibility to abort sending of a request - add `Curl_req_done_sending()` f
lib: further send/upload handling polish - Move all the "upload_done" handling to request.c - add possibility to abort sending of a request - add `Curl_req_done_sending()` for checks - transfer.c: readwrite_upload() now clean - removing data->state.ulbuf and data->req.upload_fromhere - as well as data->req.upload_present - set data->req.upload_done on having read all from the client and completely flushed the send buffer - tftp, remove setting of data->req.upload_fromhere - serves no purpose as `upload_present` is not set and the data itself is directly `sendto()` anyway - smtp, make upload EOB conversion a client reader - xfer_ulbuf addition - add xfer_ulbuf for borrowing, similar to xfer_buf - use in file upload - use in c-hyper body sending - h1-proxy, remove init of data->state.uilbuf that is never used - smb, add own send_buf instead of using data->state.ulbuf Closes #13010
show more ...
|
#
476adfea |
| 26-Jan-2024 |
Stefan Eissing |
multi: add xfer_buf to multi handle - can be borrowed by transfer during recv-write operation - needs to be released before borrowing again - adjustis size to `data->set.buffer_size`
multi: add xfer_buf to multi handle - can be borrowed by transfer during recv-write operation - needs to be released before borrowing again - adjustis size to `data->set.buffer_size` - used in transfer.c readwrite_data() Closes #12805
show more ...
|
#
2d06eebf |
| 21-Nov-2023 |
Daniel Stenberg |
urldata: make maxconnects a 32 bit value "2^32 idle connections ought to be enough for anybody" Closes #12375
|
#
843b3baa |
| 26-Mar-2023 |
Daniel Stenberg |
multi: remove PENDING + MSGSENT handles from the main linked list As they are not driving transfers or any socket activity, the main loop does not need to iterate over these handles. A p
multi: remove PENDING + MSGSENT handles from the main linked list As they are not driving transfers or any socket activity, the main loop does not need to iterate over these handles. A performance improvement. They are instead only held in their own separate lists. 'data->multi' is kept a pointer to the multi handle as long as the easy handle is actually part of it even when the handle is moved to the pending/msgsent lists. It needs to know which multi handle it belongs to, if for example curl_easy_cleanup() is called before the handle is removed from the multi handle. Alll 'data->multi' pointers of handles still part of the multi handle gets cleared by curl_multi_cleanup() which "orphans" all previously attached easy handles. This is take 2. The first version was reverted for the 8.0.1 release. Assisted-by: Stefan Eissing Closes #10801
show more ...
|
#
c2df780a |
| 20-Mar-2023 |
Daniel Stenberg |
Revert "multi: remove PENDING + MSGSENT handles from the main linked list" This reverts commit f6d6f3ce01e377932f1ce7c24ee34d45a36950b8. The commits caused issues in the 8.0.0 relea
Revert "multi: remove PENDING + MSGSENT handles from the main linked list" This reverts commit f6d6f3ce01e377932f1ce7c24ee34d45a36950b8. The commits caused issues in the 8.0.0 release. Needs a retake. Reported-by: Kamil Dudka Closes #10795
show more ...
|
#
f6d6f3ce |
| 14-Mar-2023 |
Daniel Stenberg |
multi: remove PENDING + MSGSENT handles from the main linked list As they are not driving transfers or any socket activity, the main loop does not need to iterate over these handles. A p
multi: remove PENDING + MSGSENT handles from the main linked list As they are not driving transfers or any socket activity, the main loop does not need to iterate over these handles. A performance improvement. They are instead only held in their own separate lists. Assisted-by: Stefan Eissing Ref: #10743 Closes #10762
show more ...
|
#
7d3b167f |
| 11-Jan-2023 |
Daniel Stenberg |
curl: output warning at --verbose output for debug-enabled version + a libcurl warning in the debug output Assisted-by: Jay Satiro Ref: https://curl.se/mail/lib-2023-01/003
curl: output warning at --verbose output for debug-enabled version + a libcurl warning in the debug output Assisted-by: Jay Satiro Ref: https://curl.se/mail/lib-2023-01/0039.html Closes #10278
show more ...
|
#
2bc1d775 |
| 02-Jan-2023 |
Daniel Stenberg |
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - save
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
show more ...
|
#
1c007960 |
| 29-Dec-2022 |
Daniel Stenberg |
multihandle: turn bool struct fields into bits Closes #10179
|
#
3c16697e |
| 28-Sep-2022 |
Michael Drake |
openssl: reduce CA certificate bundle reparsing by caching Closes #9620
|
#
46f3fe0e |
| 21-Sep-2022 |
Daniel Stenberg |
hostip: lazily wait to figure out if IPv6 works until needed The check may take many milliseconds, so now it is performed once the value is first needed. Also, this change makes sure tha
hostip: lazily wait to figure out if IPv6 works until needed The check may take many milliseconds, so now it is performed once the value is first needed. Also, this change makes sure that the value is not used if the resolve is set to be IPv4-only. Closes #9553
show more ...
|
#
ad9bc597 |
| 17-May-2022 |
max.mehl |
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
show more ...
|
#
2b3dd01b |
| 02-Dec-2021 |
Daniel Stenberg |
multi: handle errors returned from socket/timer callbacks The callbacks were partially documented to support this. Now the behavior is documented and returning error from either of these
multi: handle errors returned from socket/timer callbacks The callbacks were partially documented to support this. Now the behavior is documented and returning error from either of these callbacks will effectively kill all currently ongoing transfers. Added test 530 to verify Reported-by: Marcelo Juchem Fixes #8083 Closes #8089
show more ...
|
#
4aed7a19 |
| 28-Jun-2021 |
Daniel Stenberg |
openssl: avoid static variable for seed flag Avoid the race condition risk by instead storing the "seeded" flag in the multi handle. Modern OpenSSL versions handle the seeding itself so
openssl: avoid static variable for seed flag Avoid the race condition risk by instead storing the "seeded" flag in the multi handle. Modern OpenSSL versions handle the seeding itself so doing the seeding once per multi-handle instead of once per process is less of an issue. Reported-by: Gerrit Renker Fixes #7296 Closes #7306
show more ...
|
Revision tags: curl-7_76_1, curl-7_76_0, curl-7_75_0, curl-7_74_0 |
|
#
bcca174c |
| 09-Dec-2020 |
Marc Hoersken |
Revert "Revert 'multi: implement wait using winsock events'" This reverts commit 2260e0ebe6d45529495231b3e37a0c58fb92a6a2, also restoring previous follow up changes which were reverted.
Revert "Revert 'multi: implement wait using winsock events'" This reverts commit 2260e0ebe6d45529495231b3e37a0c58fb92a6a2, also restoring previous follow up changes which were reverted. Authored-by: rcombs on github Authored-by: Marc Hörsken Reviewed-by: Jay Satiro Reviewed-by: Marcel Raad Restores #5634 Reverts #6281 Part of #6245
show more ...
|
#
1b2098c3 |
| 25-Feb-2021 |
Daniel Stenberg |
build: remove all traces of USE_BLOCKING_SOCKETS libcurl doesn't behave properly with the define set Closes #6655
|
#
94719e72 |
| 16-Feb-2021 |
Daniel Stenberg |
multi: rename the multi transfer states While working on documenting the states it dawned on me that step one is to use more descriptive names on the states. This also changes prefix on
multi: rename the multi transfer states While working on documenting the states it dawned on me that step one is to use more descriptive names on the states. This also changes prefix on the states to make them shorter in the source. State names NOT ending with *ing are transitional ones. Closes #6612
show more ...
|
#
b9f11ae8 |
| 25-Jan-2021 |
Jay Satiro |
lib: drop USE_SOCKETPAIR in favor of CURL_DISABLE_SOCKETPAIR .. since the former is undocumented and they both do the same thing. Closes https://github.com/curl/curl/pull/6517
|
#
942cf12c |
| 19-Jan-2021 |
Daniel Stenberg |
urldata: make magic be the first struct field By making the `magic` identifier the same size and at the same place within the structs (easy, multi, share), libcurl will be able to more
urldata: make magic be the first struct field By making the `magic` identifier the same size and at the same place within the structs (easy, multi, share), libcurl will be able to more reliably detect and safely error out if an application passes in the wrong handle to APIs. Easier to detect and less likely to cause crashes if done. Such mixups can't be detected at compile-time due to them being typedefed void pointers - unless `CURL_STRICTER` is defined. Closes #6484
show more ...
|
#
769a4687 |
| 11-Dec-2020 |
Daniel Stenberg |
tests/server/disabled: add "wakeup" To allow the test suite to know if wakeup support is disabled in the build.
|
#
2260e0eb |
| 05-Dec-2020 |
Daniel Stenberg |
Revert "multi: implement wait using winsock events" This reverts commit d2a7d7c185f98df8f3e585e5620cbc0482e45fac. This commit also reverts the subsequent follow-ups to that commit,
Revert "multi: implement wait using winsock events" This reverts commit d2a7d7c185f98df8f3e585e5620cbc0482e45fac. This commit also reverts the subsequent follow-ups to that commit, which were all done within windows #ifdefs that are removed in this change. Marc helped me verify this. Fixes #6146 Closes #6281
show more ...
|
#
4d2f8006 |
| 04-Nov-2020 |
Daniel Stenberg |
curl.se: new home Closes #6172
|
Revision tags: curl-7_73_0 |
|
#
9e90ff08 |
| 02-Sep-2020 |
Daniel Stenberg |
hash: make it 'struct Curl_hash' As internal global names should use captical C. Closes #5906
|