summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* mqttd: remove unused variableMarcel Raad2021-02-101-2/+0
| | | | Closes https://github.com/curl/curl/pull/6576
* tool_paramhlp: reduce variable scopeMarcel Raad2021-02-101-1/+2
| | | | Closes https://github.com/curl/curl/pull/6576
* tests: reduce variable scopesMarcel Raad2021-02-102-7/+4
| | | | Closes https://github.com/curl/curl/pull/6576
* lib: reduce variable scopesMarcel Raad2021-02-102-8/+4
| | | | Closes https://github.com/curl/curl/pull/6576
* ftp: fix Codacy/cppcheck warning about null pointer arithmeticMarcel Raad2021-02-101-1/+2
| | | | | | Increment `bytes` only if it is non-null. Closes https://github.com/curl/curl/pull/6576
* ngtcp2: adapt to the new recv_datagram callbackDaniel Stenberg2021-02-091-1/+2
|
* quiche: fix build error: use 'int' for port numberDaniel Stenberg2021-02-091-1/+1
| | | | Follow-up to cb2dc1ba8
* ftp: add 'list_only' to the transfer state structDaniel Stenberg2021-02-0910-12/+87
| | | | | | | | | and rename it from 'ftp_list_only' since it is also used for SSH and POP3. The state is updated internally for 'type=D' FTP URLs. Added test case 1570 to verify. Closes #6578
* ftp: add 'prefer_ascii' to the transfer state structDaniel Stenberg2021-02-099-21/+146
| | | | | | | | | | | ... and make sure the code never updates 'set.prefer_ascii' as it breaks handle reuse which should use the setting as the user specified it. Added test 1569 to verify: it first makes an FTP transfer with ';type=A' and then another without type on the same handle and the second should then use binary. Previously, curl failed this. Closes #6578
* RELEASE-NOTES: syncedDaniel Stenberg2021-02-091-6/+36
|
* vtls: initial implementation of rustls backendJacob Hoffman-Andrews2021-02-0912-8/+639
| | | | | | | | | | | | | | | | | This adds a new TLS backend, rustls. It uses the C-to-rustls bindings from https://github.com/abetterinternet/crustls. Rustls is at https://github.com/ctz/rustls/. There is still a fair bit to be done, like sending CloseNotify on connection shutdown, respecting CAPATH, and properly indicating features like "supports TLS 1.3 ciphersuites." But it works well enough to make requests and receive responses. Blog post for context: https://www.abetterinternet.org/post/memory-safe-curl/ Closes #6350
* sasl: support SCRAM-SHA-1 and SCRAM-SHA-256 via libgsaslSimon Josefsson2021-02-097-0/+261
| | | | Closes #6372
* lib: use int type for more port variablesJay Satiro2021-02-098-18/+18
| | | | | | | This is a follow-up to 764c6bd. Prior to that change port variables were usually type long. Closes https://github.com/curl/curl/pull/6553
* tool_writeout: refactor write-out and write-out jsonJay Satiro2021-02-097-416/+305
| | | | | | | | | | | | | | | | | | | | | - Deduplicate the logic used by write-out and write-out json. Rather than have separate writeLong, writeString, etc, logic for each of write-out and write-out json instead have respective shared functions that can output either format and a 'use_json' parameter to indicate whether it is json that is output. This will make it easier to maintain. Rather than have to go through two sets of logic now we only have to go through one. - Support write-out %{errormsg} and %{exitcode} in json. - Clarify in the doc that %{exitcode} is the exit code of the transfer. Prior to this change it just said "The numerical exitcode" which implies it's the exit code of the tool, and it's not necessarily that. Closes https://github.com/curl/curl/pull/6544
* lib: drop USE_SOCKETPAIR in favor of CURL_DISABLE_SOCKETPAIRJay Satiro2021-02-093-15/+11
| | | | | | .. since the former is undocumented and they both do the same thing. Closes https://github.com/curl/curl/pull/6517
* curl_multibyte: fall back to local code page stat/access on WindowsJay Satiro2021-02-091-31/+19
| | | | | | | | | | | | | | | If libcurl is built with Unicode support for Windows then it is assumed the filename string is Unicode in UTF-8 encoding and it is converted to UTF-16 to be passed to the wide character version of the respective function (eg wstat). However the filename string may actually be in the local encoding so, even if it successfully converted to UTF-16, if it could not be stat/accessed then try again using the local code page version of the function (eg wstat fails try stat). We already do this with fopen (ie wfopen fails try fopen), so I think it makes sense to extend it to stat and access functions. Closes https://github.com/curl/curl/pull/6514
* file: Support unicode urls on windowsStephan Szabo2021-02-096-1/+82
| | | | Closes https://github.com/curl/curl/pull/6501
* cmake: fix import library name for non-MS compiler on WindowsVincent Torri2021-02-091-2/+5
| | | | | | | | | | | | | | | | | | | | | - Use _imp.lib suffix only for Microsoft's compiler (MSVC). Prior to this change library suffix _imp.lib was used for the import library on Windows regardless of compiler. With this change the other compilers should now use their default suffix which should be .dll.a. This change is motivated by the usage of pkg-config on MSYS2. Indeed, when 'pkg-config --libs libcurl' is used, -lcurl is passed to ld. The documentation of ld on Windows : https://sourceware.org/binutils/docs/ld/WIN32.html lists, in the 'direct linking to a dll' section, the pattern of the searched import library, and libcurl_imp.lib is not there. Closes https://github.com/curl/curl/pull/6225
* urldata: move 'followlocation' to UrlStateDaniel Stenberg2021-02-093-6/+6
| | | | | | | As this is a state variable it does not belong in UserDefined which is used to store values set by the user. Closes #6582
* http_proxy: fix typo in http_proxy.cIkko Ashimine2021-02-091-1/+1
| | | | | | settting -> setting Closes #6583
* tests/server: Bump MAX_TAG_LEN to 200Fabian Keil2021-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful for tests containing HTML inside of <data> sections. For <img> tags it's not uncommon to be longer than the previous limit of 79 bytes. An example of a previously problem-causing tag is: <img src="http://config.privoxy.org/send-banner?type=auto" border="0" title="Killed-http://www.privoxy.org/images/privoxy.png-by-size" width="88" height="31"> which is needed for a Privoxy test for the banners-by-size filter. Previously it caused server failures like: 12:29:05.786961 ====> Client connect 12:29:05.787116 accept_connection 3 returned 4 12:29:05.787194 accept_connection 3 returned 0 12:29:05.787285 Read 119 bytes 12:29:05.787345 Process 119 bytes request 12:29:05.787407 Got request: GET /banners-by-size/9 HTTP/1.1 12:29:05.787464 Requested test number 9 part 0 12:29:05.787686 getpart() failed with error: -2 12:29:05.787744 - request found to be complete (9) 12:29:05.787912 getpart() failed with error: -2 12:29:05.788048 Wrote request (119 bytes) input to log/server.input 12:29:05.788157 Send response test9 section <data> 12:29:05.788443 getpart() failed with error: -2 12:29:05.788498 instructed to close connection after server-reply 12:29:05.788550 ====> Client disconnect 0 12:29:05.871448 exit_signal_handler: 15 12:29:05.871714 signalled to die 12:29:05.872040 ========> IPv4 sws (port 21108 pid: 51758) exits with signal (15)
* tests/badsymbols.pl: when opening '$incdir' fails include it in the error ↵Fabian Keil2021-02-091-1/+1
| | | | message
* runtests.1: document -o, -P, -L, and -EFabian Keil2021-02-091-1/+22
|
* runtests.pl: add %TESTNUMBER variable to make copying tests more convenientFabian Keil2021-02-094-5/+56
|
* runtests.pl: add an -o option to change internal variablesFabian Keil2021-02-091-0/+10
| | | | | | | | | runtests.pl has lots of internal variables one might want to change in certain situations, but adding a dedicated option for every single one of them isn't practical. Usage: ./runtests.pl -o TESTDIR=$privoxy_curl_test_dir -o HOSTIP=10.0.0.1 ...
* runtests.pl: cleanupsFabian Keil2021-02-091-27/+36
| | | | | | | | | | - show the summarized test result in the last line of the report - do not use $_ after mapping it to a named variable Doing that makes the code harder to follow. - log the restraints sorted by the number of their occurrences - fix language when logging restraints that only occured once - let runhttpserver() use $TESTDIR instead of $srcdir ... so it works if a non-default $TESTDIR is being used.
* runtests.pl: add an -E option to specify an exclude fileFabian Keil2021-02-094-1/+90
| | | | | | | | | | | | | | | | | | | | | It can contain additional restraints for test numbers, keywords and tools. The idea is to let third parties like the Privoxy project distribute an exclude file with their tarballs that specifies which curl tests are not expected to work when using Privoxy as a proxy, without having to fork the whole curl test suite. The syntax could be changed to be extendable and maybe more closely reflect the "curl test" syntax. Currently it's a bunch of lines like these: test:$TESTNUMBER:Reason why this test with number $TESTNUMBER should be skipped keyword:$KEYWORD:Reason why tests whose keywords contain the $KEYWORD should be skipped tool:$TOOL:Reason why tests with tools that contain $TOOL should be skipped To specify multiple $TESTNUMBERs, $KEYWORDs and $TOOLs on a single line, split them with commas.
* runtests.pl: add -L parameter to require additional perl librariesFabian Keil2021-02-093-1/+42
| | | | | | | | | | This is useful to change the behaviour of the script without having to modify the file itself, for example to use a custom compareparts() function that ignores header differences that are expected to occur when an external proxy is being used. Such differences are proxy-specific and thus the modifications should be maintained together with the proxy.
* runtests.pl: add a -P option to specify an external proxyFabian Keil2021-02-091-0/+35
| | | | | | | | | | | | ... that should be used when executing the tests. The assumption is that the proxy is an HTTP proxy. This option should be used together with -L to provide a customized compareparts() version that knows which proxy-specific header differences should be ignored. This option doesn't work for all test types yet.
* tests: fixup several testsFabian Keil2021-02-09430-779/+787
| | | | | | | | | | | | | | missing CRs and modified %hostip lib556/test556: use a real HTTP version to make test reuse more convenient make sure the weekday in Date headers matches the date test61: replace stray "^M" (5e 4d) at the end of a cookie with a '^M' (0d) Gets the test working with external proxies like Privoxy again. Closes #6463
* ftp: never set data->set.ftp_append outside setoptDaniel Stenberg2021-02-086-8/+8
| | | | | | | | | | Since the set value then risks getting used like that when the easy handle is reused by the application. Also: renamed the struct field from 'ftp_append' to 'remote_append' since it is also used for SSH protocols. Closes #6579
* urldata: remove the 'rtspversion' fieldDaniel Stenberg2021-02-082-6/+2
| | | | | | | from struct connectdata and the corresponding code in http.c that set it. It was never used for anything! Closes #6581
* CURLOPT_QUOTE.3: clarify that libcurl doesn't parse what's sentDaniel Stenberg2021-02-081-5/+12
| | | | | | | | ... so passed in commands may confuse libcurl's knowledge of state. Reported-by: Bodo Bergmann Fixes #6577 Closes #6580
* vtls: factor out Curl_ssl_getsock to field of Curl_sslJacob Hoffman-Andrews2021-02-0811-13/+29
| | | | Closes #6558
* RELEASE-PROCEDURE: remove old release dates, add newDaniel Stenberg2021-02-081-5/+6
|
* docs/SSL-PROBLEMS: enhancedDaniel Stenberg2021-02-051-3/+14
| | | | | | | Elaborate on the intermediate cert issue, and mention that anything below TLS 1.2 is generally considered insecure these days. Closes #6572
* THANKS: remove a Jon Rumsey dupeDaniel Stenberg2021-02-051-1/+0
|
* docs: fix FILE example url in --metalink documentationnimaje2021-02-052-2/+2
| | | | | | | | | In a url after <scheme>:// follows the possibly empty authority part till the next /, so that url missed a /. Closes #6573 Reviewed-by: Daniel Stenberg <daniel@haxx.se> Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
* hostip: fix build with sync resolverDaniel Stenberg2021-02-051-2/+10
| | | | | | | Reported-by: David Goerger Follow-up from 8335c6417 Fixes #6566 Closes #6568
* mailmap: Jon RumseyDaniel Stenberg2021-02-052-0/+2
|
* gskit: correct the gskit_send() prototypeJon Rumsey2021-02-051-1/+1
| | | | | | | | gskit_send() first paramater is a pointer to Curl_easy not connectdata struct. Closes #6570 Fixes #6569
* urldata: fix build without HTTP and MQTTDaniel Stenberg2021-02-042-7/+0
| | | | | | Reported-by: Joseph Chen Fixes #6562 Closes #6563
* ftp: avoid SIZE when asking for a TYPE A fileDaniel Stenberg2021-02-049-69/+18
| | | | | | | | | | | ... as we ignore it anyway because servers don't report the correct size and proftpd even blatantly returns a 550. Updates a set of tests accordingly. Reported-by: awesomenode on github Fixes #6564 Closes #6565
* pingpong: rename the curl_pp_transfer enum to use PP prefixDaniel Stenberg2021-02-045-33/+32
| | | | Using an FTP prefix for PP provided functionality was misleading.
* RELEASE-NOTES: syncedDaniel Stenberg2021-02-042-244/+15
| | | | ... and bump pending version to 7.75.1 (for now)
* build: fix --disable-http-authJay Satiro2021-02-041-1/+5
| | | | | | | | Broken since 215db08 (precedes 7.75.0). Reported-by: Benbuck Nason Fixes https://github.com/curl/curl/issues/6567
* build: fix --disable-dateparseJay Satiro2021-02-041-2/+2
| | | | | | | Broken since 215db08 (precedes 7.75.0). Bug: https://curl.se/mail/lib-2021-02/0008.html Reported-by: Firefox OS
* OS400: update for CURLOPT_AWS_SIGV4jonrumsey2021-02-043-4/+7
| | | | | | | | chkstrings fails because a new string option that could require codepage conversion has been added. Closes #6561 Fixes #6560
* BUG-BOUNTY: removed the cooperation mentionDaniel Stenberg2021-02-031-19/+0
|
* RELEASE-NOTES: syncedcurl-7_75_0Daniel Stenberg2021-02-031-14/+18
|