summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* sendf: make failf() use the mvsnprintf() return codebagder/sendf-snprintfDaniel Stenberg2020-05-181-2/+1
| | | | | | | ... and avoid a strlen() call. Fixes a MonocleAI warning. Reported-by: MonocleAI Fixes #5413
* TODO: forbid TLS post-handshake auth and do TLS record paddingDaniel Stenberg2020-05-181-7/+24
| | | | | Closes #5396 Closes #5398
* RELEASE-NOTES: syncedDaniel Stenberg2020-05-181-8/+44
|
* dynbuf: return NULL when there's no buffer lengthDaniel Stenberg2020-05-172-8/+8
| | | | | | | | | ... as returning a "" is not a good idea as the string is supposed to be allocated and returning a const string will cause issues. Reported-by: Brian Carpenter Follow-up to ed35d6590e72c Closes #5405
* travis: upgrade to bionic, clang-9, improve readabilityPeter Wu2020-05-161-221/+101
| | | | | | | | | | | | | | | | | | | | | Changes, partially to reduce build failures from external dependencies: - Upgrade Ubuntu and drop unnecessary third-party repos. - Properly clone apt config to ensure retries. - Upgrade to clang-9 from the standard repos. - Use Ubuntu 20.04 focal for the libssh build, use of ssh_get_publickey fails on -Werror=deprecated-declarations in Ubuntu 18.04. Do not use focal everywhere yet since Travis CI has not documented this option. In focal, python-impacket (Py2.7) has been removed, leaving only python3-impacket. Since it is only needed for SMB tests and not SSH, skip it for the libssh job since it might need more work. - apt: Remove gcc-8 and libstdc++-8-dev, already installed via g++-8. Non-functional cleanups: - Simplify test matrix, drop redundant os and compiler keys. - Deprecation fixes: remove sudo, rename matrix -> jobs. - Every job has an 'env' key, put this key first in a list item. Closes #5370
* travis: whitespace-only changes for consistencyPeter Wu2020-05-161-428/+428
| | | | | | | | | | Automatically apply a consistent indentation with: python3 -c 'from ruamel.yaml import YAML;y=YAML();d=y.load(open(".travis.yml"));y.width=500;y.dump(d,open(".travis.yml.new","w"))' followed by manually re-indenting three comments. Closes #5370
* CMake: add libssh build supportPeter Wu2020-05-153-4/+31
| | | | Closes #5372
* KNOWN_BUGS: wolfssh: publickey auth doesn't workDaniel Stenberg2020-05-151-0/+8
| | | | Closes #4820
* KNOWN_BUGS: OS400 port requires deprecated IBM libraryDaniel Stenberg2020-05-151-0/+9
| | | | Closes #5176
* http2: keep trying to send pending frames after req.upload_doneVyron Tsingaras2020-05-151-2/+20
| | | | | Fixes #1410 Closes #5401
* setopt: support certificate options in memory with struct curl_blobGilles Vollant2020-05-1521-130/+961
| | | | | | | | | | | | | This change introduces a generic way to provide binary data in setopt options, called BLOBs. This change introduces these new setopts: CURLOPT_ISSUERCERT_BLOB, CURLOPT_PROXY_SSLCERT_BLOB, CURLOPT_PROXY_SSLKEY_BLOB, CURLOPT_SSLCERT_BLOB and CURLOPT_SSLKEY_BLOB. Reviewed-by: Daniel Stenberg Closes #5357
* source cleanup: remove all custom typedef structsDaniel Stenberg2020-05-1571-673/+719
| | | | | | | | | | | - Stick to a single unified way to use structs - Make checksrc complain on 'typedef struct {' - Allow them in tests, public headers and examples - Let MD4_CTX, MD5_CTX, and SHA256_CTX typedefs remain as they actually typedef different types/structs depending on build conditions. Closes #5338
* travis: remove the .checksrc fiddlingDaniel Stenberg2020-05-151-2/+0
|
* ftp: make domore_getsock() return the secondary socket properlyDaniel Stenberg2020-05-151-1/+3
| | | | | | | | Previously, after PASV and immediately after the data connection has connected, the function would only return the control socket to wait for which then made the data connection simply timeout and not get polled correctly. This become obvious when running test 1631 and 1632 event- based.
* test1632: verify FTP through HTTPS-proxy with connection re-useDaniel Stenberg2020-05-152-1/+106
|
* test1631: verify FTP download through HTTPS-proxyDaniel Stenberg2020-05-152-1/+88
|
* sws: as last resort, get test number from server cmd fileDaniel Stenberg2020-05-151-18/+52
| | | | | | | | If it can't be found in the request. Also support --cmdfile to set it to a custom file name. runtests.pl always writes this file with the test number in it since a while back.
* ftp: shut down the secondary connection properly when SSL is usedDaniel Stenberg2020-05-151-3/+4
| | | | | | Reported-by: Neal Poole Fixes #5340 Closes #5385
* KNOWN_BUGS: adapt 5.5 to recent changesMarcel Raad2020-05-141-12/+6
| | | | | | | It only applies to non-Unicode builds now. Also merge 5.10 into it as it's effectively a duplicate. Closes https://github.com/curl/curl/pull/3784
* curl_setup: support Unicode functions to open files on WindowsMarcel Raad2020-05-142-2/+59
| | | | | | | Use them only if `_UNICODE` is defined, in which case command-line arguments have been converted to UTF-8. Closes https://github.com/curl/curl/pull/3784
* tool: support UTF-16 command line on WindowsMarcel Raad2020-05-144-11/+25
| | | | | | | | | | | | | | | | | | - use `wmain` instead of `main` when `_UNICODE` is defined [0] - define `argv_item_t` as `wchar_t *` in this case - use the curl_multibyte gear to convert the command-line arguments to UTF-8 This makes it possible to pass parameters with characters outside of the current locale on Windows, which is required for some tests, e.g. the IDN tests. Out of the box, this currently only works with the Visual Studio project files, which default to Unicode, and winbuild with the `ENABLE_UNICODE` option. [0] https://devblogs.microsoft.com/oldnewthing/?p=40643 Ref: https://github.com/curl/curl/issues/3747 Closes https://github.com/curl/curl/pull/3784
* curl_multibyte: add to curlxMarcel Raad2020-05-1416-119/+128
| | | | | | | This will also be needed in the tool and tests. Ref: https://github.com/curl/curl/pull/3758#issuecomment-482197512 Closes https://github.com/curl/curl/pull/3784
* url: make the updated credentials URL-encoded in the URLDaniel Stenberg2020-05-143-2/+83
| | | | | | | | Found-by: Gregory Jefferis Reported-by: Jeroen Ooms Added test 1168 to verify. Bug spotted when doing a redirect. Bug: https://github.com/jeroen/curl/issues/224 Closes #5400
* tests: add https-proxy support to the test suiteDaniel Stenberg2020-05-144-29/+138
| | | | | | | Initial test 1630 added with basic HTTPS-proxy use. HTTPS-proxy is like HTTP proxy but with a full TLS connection to the proxy. Closes #5399
* mailmap: James FullerDaniel Stenberg2020-05-141-0/+1
|
* vauth/cleartext: fix theoretical integer overflowMajor_Tom2020-05-141-1/+2
| | | | | | | | | | | Fix theoretical integer overflow in Curl_auth_create_plain_message. The security impact of the overflow was discussed on hackerone. We agreed this is more of a theoretical vulnerability, as the integer overflow would only be triggerable on systems using 32-bits size_t with over 4GB of available memory space for the process. Closes #5391
* curl.1: Quote globbed URLsJay Satiro2020-05-131-7/+7
| | | | | | | | | | - Quote the globbing example URLs that contain characters [] {} since otherwise they may be interpreted as shell metacharacters. Bug: https://github.com/curl/curl/issues/5388 Reported-by: John Simpson Closes https://github.com/curl/curl/pull/5394
* checksrc: enhance the ASTERISKSPACE and update code accordinglyDaniel Stenberg2020-05-1423-56/+56
| | | | | | | | Fine: "struct hello *world" Not fine: "struct hello* world" (and variations) Closes #5386
* docs/options-in-versions: which version added each cmdline optionDaniel Stenberg2020-05-136-2/+392
| | | | | | | | Added test 971 to verify that the list is in sync with the files in cmdline-opts. The check also verifies that .d-files that uses Added: specify the same version number as the options-in-versions file does. Closes #5381
* docs: unify protocol listsDaniel Stenberg2020-05-132-4/+6
| | | | | | | We boast support for 25 transfer protocols. Make sure the lists are consistent Closes #5384
* OpenSSL: have CURLOPT_CRLFILE imply CURLSSLOPT_NO_PARTIALCHAINDaniel Stenberg2020-05-132-7/+14
| | | | | | | | ... to avoid an OpenSSL bug that otherwise makes the CRL check to fail. Reported-by: Michael Kaufmann Fixes #5374 Closes #5376
* tls13-ciphers.d: shorten the ArgDaniel Stenberg2020-05-131-1/+1
|
* sasl-authzid.d: add Arg: and shorten the descDaniel Stenberg2020-05-131-1/+2
|
* cert-type.d: mention the available types in the descDaniel Stenberg2020-05-131-1/+1
|
* tool: shorten 3 --help descriptionsDaniel Stenberg2020-05-134-19/+20
| | | | | | | | --happy-eyeballs-timeout-ms, --resolve and --ssl-revoke-best-effort gen.pl already warned about these lines but we didn't listen Closes #5379
* configure: the wolfssh backend does not provide SCPDaniel Stenberg2020-05-131-1/+0
| | | | Closes #5387
* RELEASE-NOTES: syncedDaniel Stenberg2020-05-131-6/+30
|
* url: reject too long input when parsing credentialsDaniel Stenberg2020-05-131-0/+6
| | | | | | | | | | Since input passed to libcurl with CURLOPT_USERPWD and CURLOPT_PROXYUSERPWD circumvents the regular string length check we have in Curl_setstropt(), the input length limit is enforced in Curl_parse_login_details too, separately. Reported-by: Thomas Bouzerar Closes #5383
* list-only.d: this option existed already in 4.0Daniel Stenberg2020-05-121-1/+1
|
* retry-all-errors.d: Shorten the summary lineJay Satiro2020-05-122-2/+2
| | | | | | | | Follow-up to b995bb5 from a few moments ago. Reported-by: Daniel Stenberg Ref: https://github.com/curl/curl/commit/b995bb5#r39108929
* easy: fix dangling pointer on easy_perform faildenzor2020-05-121-0/+1
| | | | Closes https://github.com/curl/curl/pull/5363
* tool: Add option --retry-all-errors to retry on any errorJay Satiro2020-05-128-1/+98
| | | | | | The "sledgehammer" of retrying. Closes https://github.com/curl/curl/pull/5185
* libcurl.pc: Merge Libs.private into Libs for static-only buildsJames Le Cuirot2020-05-124-9/+18
| | | | | | | | | | | | | | | | | A project being built entirely statically will call pkg-config with --static, which utilises the Libs.private field. Conversely it will not use --static when not being built entirely statically, even if there is only a static build of libcurl available. This will most likely cause the build to fail due to underlinking unless we merge the Libs fields. Consider that this is what the Meson build system does when it generates pkg-config files. I have also reflected this in the --libs argument of curl-config even though REQUIRE_LIB_DEPS always seems to be "yes" anyway. Closes #5373
* CMake: fix runtests.pl with CMake, add new test targetsPeter Wu2020-05-125-31/+53
| | | | | | | | | | | | | | | | | | | * runtests.pl: - Fix out-of-tree build under CMake when srcdir is not set. Default srcdir to the location of runtests.pl. - Add a hack to allow CMake to use the TFLAGS option as documented in tests/README and used in scripts/travis/script.sh. * Bump CMake version to 3.2 for USES_TERMINAL, dropping Debian Jessie support (no one should care, it is already EOL.). * Remove CTest since it defines its own 'test' target with no tests since all unittests are already broken and not built by default. * Add new test targets based on the options from Makefile.am. Since new test targets are rarely added, I opted for duplicating the runtests.pl options as opposed to creating a new Makefile.inc file. Use top-level target names (test-x) instead of x-test since that is used by CI and others. Closes #5358
* CMake: do not build test programs by defaultPeter Wu2020-05-124-4/+9
| | | | | | | | The default target should only build libcurl and curl. Add a dedicated 'testdeps' target which will be used later when running tests. Note that unittests are currently broken in CMake and already excluded. Closes #5368
* FILEFORMAT: moved up the variables section and further polishedDaniel Stenberg2020-05-121-68/+73
|
* runtests: remove ftp2 support, not usedDaniel Stenberg2020-05-122-21/+1
| | | | | | | We once supported two separate ftp instances in the test suite. Has not been used the last decade. Closes #5375
* url: sort the protocol schemes in rough popularity orderDaniel Stenberg2020-05-121-37/+39
| | | | | | | | | | | When looking for a protocol match among supported schemes, check the most "popular" schemes first. It has zero functionality difference and for all practical purposes a speed difference will not be measureable but it still think it makes sense to put the least likely matches last. "Popularity" based on the 2019 user survey. Closes #5377
* test1238: avoid tftpd being busy for tests shortly followingMarc Hoersken2020-05-113-5/+13
| | | | | | | | | | | | | | | | | | | | | | The tftpd server may still be busy if the total timeout of 25 seconds has not been reached or no sread error was received during or after the execution of the timeout test 1238. Once the next TFTP test comes around (eg. 1242 or 1243), those will fail because the tftpd server is still waiting on data from curl due to the UDP protocol being stateless and having no connection close. On Linux this error may not happen, because ICMP errors generated due to a swrite error can also be returned async on the next sread call instead. Therefore we will now just kill the tftpd server after test 1238 to make sure that the following tests are not affected. This enables us to no longer ignore tests 1242, 1243, 2002 and 2003 on the CI platforms CirrusCI and AppVeyor. Assisted-by: Peter Wu Closes #5364
* write-out.d: added "response_code"Daniel Stenberg2020-05-111-0/+4
|