summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* lib/Makefile.am: bump VERSIONINFO due to new functionsbagder/bump-versioninfoDaniel Stenberg2020-09-011-1/+1
| | | | | ... we're generally bad at this, but we are adding new functions for this release.
* curl.1: add see also no-progress-meter on two spotsDaniel Stenberg2020-09-012-1/+2
| | | | | | Ref: #5894 Closes #5897
* RELEASE-NOTES: syncedDaniel Stenberg2020-08-311-8/+24
|
* mqtt: enable by defaultDaniel Stenberg2020-08-3111-111/+113
| | | | | | No longer considered experimental. Closes #5858
* tls: add CURLOPT_SSL_EC_CURVES and --curvesMichael Baentsch2020-08-3020-1/+131
| | | | Closes #5892
* url: remove funny embedded comments in Curl_disonnect callsDaniel Stenberg2020-08-301-6/+4
|
* conn: check for connection being dead before reuseChris Paulson-Ellis2020-08-301-0/+6
| | | | | | | | | | Prevents incorrect reuse of an HTTP connection that has been prematurely shutdown() by the server. Partial revert of 755083d00deb16 Fixes #5884 Closes #5893
* buildconf: exec autoreconf to avoid additional processMarc Hoersken2020-08-291-1/+1
| | | | | | | | | Also make buildconf exit with the return code of autoreconf. Reviewed-by: Daniel Stenberg Follow up to #5853 Closes #5890
* CI/azure: no longer ignore results of test 1013Marc Hoersken2020-08-291-5/+5
| | | | | Follow up to #5771 Closes #5889
* docs: add description about CI platforms to CONTRIBUTE.mdMarc Hoersken2020-08-291-0/+27
| | | | | | | | Reviewed-by: Daniel Stenberg Reviewed-by: Marcel Raad Reviewed-by: Jay Satiro Closes #5882
* tests/getpart: use MIME::Base64 instead of home-cookedDaniel Stenberg2020-08-291-6/+1
| | | | | | | | | | | | Since we already use the base64 package since a while back, we can just as well switch to that here too. It also happens to use the exact same function name, which otherwise causes a run-time warning. Reported-by: Marc Hörsken Fixes #5885 Closes #5887
* ntlm: fix condition for curl_ntlm_core usageMarcel Raad2020-08-299-36/+23
| | | | | | | | | | | | `USE_WINDOWS_SSPI` without `USE_WIN32_CRYPTO` but with any other DES backend is fine, but was excluded before. This also fixes test 1013 as the condition for SMB support in configure.ac didn't match the condition in the source code. Now it does. Fixes https://github.com/curl/curl/issues/1262 Closes https://github.com/curl/curl/pull/5771
* AppVeyor: switch 64-bit Schannel Debug CMake builds to UnicodeMarcel Raad2020-08-291-0/+12
| | | | | | | | The Schannel builds are the most useful to verify as they make the most use of the Windows API. Classic MinGW doesn't support Unicode at all, only MinGW-w64 and MSVC do. Closes https://github.com/curl/curl/pull/5843
* CMake: add option to enable Unicode on WindowsMarcel Raad2020-08-292-0/+13
| | | | | | As already existing for winbuild. Closes https://github.com/curl/curl/pull/5843
* select: simplify return code handling for poll and selectMarc Hoersken2020-08-291-24/+13
| | | | | | | | | | | | | poll and select already return -1 on error according to POSIX, so there is no need to perform a <0 to -1 conversion in code. Also we can just use one check with <= 0 on the return code. Assisted-by: Daniel Stenberg Reviewed-by: Jay Satiro Replaces #5852 Closes #5880
* RELEASE-NOTES: syncedDaniel Stenberg2020-08-281-10/+34
|
* tests: add test1912 with typechecksJeroen Ooms2020-08-284-2/+118
| | | | | | Validates that gcc-typecheck macros match the new option type API. Closes #5873
* easyoptions: provide debug function when DEBUGBUILDDaniel Stenberg2020-08-282-2/+2
| | | | | | | | | ... not CURLDEBUG as they're not always set in conjunction. Follow-up to 6ebe63fac23f38df Fixes #5877 Closes #5878
* sockfilt: handle FD_CLOSE winsock event on write socketMarc Hoersken2020-08-281-3/+3
| | | | | | | | | Learn from the way Cygwin handles and maps the WinSock events to simulate correct and complete poll and select behaviour according to Richard W. Stevens Network Programming book. Follow up to #5867 Closes #5879
* multi: handle connection state winsock eventsMarc Hoersken2020-08-281-6/+6
| | | | | | | | | | | | Learn from the way Cygwin handles and maps the WinSock events to simulate correct and complete poll and select behaviour according to Richard W. Stevens Network Programming book. Reviewed-by: Jay Satiro Reviewed-by: Marcel Raad Follow up to #5634 Closes #5867
* 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