summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Curl_pgrsTime - return new time to avoid timeout integer overflowDaniel Stenberg2020-08-284-23/+27
| | | | | | | | | | | | | | Setting a timeout to INT_MAX could cause an immediate error to get returned as timeout because of an overflow when different values of 'now' were used. This is primarily fixed by having Curl_pgrsTime() return the "now" when TIMER_STARTSINGLE is set so that the parent function will continue using that time. Reported-by: Ionuț-Francisc Oancea Fixes #5583 Closes #5847
* TLS: fix SRP detection by using the proper #ifdefsDaniel Stenberg2020-08-283-14/+15
| | | | | | | | | | | | | | | USE_TLS_SRP will be true if *any* selected TLS backend can use SRP HAVE_OPENSSL_SRP is defined when OpenSSL can use it HAVE_GNUTLS_SRP is defined when GnuTLS can use it Clarify in the curl_verison_info docs that CURL_VERSION_TLSAUTH_SRP is set if at least one of the supported backends offers SRP. Reported-by: Stefan Strogin Fixes #5865 Closes #5870
* docs: SSLCERTS: fix English syntaxDan Kenigsberg2020-08-281-2/+2
| | | | | | Signed-off-by: Dan Kenigsberg <danken@redhat.com> Closes #5876
* docs: non-existing macros in man pagesAlessandro Ghedini2020-08-272-3/+3
| | | | | | | | As reported by man(1) when invoked as: man --warnings -E UTF-8 -l -Tutf8 -Z <file> >/dev/null Closes #5846
* curl.1: fix typo invokved -> invokedAlessandro Ghedini2020-08-271-1/+1
| | | | Closes #5846
* buildconf: invoke 'autoreconf -fi' insteadDaniel Stenberg2020-08-272-437/+3
| | | | | | | The custom script isn't necessary anymore - but remains for simplicity and just invokes autoreconf. Closes #5853
* lib: make Curl_gethostname accept a const pointerEmil Engler2020-08-272-4/+4
| | | | | | | The address of that variable never gets changed, only the data in it so why not make it a "char * const"? Closes #5866
* docs/libcurl: update "Added in" version for curl_easy_option*Daniel Stenberg2020-08-273-6/+6
| | | | Follow-up to 6ebe63fac23f38
* scripts: improve the "get latest curl release tag" logicDaniel Stenberg2020-08-273-3/+3
| | | | ... by insiting on it matching "^curl-".
* configure: added --disable-get-easy-optionsDaniel Stenberg2020-08-273-0/+45
| | | | | | To allow disabling of the curl_easy_option APIs in a build. Closes #5365
* options: API for meta-data about easy optionsDaniel Stenberg2020-08-2722-58/+1019
| | | | | | | | | | | | | | | | const struct curl_easyoption *curl_easy_option_by_name(const char *name); const struct curl_easyoption *curl_easy_option_by_id (CURLoption id); const struct curl_easyoption * curl_easy_option_next(const struct curl_easyoption *prev); The purpose is to provide detailed enough information to allow for example libcurl bindings to get option information at run-time about what easy options that exist and what arguments they expect. Assisted-by: Jeroen Ooms Closes #5365
* HTTP/3: update to OpenSSL_1_1_1g-quic-draft-29Eric Curtin2020-08-272-2/+2
| | | | Closes #5871
* RELEASE-NOTES: syncedDaniel Stenberg2020-08-271-3/+39
|
* openssl: Fix wincrypt symbols conflict with BoringSSLJay Satiro2020-08-261-0/+7
| | | | | | | | | | | | | | OpenSSL undefines the conflicting symbols but BoringSSL does not so we must do it ourselves. Reported-by: Samuel Tranchet Assisted-by: Javier Blazquez Ref: https://bugs.chromium.org/p/boringssl/issues/detail?id=371 Ref: https://github.com/openssl/openssl/blob/OpenSSL_1_1_1g/include/openssl/ossl_typ.h#L66-L73 Fixes https://github.com/curl/curl/issues/5669 Closes https://github.com/curl/curl/pull/5857
* socketpair: allow CURL_DISABLE_SOCKETPAIRDaniel Stenberg2020-08-264-4/+27
| | | | | | ... to completely disable the use of socketpair Closes #5850
* curl_get_line: build only if cookies or alt-svc are enabledDaniel Stenberg2020-08-261-1/+5
| | | | Closes #5851
* schannel: fix memory leak when using get_cert_locationfullincome2020-08-261-4/+6
| | | | | | | | | | The get_cert_location function allocates memory only on success. Previously get_cert_location was able to allocate memory and return error. It wasn't obvious and in this case the memory wasn't released. Fixes #5855 Closes #5860
* git: ignore libtests in 3XXX areaEmil Engler2020-08-261-1/+1
| | | | | | | | Currently the file tests/libtest/lib3010 is not getting ignored by git. This fixes it by adding the 3XXX area to the according .gitignore file. Closes #5859
* doh: add error message for DOH_DNS_NAME_TOO_LONGEmil Engler2020-08-261-2/+3
| | | | | | | When this error code was introduced in b6a53fff6c1d07e8a9, it was forgotten to be added in the errors array and doh_strerror function. Closes #5863
* ngtcp2: adapt to the new pkt_info argumentsDaniel Stenberg2020-08-261-3/+5
| | | | | | Guidance-by: Tatsuhiro Tsujikawa Closes #5864
* winbuild/README.md: make <options> visibleDaniel Stenberg2020-08-261-1/+1
| | | | Follow-up to be753add31c2d8c
* winbuild: convert the instruction text to README.mdDaniel Stenberg2020-08-264-132/+128
| | | | Closes #5861
* lib1560: verify "redirect" to double-slash leading URLDaniel Stenberg2020-08-251-0/+8
| | | | Closes #5849
* multi: expand pre-check for socket readinessMarc Hoersken2020-08-251-38/+34
| | | | | | | | | | | | Check readiness of all sockets before waiting on them to avoid locking in case the one-time event FD_WRITE was already consumed by a previous wait operation. More information about WinSock network events: https://docs.microsoft.com/en-us/windows/win32/api/ winsock2/nf-winsock2-wsaeventselect#return-value Closes #5634
* multi: implement wait using winsock eventsrcombs2020-08-252-6/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids using a pair of TCP ports to provide wakeup functionality for every multi instance on Windows, where socketpair() is emulated using a TCP socket on loopback which could in turn lead to socket resource exhaustion. A previous version of this patch failed to account for how in WinSock, FD_WRITE is set only once when writing becomes possible and not again until after a send has failed due to the buffer filling. This contrasts to how FD_READ and FD_OOB continue to be set until the conditions they refer to no longer apply. This meant that if a user wrote some data to a socket, but not enough data to completely fill its send buffer, then waited on that socket to become writable, we'd erroneously stall until their configured timeout rather than returning immediately. This version of the patch addresses that issue by checking each socket we're waiting on to become writable with select() before the wait, and zeroing the timeout if it's already writable. Assisted-by: Marc Hörsken Reviewed-by: Marcel Raad Reviewed-by: Daniel Stenberg Tested-by: Gergely Nagy Tested-by: Rasmus Melchior Jacobsen Tested-by: Tomas Berger Replaces #5397 Reverts #5632 Closes #5634
* select: reduce duplication of Curl_poll in Curl_socket_checkMarc Hoersken2020-08-251-90/+16
| | | | | | | | | | | Change Curl_socket_check to use select-fallback in Curl_poll instead of implementing it in Curl_socket_check and Curl_poll. Reviewed-by: Daniel Stenberg Reviewed-by: Jay Satiro Replaces #5262 and #5492 Closes #5707
* select: fix poll-based check not detecting connect failureMarc Hoersken2020-08-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This commit changes Curl_socket_check to use POLLPRI to check for connect failure on the write socket, because POLLPRI maps to fds_err. This is in line with select(2). The select-based socket check correctly checks for connect failures by adding the write socket also to fds_err. The poll-based implementation (which internally can itself fallback to select again) did not previously check for connect failure by using POLLPRI with the write socket. See the follow up commit to this for more information. This commit makes sure connect failures can be detected and handled if HAVE_POLL_FINE is defined, eg. on msys2-devel. Reviewed-by: Daniel Stenberg Reviewed-by: Jay Satiro Replaces #5509 Prepares #5707
* select.h: make socket validation macros test for INVALID_SOCKETMarc Hoersken2020-08-251-2/+13
| | | | | | | | | | | With Winsock the valid range is [0..INVALID_SOCKET-1] according to https://docs.microsoft.com/en-us/windows/win32/winsock/socket-data-type-2 Reviewed-by: Jay Satiro Reviewed-by: Marcel Raad Reviewed-by: Daniel Stenberg Closes #5760
* docs: --output-dir is added in 7.73.0, nothing elseDaniel Stenberg2020-08-242-2/+2
| | | | Follow-up to 5620d2cc78c0
* curl: add --output-dirDaniel Stenberg2020-08-2417-24/+381
| | | | | | | | Works with --create-dirs and with -J Add test 3008, 3009, 3011, 3012 and 3013 to verify. Closes #5637
* configure: fix pkg-config detecting wolfsslDaniel Stenberg2020-08-241-2/+6
| | | | | | | | When amending the include path with "/wolfssl", this now properly strips off all whitespace from the path variable! Previously this would lead to pkg-config builds creating bad command lines. Closes #5848
* sftp: add the option CURLKHSTAT_FINE_REPLACEMichael Musset2020-08-244-4/+20
| | | | | | Replace the old fingerprint of the host with a new. Closes #5685
* RELEASE-NOTES: syncedDaniel Stenberg2020-08-242-9/+30
| | | | The next release is now to become 7.73.0
* checksrc: verify do-while and spaces between the bracesDaniel Stenberg2020-08-242-5/+15
| | | | | | Updated mprintf.c to comply Closes #5845
* curl: support XDG_CONFIG_HOME to find .curlrcDaniel Stenberg2020-08-247-12/+120
| | | | | | | | | Added test433 to verify. Updated documentation. Reviewed-by: Jay Satiro Suggested-by: Eli Schwartz Fixes #5829 Closes #5837
* etag: save and use the full received contentsDaniel Stenberg2020-08-2410-52/+88
| | | | | | | | | ... which makes it support weak tags and non-standard etags too! Added test case 347 to verify blank incoming ETag: Fixes #5610 Closes #5833
* setopt: if the buffer exists, refuse the new BUFFERSIZEDaniel Stenberg2020-08-241-11/+3
| | | | | | | | The buffer only exists during transfer and then we shouldn't change the size (the setopt is not documented to work then). Reported-by: Harry Sintonen Closes #5842
* sftp: add new quote commands 'atime' and 'mtime'COFFEETALES2020-08-244-3/+79
| | | | Closes #5810
* CURLE_PROXY: new error codeDaniel Stenberg2020-08-2415-95/+318
| | | | | | | | | | | | Failures clearly returned from a (SOCKS) proxy now causes this return code. Previously the situation was not very clear as what would be returned and when. In addition: when this error code is returned, an application can use CURLINFO_PROXY_ERROR to query libcurl for the detailed error, which then returns a value from the new 'CURLproxycode' enum. Closes #5770
* runtests: make cleardir() erase dot files tooDaniel Stenberg2020-08-231-1/+1
| | | | | | Because test cases might use dot files. Closes #5838
* KNOWN_BUGS: 'no_proxy' string-matches IPv6 numerical addresesDaniel Stenberg2020-08-233-1/+17
| | | | | | | | | Also: the current behavior is now documented in the curl.1 and CURLOPT_NOPROXY.3 man pages. Reported-by: Andrew Barnes Closes #5745 Closes #5841
* Makefile.m32: add ability to override zstd libs [ci skip]Viktor Szakats2020-08-223-3/+18
| | | | | | | | | | Similarly to brotli, where this was already possible. E.g. it allows to link zstd statically to libcurl.dll. Ref: https://github.com/curl/curl-for-win/issues/12 Ref: https://github.com/curl/curl-for-win/commit/d9b266afd2e5d3f5604483010ef62340b5918c89 Closes https://github.com/curl/curl/pull/5840
* runtests: avoid 'fail to start' repeated messages in attempt loopsDaniel Stenberg2020-08-211-14/+13
| | | | Closes #5834
* runtests: clear pid variables when failing to start a serverDaniel Stenberg2020-08-211-58/+28
| | | | | | | | | ... as otherwise the parent doesn't detect the failure and believe it actually worked to start. Reported-by: Christian Weisgerber Bug: https://curl.haxx.se/mail/lib-2020-08/0018.html Closes #5834
* TODO: Virtual external socketsDaniel Stenberg2020-08-211-0/+10
| | | | Closes #5835
* dist: add missing CMake Find modules to the distributionDon2020-08-211-0/+3
| | | | Closes #5836
* RELEASE-NOTES: syncedDaniel Stenberg2020-08-192-222/+11
| | | | ... and version bumped to 7.72.1
* tls: provide the CApath verbose log on its own lineDaniel Stenberg2020-08-194-30/+20
| | | | | | | | | ... not newline separated from the previous line. This makes it output asterisk prefixed properly like other verbose putput! Reported-by: jmdavitt on github Fixes #5826 Closes #5827
* RELEASE-NOTES: syncedcurl-7_72_0Daniel Stenberg2020-08-191-15/+37
| | | | The curl 7.72.0 release
* THANKS: add names from curl 7.72.0 releaseDaniel Stenberg2020-08-191-0/+29
|