summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* curl_multi_poll: a sister to curl_multi_wait() that waits morebagder/curl_multi_pollDaniel Stenberg2019-07-309-80/+161
| | | | | | | | | | | | | | | | | | | | | | Repeatedly we see problems where using curl_multi_wait() is difficult or just awkward because if it has no file descriptor to wait for internally, it returns immediately and leaves it to the caller to wait for a small amount of time in order to avoid occasional busy-looping. This is often missed or misunderstood, leading to underperforming applications. This change introduces curl_multi_poll() as a replacement drop-in function that accepts the exact same set of arguments. This function works identically to curl_multi_wait() - EXCEPT - for the case when there's nothing to wait for internally, as then this function will by itself wait for a "suitable" short time before it returns. This effectiely avoids all risks of busy-looping and should also make it less likely that apps "over-wait". This also changes the curl tool to use this funtion internally when doing parallel transfers and changes curl_easy_perform() to use it internally.
* curl: remove outdated commentDaniel Stenberg2019-07-301-6/+0
| | | | | | | | Turned bad with commit b8894085000 Reported-by: niallor on github Fixes #4172 Closes #4173
* cleanup: remove the 'numsocks' argument used in many placesDaniel Stenberg2019-07-3027-201/+88
| | | | | | | | | It was used (intended) to pass in the size of the 'socks' array that is also passed to these functions, but was rarely actually checked/used and the array is defined to a fixed size of MAX_SOCKSPEREASYHANDLE entries that should be used instead. Closes #4169
* readwrite_data: repair setting the TIMER_STARTTRANSFER stampDaniel Stenberg2019-07-301-1/+1
| | | | | | | | | | Regression, broken in commit 65eb65fde64bd5f (curl 7.64.1) Reported-by: Jonathan Cardoso Machado Assisted-by: Jay Satiro Fixes #4136 Closes #4162
* mailmap: Amit KatyalDaniel Stenberg2019-07-301-0/+1
|
* asyn-thread: removed unused variableDaniel Stenberg2019-07-301-2/+1
| | | | | Follow-up to eb9a604f. Mistake caused by me when I edited the commit before push...
* RELEASE-NOTES: syncedDaniel Stenberg2019-07-301-5/+21
|
* asyn-thread: create a socketpair to wait onamkatyal2019-07-302-11/+65
| | | | Closes #4157
* curl: cap the maximum allowed values for retry time argumentsDaniel Stenberg2019-07-305-4/+61
| | | | | | | | | | ... to avoid integer overflows later when multiplying with 1000 to convert seconds to milliseconds. Added test 1269 to verify. Reported-by: Jason Lee Closes #4166
* progress: reset download/uploaded counterDaniel Stenberg2019-07-291-0/+2
| | | | | | | | | | ... to make CURLOPT_MAX_RECV_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE work correctly on subsequent transfers that reuse the same handle. Fixed-by: Ironbars13 on github Fixes #4084 Closes #4161
* http2_recv: trigger another read when the last data is returnedDaniel Stenberg2019-07-291-0/+3
| | | | | | | | ... so that end-of-stream is detected properly. Reported-by: Tom van der Woerdt Fixes #4043 Closes #4160
* curl: avoid uncessary libcurl timeouts (in parallel mode)Daniel Stenberg2019-07-291-2/+5
| | | | | | | When curl_multi_wait() returns OK without file descriptors to wait for, it might already have done a long timeout. Closes #4159
* HTTP: use chunked Transfer-Encoding for HTTP_POST if size unknownBalazs Kovacsics2019-07-293-5/+22
| | | | | | | | | If using the read callback for HTTP_POST, and POSTFIELDSIZE is not set, automatically add a Transfer-Encoding: chunked header, same as it is already done for HTTP_PUT, HTTP_POST_FORM and HTTP_POST_MIME. Update test 1514 according to the new behaviour. Closes #4138
* winbuild: add vquic to list of build directoriesDaniel Stenberg2019-07-291-0/+4
| | | | | | | | | This fixes the winbuild build method which broke several days ago when experimental quic support was added in 3af0e76. Reported-by: Michael Lee Fixes https://github.com/curl/curl/issues/4158
* easy: resize receive buffer on easy handle resetJay Satiro2019-07-251-0/+14
| | | | | | | | | | | | | | | | | | | - In curl_easy_reset attempt to resize the receive buffer to its default size. If realloc fails then continue using the previous size. Prior to this change curl_easy_reset did not properly handle resetting the receive buffer (data->state.buffer). It reset the variable holding its size (data->set.buffer_size) to the default size (READBUFFER_SIZE) but then did not actually resize the buffer. If a user resized the buffer by using CURLOPT_BUFFERSIZE to set the size smaller than the default, later called curl_easy_reset and attempted to reuse the handle then a heap overflow would very likely occur during that handle's next transfer. Reported-by: Felix Hädicke Fixes https://github.com/curl/curl/issues/4143 Closes https://github.com/curl/curl/pull/4145
* examples: Avoid reserved names in hiperfifo examplesBrad Spencer2019-07-252-33/+29
| | | | | | | | | | | | | | | - Trade in __attribute__((unused)) for the classic (void)x to silence unused symbols. Because the classic way is not gcc specific. Also because the prior method mapped to symbol _Unused, which starts with _ and a capital letter which is reserved. Assisted-by: The Infinnovation team Bug: https://github.com/curl/curl/issues/4120#issuecomment-512542108 Closes https://github.com/curl/curl/pull/4153
* RELEASE-NOTES: syncedDaniel Stenberg2019-07-251-3/+20
|
* ssh-libssh: do not specify O_APPEND when not in append modeFelix Hädicke2019-07-251-1/+1
| | | | | | | | | Specifying O_APPEND in conjunction with O_TRUNC and O_CREAT does not make much sense. And this combination of flags is not accepted by all SFTP servers (at least not Apache SSHD). Fixes #4147 Closes #4148
* multi: call detach_connection before Curl_disconnectGergely Nagy2019-07-251-2/+4
| | | | | | | | Curl_disconnect bails out if conn->easyq is not empty, detach_connection needs to be called first to remove the current easy from the queue. Fixes #4144 Closes #4151
* tool_operate: fix implicit call to easysrc_cleanupJay Satiro2019-07-231-2/+6
| | | | | | | | | | easysrc_cleanup is only defined when CURL_DISABLE_LIBCURL_OPTION is not defined, and prior to this change would be called regardless. Bug: https://github.com/curl/curl/pull/3804#issuecomment-513922637 Reported-by: Marcel Raad Closes https://github.com/curl/curl/pull/4142
* curl:create_transfers check return code from curl_easy_setoptDaniel Stenberg2019-07-221-1/+3
| | | | | | | | From commit b8894085 Pointed out by Coverity CID 1451703 Closes #4134
* HTTP3: initial (experimental) supportDaniel Stenberg2019-07-2133-23/+2520
| | | | | | | | | USe configure --with-ngtcp2 or --with-quiche Using either option will enable a HTTP3 build. Co-authored-by: Alessandro Ghedini <alessandro@ghedini.me> Closes #3500
* curl: remove dead codeDaniel Stenberg2019-07-211-25/+19
| | | | | | | The loop never loops (since b889408500), pointed out by Coverity (CID 1451702) Closes #4133
* docs/PARALLEL-TRANSFERS: correct the version numberDaniel Stenberg2019-07-201-1/+1
|
* docs/PARALLEL-TRANSFERS: addedDaniel Stenberg2019-07-202-0/+59
|
* curl: support parallel transfersDaniel Stenberg2019-07-2034-784/+1501
| | | | | | | | This is done by making sure each individual transfer is first added to a linked list as then they can be performed serially, or at will, in parallel. Closes #3804
* docs/MANUAL.md: converted to markdown from plain textDaniel Stenberg2019-07-202-1058/+1011
| | | | | | ... will make it render as a nicer web page. Closes #4131
* curl_version_info: provide nghttp2 detailsDaniel Stenberg2019-07-203-2/+18
| | | | | | Introducing CURLVERSION_SIXTH with nghttp2 info. Closes #4121
* bump: start working on 7.66.0Daniel Stenberg2019-07-192-10/+9
|
* source: remove names from source commentsDaniel Stenberg2019-07-192-27/+12
| | | | | | | | | | | | | | Several reasons: - we can't add everyone who's helping out so its unfair to just a few selected ones. - we already list all helpers in THANKS and in RELEASE-NOTES for each release - we don't want to give the impression that some parts of the code is "owned" or "controlled" by specific persons Assisted-by: Daniel Gustafsson Closes #4129
* RELEASE-NOTES: 7.65.3curl-7_65_3Daniel Stenberg2019-07-191-7/+6
|
* THANKS: 7.65.3 statusDaniel Stenberg2019-07-191-0/+1
|
* progress: make the progress meter appear againDaniel Stenberg2019-07-191-118/+108
| | | | | | | | Fix regression caused by 21080e1 Reported-by: Chih-Hsuan Yen Fixes #4122 Closes #4124
* version: bump to 7.65.3Daniel Stenberg2019-07-192-167/+11
|
* RELEASE-NOTES: Contributors or now 1990Daniel Stenberg2019-07-171-1/+1
|
* RELEASE-NOTES: 7.65.2curl-7_65_2Daniel Stenberg2019-07-171-56/+92
|
* THANKS: add contributors from 7.65.2Daniel Stenberg2019-07-171-0/+25
|
* cmake: Fix finding Brotli on case-sensitive file systemsaasivov2019-07-171-1/+1
| | | | | | | | - Find package "Brotli" instead of "BROTLI" since the former is the casing used for CMake/FindBrotli.cmake, and otherwise find_package may fail on a case-sensitive file system. Fixes https://github.com/curl/curl/issues/4117
* CURLOPT_RANGE.3: Caution against using it for HTTP PUTJay Satiro2019-07-171-0/+8
| | | | | | | | | | AFAICT CURLOPT_RANGE does not support ranged HTTP PUT uploads so I've cautioned against using it for that purpose and included a workaround. Bug: https://curl.haxx.se/mail/lib-2019-04/0075.html Reported-by: Christopher Head Closes https://github.com/curl/curl/issues/3814
* CURLOPT_SEEKDATA.3: fix variable nameStefano Simonelli2019-07-171-1/+1
| | | | Closes https://github.com/curl/curl/pull/4118
* CIPHERS.md: Explain Schannel error SEC_E_ALGORITHM_MISMATCHgeorgeok2019-07-171-0/+6
| | | | | | | | | If the SSL backend is Schannel and the user specifies an Schannel CALG_ that is not supported by the protocol or the server then curl returns CURLE_SSL_CONNECT_ERROR (35) SEC_E_ALGORITHM_MISMATCH. Fixes https://github.com/curl/curl/issues/3389 Closes https://github.com/curl/curl/pull/4106
* nss: inspect returnvalue of token checkDaniel Gustafsson2019-07-171-1/+4
| | | | | | | | PK11_IsPresent() checks for the token for the given slot is available, and sets needlogin flags for the PK11_Authenticate() call. Should it return false, we should however treat it as an error and bail out. Closes https://github.com/curl/curl/pull/4110
* docs: Explain behavior change in --tlsv1. options since 7.54Jay Satiro2019-07-175-0/+22
| | | | | | | | | | | Since 7.54 --tlsv1. options use the specified version or later, however older versions of curl documented it as using just the specified version which may or may not have happened depending on the TLS library. Document this discrepancy to allay confusion for users familiar with the old documentation that expect just the specified version. Fixes https://github.com/curl/curl/issues/4097 Closes https://github.com/curl/curl/pull/4119
* libcurl: Restrict redirect schemes (follow-up)Jay Satiro2019-07-177-16/+18
| | | | | | | | | | | | - Allow FTPS on redirect. - Update default allowed redirect protocols in documentation. Follow-up to 6080ea0. Ref: https://github.com/curl/curl/pull/4094 Closes https://github.com/curl/curl/pull/4115
* test1173: make it also check all libcurl option man pagesDaniel Stenberg2019-07-167-39/+35
| | | | | | ... and adjust those that cause errors Closes #4116
* curl: only accept COLUMNS less than 10000Daniel Stenberg2019-07-161-1/+2
| | | | | | | | ... as larger values would rather indicate something silly (and could potentially cause buffer problems). Reported-by: pendrek at hackerone Closes #4114
* dist: add manpage-syntax.plDaniel Stenberg2019-07-151-1/+1
| | | | follow-up to 7fb66c403
* test1173: detect some basic man page format mistakesDaniel Stenberg2019-07-153-1/+90
| | | | | | Triggered by PR #4111 Closes #4113
* docs: Fix missing lines caused by undefined macrosBjarni Ingi Gislason2019-07-153-3/+3
| | | | | | | | | | | | | | | | | - Escape apostrophes at line start. Some lines begin with a "'" (apostrophe, single quote), which is then interpreted as a control character in *roff. Such lines are interpreted as being a call to a macro, and if undefined, the lines are removed from the output. Bug: https://bugs.debian.org/926352 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> Submitted-by: Alessandro Ghedini Closes https://github.com/curl/curl/pull/4111
* libcurl-security.3: update to new CURLOPT_REDIR_PROTOCOLS defaultsDaniel Stenberg2019-07-141-3/+3
| | | | follow-up to 6080ea098