]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
5 years agoimap: make imap_send use dynbuf for the send buffer management
Daniel Stenberg [Thu, 24 Sep 2020 21:04:15 +0000 (23:04 +0200)] 
imap: make imap_send use dynbuf for the send buffer management

Reuses the buffer and thereby reduces number of mallocs over a transfer.

Closes #6010

5 years agoCurl_send: return error when pre_receive_plain can't malloc
Daniel Stenberg [Thu, 24 Sep 2020 22:12:10 +0000 (00:12 +0200)] 
Curl_send: return error when pre_receive_plain can't malloc

... will probably trigger some false DEAD CODE positives on non-windows
code analyzers for the conditional code.

Closes #6011

5 years agoftp: separate FTPS from FTP over "HTTPS proxy"
Daniel Stenberg [Mon, 21 Sep 2020 07:15:51 +0000 (09:15 +0200)] 
ftp: separate FTPS from FTP over "HTTPS proxy"

When using HTTPS proxy, SSL is used but not in the view of the FTP
protocol handler itself so separate the connection's use of SSL from the
FTP control connection's sue.

Reported-by: Mingtao Yang
Fixes #5523
Closes #6006

5 years agotests/data: Fix some mismatched XML tags in test cases
Dan Fandrich [Wed, 23 Sep 2020 21:53:08 +0000 (14:53 -0700)] 
tests/data: Fix some mismatched XML tags in test cases

This allows these test files to pass xmllint.

5 years agopingpong: use a dynbuf for the *_pp_sendf() function
Daniel Stenberg [Wed, 23 Sep 2020 07:22:02 +0000 (09:22 +0200)] 
pingpong: use a dynbuf for the *_pp_sendf() function

... reuses the same dynamic buffer instead of doing repeated malloc/free
cycles.

Test case 100 (FTP dir list PASV) does 7 fewer memory allocation calls
after this change in my test setup (132 => 125), curl 7.72.0 needed 140
calls for this.

Test case 103 makes 9 less allocations now (130). Down from 149 in
7.72.0.

Closes #6004

5 years agodynbuf: add Curl_dyn_vaddf
Daniel Stenberg [Wed, 23 Sep 2020 07:21:36 +0000 (09:21 +0200)] 
dynbuf: add Curl_dyn_vaddf

Closes #6004

5 years agodynbuf: make *addf() not require extra mallocs
Daniel Stenberg [Tue, 22 Sep 2020 15:28:34 +0000 (17:28 +0200)] 
dynbuf: make *addf() not require extra mallocs

... by introducing a printf() function that appends directly into a
dynbuf: Curl_dyn_vprintf(). This avoids the mandatory extra malloc so if
the buffer is already big enough it can just printf directly into it.

Since this less-malloc version requires tthe use of a library internal
printf function, we only provide this version when building libcurl and
not for the dynbuf code that is used when building the curl tool.

Closes #5998

5 years agoKNOWN_BUGS: Unable to use PKCS12 certificate with Secure Transport
Daniel Stenberg [Wed, 23 Sep 2020 06:50:52 +0000 (08:50 +0200)] 
KNOWN_BUGS: Unable to use PKCS12 certificate with Secure Transport

Closes #5403

5 years agopingpong: remove a malloc per Curl_pp_vsendf call
Daniel Stenberg [Tue, 22 Sep 2020 14:26:50 +0000 (16:26 +0200)] 
pingpong: remove a malloc per Curl_pp_vsendf call

This typically makes 7-9 fewer mallocs per FTP transfer.

Closes #5997

5 years agosymbian: drop support
Daniel Stenberg [Mon, 21 Sep 2020 12:28:40 +0000 (14:28 +0200)] 
symbian: drop support

The OS is deprecated. I see no traces of anyone having actually built
curl for Symbian after 2012.

The public headers are unmodified.

Closes #5989

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 22 Sep 2020 11:55:11 +0000 (13:55 +0200)] 
RELEASE-NOTES: synced

5 years agocurl_krb5.h: rename from krb5.h
Daniel Stenberg [Tue, 22 Sep 2020 09:22:34 +0000 (11:22 +0200)] 
curl_krb5.h: rename from krb5.h

Follow-up from f4873ebd0be32cf

Turns out some older openssl installations go bananas otherwise.
Reported-by: Tom van der Woerdt
Fixes #5995
Closes #5996

5 years agotest1297: verify GOT_NOTHING with http proxy tunnel
Daniel Stenberg [Tue, 22 Sep 2020 06:55:11 +0000 (08:55 +0200)] 
test1297: verify GOT_NOTHING with http proxy tunnel

5 years agohttp_proxy: do not count proxy headers in the header bytecount
Daniel Stenberg [Tue, 22 Sep 2020 06:49:48 +0000 (08:49 +0200)] 
http_proxy: do not count proxy headers in the header bytecount

... as that counter is subsequently used to detect if nothing was
returned from the peer. This made curl return CURLE_OK when it should
have returned CURLE_GOT_NOTHING.

Fixes #5992
Reported-by: Tom van der Woerdt
Closes #5994

5 years agosetopt: return CURLE_BAD_FUNCTION_ARGUMENT on bad argument
Daniel Stenberg [Mon, 21 Sep 2020 21:27:21 +0000 (23:27 +0200)] 
setopt: return CURLE_BAD_FUNCTION_ARGUMENT on bad argument

Fixed two return code mixups. CURLE_UNKNOWN_OPTION is saved for when the
option is, yeah, not known. Clarified this in the setopt man page too.

Closes #5993

5 years agokrb5: merged security.c and krb specific FTP functions in here
Daniel Stenberg [Mon, 21 Sep 2020 11:59:33 +0000 (13:59 +0200)] 
krb5: merged security.c and krb specific FTP functions in here

These two files were always tightly connected and it was hard to
understand what went into which. This also allows us to make the
ftpsend() function static (moved from ftp.c).

Removed security.c
Renamed curl_sec.h to krb5.h

Closes #5987

5 years agoCurl_handler: add 'family' to each protocol
Daniel Stenberg [Mon, 21 Sep 2020 11:45:24 +0000 (13:45 +0200)] 
Curl_handler: add 'family' to each protocol

Makes get_protocol_family() faster and it moves the knowledge about the
"families" to each protocol handler, where it belongs.

Closes #5986

5 years agoparsedate: tune the date to epoch conversion
Daniel Stenberg [Mon, 21 Sep 2020 10:55:38 +0000 (12:55 +0200)] 
parsedate: tune the date to epoch conversion

By avoiding an unnecessary error check and the temp use of the tm
struct, the time2epoch conversion function gets a little bit faster.
When repeating test 517, the updated version is perhaps 1% faster (on
one particular build on one particular architecture).

Closes #5985

5 years agocmake: remove scary warning
Daniel Stenberg [Sun, 20 Sep 2020 16:25:10 +0000 (18:25 +0200)] 
cmake: remove scary warning

Remove the text saying

"the curl cmake build system is poorly maintained. Be aware"

... not because anything changed just now, but to encourage users to use
it and subsequently improve it.

Closes #5984

5 years agodocs/MQTT: remove outdated paaragraphs
Daniel Stenberg [Mon, 21 Sep 2020 09:02:32 +0000 (11:02 +0200)] 
docs/MQTT: remove outdated paaragraphs

5 years agodocs/MQTT: not experimental anymore
Daniel Stenberg [Mon, 21 Sep 2020 08:59:26 +0000 (10:59 +0200)] 
docs/MQTT: not experimental anymore

Follow-up to e37e4468688d8f

5 years agodocs/RESOURCES: remove
Daniel Stenberg [Fri, 18 Sep 2020 12:42:50 +0000 (14:42 +0200)] 
docs/RESOURCES: remove

This document is not maintained and rather than trying to refresh it,
let's kill it. A more up-to-date document with relevant RFCs is this
page on the curl website: https://curl.haxx.se/rfc/

Closes #5980

5 years agodocs/TheArtOfHttpScripting: convert to markdown
Daniel Stenberg [Fri, 18 Sep 2020 13:09:12 +0000 (15:09 +0200)] 
docs/TheArtOfHttpScripting: convert to markdown

Makes it easier to browse on github etc. Offers (better) links.

It should be noted that this document is already mostly outdated and
"Everything curl" at https://ec.haxx.se/ is a better resource and
tutorial.

Closes #5981

5 years agoBUGS: convert document to markdown
Daniel Stenberg [Fri, 18 Sep 2020 11:44:57 +0000 (13:44 +0200)] 
BUGS: convert document to markdown

Closes #5979

5 years ago--help: strdup the category
Daniel Stenberg [Fri, 18 Sep 2020 06:09:09 +0000 (08:09 +0200)] 
--help: strdup the category

... since it is converted and the original pointer is freed on Windows
unicode handling.

Follow-up to aa8777f63febc
Fixes #5977
Closes #5978
Reported-by: xwxbug on github
5 years agoCHECKSRC: document two missing warnings
Daniel Stenberg [Fri, 18 Sep 2020 11:54:27 +0000 (13:54 +0200)] 
CHECKSRC: document two missing warnings

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 18 Sep 2020 06:34:46 +0000 (08:34 +0200)] 
RELEASE-NOTES: synced

5 years agoftp: avoid risk of reading uninitialized integers
Daniel Stenberg [Thu, 17 Sep 2020 14:16:38 +0000 (16:16 +0200)] 
ftp: avoid risk of reading uninitialized integers

If the received PASV response doesn't match the expected pattern, we
could end up reading uninitialized integers for IP address and port
number.

Issue pointed out by muse.dev
Closes #5972

5 years agoeasy_reset: clear retry counter
Quentin Balland [Thu, 17 Sep 2020 15:31:23 +0000 (17:31 +0200)] 
easy_reset: clear retry counter

Closes #5975
Fixes #5974

5 years agoftp: get rid of the PPSENDF macro
Daniel Stenberg [Thu, 17 Sep 2020 13:15:08 +0000 (15:15 +0200)] 
ftp: get rid of the PPSENDF macro

The use of such a macro hides some of what's actually going on to the
reader and is generally disapproved of in the project.

Closes #5971

5 years agoman pages: switch to https://example.com URLs
Daniel Stenberg [Wed, 16 Sep 2020 21:04:07 +0000 (23:04 +0200)] 
man pages: switch to https://example.com URLs

Since HTTPS is "the new normal", this update changes a lot of man page
examples to use https://example.com instead of the previous "http://..."

Closes #5969

5 years agogithub: remove the duplicate "Security vulnerability" entry
Daniel Stenberg [Thu, 17 Sep 2020 12:03:33 +0000 (14:03 +0200)] 
github: remove the duplicate "Security vulnerability" entry

... since github adds an entry automatically by itself.

Closes #5970

5 years agogithub: use new issue template feature
Emil Engler [Tue, 8 Sep 2020 06:50:16 +0000 (08:50 +0200)] 
github: use new issue template feature

This helps us to avoid getting feature requests as well as security
bugs reported into the issue tracker.

Closes #5936

5 years agourlapi: use more Curl_safefree
Emil Engler [Wed, 16 Sep 2020 19:33:27 +0000 (21:33 +0200)] 
urlapi: use more Curl_safefree

Closes #5968

5 years agomulti: align WinSock mask variables in Curl_multi_wait
Marc Hoersken [Sat, 12 Sep 2020 20:02:25 +0000 (22:02 +0200)] 
multi: align WinSock mask variables in Curl_multi_wait

Also skip pre-checking sockets to set timeout_ms to 0
after the first socket has been detected to be ready.

Reviewed-by: rcombs on github
Reviewed-by: Daniel Stenberg
Follow up to #5886

5 years agomulti: reuse WinSock events variable in Curl_multi_wait
Marc Hoersken [Sat, 12 Sep 2020 19:59:26 +0000 (21:59 +0200)] 
multi: reuse WinSock events variable in Curl_multi_wait

Since the struct is quite large (1 long and 10 ints) we
declare it once at the beginning of the function instead
of multiple times inside loops to avoid stack movements.

Reviewed-by: Viktor Szakats
Reviewed-by: Daniel Stenberg
Closes #5886

5 years agoTODO: dynamically decide to use socketpair
Daniel Stenberg [Wed, 16 Sep 2020 21:35:39 +0000 (23:35 +0200)] 
TODO: dynamically decide to use socketpair

Suggested-by: Anders Bakken
Closes #4829

5 years agoTODO: add PR reference for native IDN support on macOS
Daniel Stenberg [Wed, 16 Sep 2020 21:27:07 +0000 (23:27 +0200)] 
TODO: add PR reference for native IDN support on macOS

As there was work started on this that never got completed.

Closes #5371

5 years agotool_help.h: update copyright year range
Daniel Stenberg [Wed, 16 Sep 2020 21:08:20 +0000 (23:08 +0200)] 
tool_help.h: update copyright year range

Follow-up from aa8777f63febca

5 years agoCI/azure: disable test 571 in the msys2 builds
Daniel Stenberg [Tue, 15 Sep 2020 11:06:39 +0000 (13:06 +0200)] 
CI/azure: disable test 571 in the msys2 builds

It's just too flaky there

Reviewed-by: Marc Hoersken
Closes #5954

5 years agotool_writeout: protect fputs() from NULL
Daniel Stenberg [Tue, 15 Sep 2020 13:53:13 +0000 (15:53 +0200)] 
tool_writeout: protect fputs() from NULL

When the code was changed to do fputs() instead of fprintf() it got
sensitive for NULL pointers; add checks for that.

Follow-up from 0c1e767e83ec66

Closes #5963

5 years agotest3015: verify stdout "as text"
Daniel Stenberg [Tue, 15 Sep 2020 12:35:22 +0000 (14:35 +0200)] 
test3015: verify stdout "as text"

Follow-up from 0c1e767e83e to please win32 tests

Closes #5962

5 years agotravis: use libressl v3.1.4 instead of master
Daniel Stenberg [Tue, 15 Sep 2020 16:56:14 +0000 (18:56 +0200)] 
travis: use libressl v3.1.4 instead of master

... as their git master seems too fragile to use (and 3.2.1 which is the
latest has a build failure).

Closes #5964

5 years agotests/FILEFORMAT: document type=shell for <command>
Daniel Stenberg [Tue, 15 Sep 2020 13:42:56 +0000 (15:42 +0200)] 
tests/FILEFORMAT: document type=shell for <command>

5 years agotests/FILEFORMAT: document nonewline support for <file>
Daniel Stenberg [Tue, 15 Sep 2020 12:45:08 +0000 (14:45 +0200)] 
tests/FILEFORMAT: document nonewline support for <file>

The one in <client>, that creates files.

Follow-up from b83947c8df7

5 years agotool_writeout: add new writeout variable, %{num_headers}
anio [Wed, 9 Sep 2020 15:05:49 +0000 (15:05 +0000)] 
tool_writeout: add new writeout variable, %{num_headers}

This variable gives the number of headers.

Closes #5947

5 years agotool_urlglob: fix compiler warning "unreachable code"
Daniel Stenberg [Mon, 14 Sep 2020 22:31:18 +0000 (00:31 +0200)] 
tool_urlglob: fix compiler warning "unreachable code"

(On Windows builds.)

Follow-up to 70a3b003d9

5 years agovtls: deduplicate client certificates in ssl_config_data
Gergely Nagy [Mon, 29 Jun 2020 18:07:37 +0000 (20:07 +0200)] 
vtls: deduplicate client certificates in ssl_config_data

Closes #5629

5 years agoftp: a 550 response to SIZE returns CURLE_REMOTE_FILE_NOT_FOUND
Daniel Stenberg [Sat, 12 Sep 2020 16:27:08 +0000 (18:27 +0200)] 
ftp: a 550 response to SIZE returns CURLE_REMOTE_FILE_NOT_FOUND

This is primarily interesting for cases where CURLOPT_NOBODY is set as
previously curl would not return an error for this case.

MDTM getting 550 now also returns this error (it returned
CURLE_FTP_COULDNT_RETR_FILE before) in order to unify return codes for
missing files across protocols and specific FTP commands.

libcurl already returns error on a 550 as a MDTM response (when
CURLOPT_FILETIME is set). If CURLOPT_NOBODY is not set, an error would
happen subsequently anyway since the RETR command would fail.

Add test 1913 and 1914 to verify. Updated several tests accordingly due
to the updated SIZE behavior.

Reported-by: Tomas Berger
Fixes #5953
Closes #5957

5 years agocurl: make checkpasswd use dynbuf
Daniel Stenberg [Fri, 11 Sep 2020 09:20:07 +0000 (11:20 +0200)] 
curl: make checkpasswd use dynbuf

Closes #5952

5 years agocurl: make glob_match_url use dynbuf
Daniel Stenberg [Fri, 11 Sep 2020 09:01:24 +0000 (11:01 +0200)] 
curl: make glob_match_url use dynbuf

Closes #5952

5 years agocurl: make file2memory use dynbuf
Daniel Stenberg [Fri, 11 Sep 2020 08:54:35 +0000 (10:54 +0200)] 
curl: make file2memory use dynbuf

Closes #5952

5 years agocurl: make file2string use dynbuf
Daniel Stenberg [Fri, 11 Sep 2020 08:49:24 +0000 (10:49 +0200)] 
curl: make file2string use dynbuf

Closes #5952

5 years agoimap: set cselect_bits to CURL_CSELECT_IN initially
Antarpreet Singh [Thu, 7 May 2020 19:20:26 +0000 (00:50 +0530)] 
imap: set cselect_bits to CURL_CSELECT_IN initially

... when continuing a transfer from a FETCH response.

When the size of the file was small enough that the entirety of the
transfer happens in a single go and schannel buffers holds the entire
data. However, it wasn't completely read in Curl_pp_readresp since a
line break was found before that could happen. So, by the time we are in
imap_state_fetch_resp - there's data in buffers that needs to be read
via Curl_read but nothing to read from the socket. After we setup a
transfer (Curl_setup_transfer), curl just waits on the socket state to
change - which doesn't happen since no new data ever comes.

Closes #5961

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 14 Sep 2020 07:47:20 +0000 (09:47 +0200)] 
RELEASE-NOTES: synced

5 years agotest434: test -K use in a single line without newline
Daniel Stenberg [Sun, 13 Sep 2020 21:24:13 +0000 (23:24 +0200)] 
test434: test -K use in a single line without newline

Closes #5946

5 years agoruntests: allow creating files without newlines
Daniel Stenberg [Sun, 13 Sep 2020 21:23:44 +0000 (23:23 +0200)] 
runtests: allow creating files without newlines

Closes #5946

5 years agocurl: use curlx_dynbuf for realloc when loading config files
Daniel Stenberg [Wed, 9 Sep 2020 13:41:25 +0000 (15:41 +0200)] 
curl: use curlx_dynbuf for realloc when loading config files

... fixes an integer overflow at the same time.

Reported-by: ihsinme on github
Assisted-by: Jay Satiro
Closes #5946

5 years agodynbuf: provide curlx_ names for reuse by the curl tool
Daniel Stenberg [Wed, 9 Sep 2020 13:41:05 +0000 (15:41 +0200)] 
dynbuf: provide curlx_ names for reuse by the curl tool

Closes #5946

5 years agodynbuf: make sure Curl_dyn_tail() zero terminates
Daniel Stenberg [Sun, 13 Sep 2020 21:08:45 +0000 (23:08 +0200)] 
dynbuf: make sure Curl_dyn_tail() zero terminates

Closes #5959

5 years agotests: add test1912 to the dist
Daniel Stenberg [Sat, 12 Sep 2020 16:09:49 +0000 (18:09 +0200)] 
tests: add test1912 to the dist

Follow-up to 70984ce1be4cab6c

5 years agodocs/LICENSE-MIXING: remove
Daniel Stenberg [Fri, 11 Sep 2020 15:17:54 +0000 (17:17 +0200)] 
docs/LICENSE-MIXING: remove

This document is not maintained and I feel that it doesn't provide much
value to users anymore (if it ever did).

Closes #5955

5 years agohttp: consolidate nghttp2_session_mem_recv() call paths
Laramie Leavitt [Fri, 3 Jul 2020 20:10:27 +0000 (13:10 -0700)] 
http: consolidate nghttp2_session_mem_recv() call paths

Previously there were several locations that called
nghttp2_session_mem_recv and handled responses slightly differently.
Those have been converted to call the existing
h2_process_pending_input() function.

Moved the end-of-session check to h2_process_pending_input() since the
only place the end-of-session state can change is after nghttp2
processes additional input frames.

This will likely fix the fuzzing error. While I don't have a root cause
the out-of-bounds read seems like a use after free, so moving the
nghttp2_session_check_request_allowed() call to a location with a
guaranteed nghttp2 session seems reasonable.

Also updated a few nghttp2 callsites to include error messages and added
a few additional error checks.

Closes #5648

5 years agoHISTORY: mention alt-svc added in 2019
Daniel Stenberg [Thu, 10 Sep 2020 15:39:15 +0000 (17:39 +0200)] 
HISTORY: mention alt-svc added in 2019

... and make 1996 the first year subtitle

5 years agobase64: also build for pop3 and imap
Daniel Stenberg [Wed, 9 Sep 2020 20:32:17 +0000 (22:32 +0200)] 
base64: also build for pop3 and imap

Follow-up to the fix in 20417a13fb8f83

Reported-by: Michael Olbrich
Fixes #5937
Closes #5948

5 years agobase64: enable in build with SMTP
Daniel Stenberg [Tue, 8 Sep 2020 07:23:09 +0000 (09:23 +0200)] 
base64: enable in build with SMTP

The oauth2 support is used with SMTP and it uses base64 functions.

Reported-by: Michael Olbrich
Fixes #5937
Closes #5938

5 years agocurl_mime_headers.3: fix the example's use of curl_slist_append
Daniel Stenberg [Tue, 8 Sep 2020 15:25:27 +0000 (17:25 +0200)] 
curl_mime_headers.3: fix the example's use of curl_slist_append

Reported-by: sofaboss on github
Fixes #5942
Closes #5943

5 years agolib583: fix enum mixup
Daniel Stenberg [Tue, 8 Sep 2020 20:47:17 +0000 (22:47 +0200)] 
lib583: fix enum mixup

grrr the previous follow-up to 17fcdf6a31 was wrong

5 years agolibtest: fix build errors
Daniel Stenberg [Tue, 8 Sep 2020 15:37:25 +0000 (17:37 +0200)] 
libtest: fix build errors

Follow-up from 17fcdf6a310d4c8076

5 years agolib: fix -Wassign-enum warnings
Daniel Stenberg [Mon, 7 Sep 2020 08:52:48 +0000 (10:52 +0200)] 
lib: fix -Wassign-enum warnings

configure --enable-debug now enables -Wassign-enum with clang,
identifying several enum "abuses" also fixed.

Reported-by: Gisle Vanem
Bug: https://github.com/curl/curl/commit/879007f8118771f4896334731aaca5850a154675#commitcomment-42087553

Closes #5929

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 8 Sep 2020 06:16:12 +0000 (08:16 +0200)] 
RELEASE-NOTES: synced

5 years agourl: use blank credentials when using proxy w/o username and password
Diven Qi [Mon, 7 Sep 2020 09:30:04 +0000 (17:30 +0800)] 
url: use blank credentials when using proxy w/o username and password

Fixes proxy regression brought in commit ad829b21ae (7.71.0)

Fixed #5911
Closes #5914

5 years agotravis: add a build using libressl (from git master)
Daniel Stenberg [Mon, 7 Sep 2020 09:28:13 +0000 (11:28 +0200)] 
travis: add a build using libressl (from git master)

The v3.2.1 tag (latest release atm) results in a broken build.

Closes #5932

5 years agoconfigure: let --enable-debug set -Wenum-conversion with gcc >= 10
Daniel Stenberg [Mon, 7 Sep 2020 09:03:30 +0000 (11:03 +0200)] 
configure: let --enable-debug set -Wenum-conversion with gcc >= 10

Unfortunately, this option is not detecting the same issues as clang's
-Wassign-enum flag, but should still be useful to detect future
mistakes.

Closes #5930

5 years agoopenssl: consider ALERT_CERTIFICATE_EXPIRED a failed verification
Daniel Stenberg [Mon, 7 Sep 2020 14:20:16 +0000 (16:20 +0200)] 
openssl: consider ALERT_CERTIFICATE_EXPIRED a failed verification

If the error reason from the lib is
SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED, libcurl will return
CURLE_PEER_FAILED_VERIFICATION and not CURLE_SSL_CONNECT_ERROR.

This unifies the libcurl return code and makes libressl run test 313
(CRL testing) fine.

Closes #5934

5 years agoFAQ: refreshed some very old language
Daniel Stenberg [Mon, 7 Sep 2020 15:08:07 +0000 (17:08 +0200)] 
FAQ: refreshed some very old language

5 years agocmake: make HTTP_ONLY also disable MQTT
Daniel Stenberg [Mon, 7 Sep 2020 09:08:35 +0000 (11:08 +0200)] 
cmake: make HTTP_ONLY also disable MQTT

... and alphasort the order of disabling protocols to make it easier to
browse.

Closes #5931

5 years agolibtest: remove lib1541 leftovers
Daniel Stenberg [Mon, 7 Sep 2020 08:46:55 +0000 (10:46 +0200)] 
libtest: remove lib1541 leftovers

Caused automake errors.

Follow-up to 8ca54a03ea08a

5 years agotests/libtests: remove test 1900 and 2033
Daniel Stenberg [Mon, 7 Sep 2020 08:29:40 +0000 (10:29 +0200)] 
tests/libtests: remove test 1900 and 2033

We already remove the test files, now remove the libtest codes as well.

Follow-up to e50a877df74

5 years agoCI/azure: add test number to title for display in analytics
Marc Hoersken [Sun, 6 Sep 2020 19:27:41 +0000 (21:27 +0200)] 
CI/azure: add test number to title for display in analytics

To ease identification of tests the test number is added to
the test case title in order to have it on the Azure DevOps
Analytics pages and reports which currently do not show it.

Bump test case revision to make Azure DevOps update titles.

Closes #5927

5 years agoaltsvc: clone setting in curl_easy_duphandle 5923/head
Daniel Stenberg [Sat, 5 Sep 2020 19:21:26 +0000 (21:21 +0200)] 
altsvc: clone setting in curl_easy_duphandle

The cache content is not duplicated, like other caches, but the setting
and specified file name are.

Test 1908 is extended to verify this somewhat. Since the duplicated
handle gets the same file name, the test unfortunately overwrites the
same file twice (with different contents) which makes it hard to check
automatically.

Closes #5923

5 years agotest1541: remove since it is a known bug
Daniel Stenberg [Sat, 5 Sep 2020 18:30:26 +0000 (20:30 +0200)] 
test1541: remove since it is a known bug

A shared connection cache is not thread-safe is a known issue. Stop
testing this until we believe this issue is addressed. Reduces
occasional test failures we don't care about.

The test code in lib1541.c is left in git to allow us to restore it when
we get to fix this.

Closes #5922

5 years agotests: remove pipelining tests
Daniel Stenberg [Sat, 5 Sep 2020 16:42:29 +0000 (18:42 +0200)] 
tests: remove pipelining tests

Remove the tests 530, 584, 1900, 1901, 1902, 1903 and 2033. They were
previously disabled.

The Pipelining code was removed from curl in commit 2f44e94efb3df8e,
April 2019.

Closes #5921

5 years agocurl: retry delays in parallel mode no longer sleeps blocking
Daniel Stenberg [Sat, 5 Sep 2020 15:44:24 +0000 (17:44 +0200)] 
curl: retry delays in parallel mode no longer sleeps blocking

The previous sleep for retries would block all other concurrent
transfers. Starting now, the retry will instead be properly marked to
not get restarted until after the delay time but other transfers can
still continue in the mean time.

Closes #5917

5 years agocurl:parallel_transfers: make sure retry readds the transfer
Daniel Stenberg [Sat, 5 Sep 2020 15:04:03 +0000 (17:04 +0200)] 
curl:parallel_transfers: make sure retry readds the transfer

Reported-by: htasta on github
Fixes #5905
Closes #5917

5 years agobuild: drop support for building with Watcom
Daniel Stenberg [Sat, 5 Sep 2020 15:51:26 +0000 (17:51 +0200)] 
build: drop support for building with Watcom

These files are not maintained, they seem to have no users, Watcom
compilers look like not having users nor releases anymore.

Closes #5918

5 years agowinbuild/rundebug.cmd: remove
Daniel Stenberg [Sat, 5 Sep 2020 15:58:28 +0000 (17:58 +0200)] 
winbuild/rundebug.cmd: remove

Seems to have been added by mistake? Not included in dists.

Closes #5919

5 years agocurl: in retry output don't call all problems "transient"
Daniel Stenberg [Sat, 5 Sep 2020 13:46:55 +0000 (15:46 +0200)] 
curl: in retry output don't call all problems "transient"

... because when --retry-all-errors is used, the error isn't necessarily
transient at all.

Closes #5916

5 years agoeasygetopt: pass a valid enum to avoid compiler warning
Daniel Stenberg [Sat, 5 Sep 2020 10:52:03 +0000 (12:52 +0200)] 
easygetopt: pass a valid enum to avoid compiler warning

"integer constant not in range of enumerated type 'CURLoption'"

Reported-by: Gisle Vanem
Bug: https://github.com/curl/curl/commit/6ebe63fac23f38df911edc348e8ccc72280f9434#commitcomment-42042843

Closes #5915

5 years agotests: Add tests for new --help
Emil Engler [Tue, 14 Jul 2020 08:32:22 +0000 (10:32 +0200)] 
tests: Add tests for new --help

This commit is a part of "--help me if you can"

Closes #5680

5 years agotool: update --help with categories
Emil Engler [Wed, 2 Sep 2020 18:11:20 +0000 (20:11 +0200)] 
tool: update --help with categories

This commit is a part of "--help me if you can"

Closes #5680

5 years agodocs: add categories to all cmdline opts
Emil Engler [Mon, 13 Jul 2020 12:15:04 +0000 (14:15 +0200)] 
docs: add categories to all cmdline opts

Adapted gen.pl with 'listcats'

This commit is a part of "--help me if you can"

Closes #5680

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 4 Sep 2020 12:34:40 +0000 (14:34 +0200)] 
RELEASE-NOTES: synced

5 years agoconnect.c: remove superfluous 'else' in Curl_getconnectinfo
ihsinme [Fri, 4 Sep 2020 11:23:14 +0000 (14:23 +0300)] 
connect.c: remove superfluous 'else' in Curl_getconnectinfo

Closes #5912

5 years agoCMake: remove explicit `CMAKE_ANSI_CFLAGS`
Samuel Marks [Thu, 21 May 2020 10:21:50 +0000 (20:21 +1000)] 
CMake: remove explicit `CMAKE_ANSI_CFLAGS`

This variable was removed from cmake in commit
https://gitlab.kitware.com/cmake/cmake/commit/5a834b0bb0bc288. A later
CMake commit removes the variable from the tests, claiming that it was
removed in CMake 2.6

Reviewed-By: Peter Wu
Closes #5439

5 years agolibssh2: pass on the error from ssh_force_knownhost_key_type
cbe [Thu, 3 Sep 2020 13:52:54 +0000 (15:52 +0200)] 
libssh2: pass on the error from ssh_force_knownhost_key_type

Closes #5909

5 years agoscripts/delta: add diffstat summary
Daniel Stenberg [Thu, 3 Sep 2020 06:18:32 +0000 (08:18 +0200)] 
scripts/delta: add diffstat summary

... and make output more table-like

5 years agohttp_proxy: do not crash with HTTPS_PROXY and NO_PROXY set
Martin Bašti [Thu, 27 Aug 2020 21:09:56 +0000 (23:09 +0200)] 
http_proxy: do not crash with HTTPS_PROXY and NO_PROXY set

... in case NO_PROXY takes an effect

Without this patch, the following command crashes:

    $ GIT_CURL_VERBOSE=1 NO_PROXY=github.com HTTPS_PROXY=https://example.com \
        git clone https://github.com/curl/curl.git

Minimal libcurl-based reproducer:

    #include <curl/curl.h>

    int main() {
      CURL *curl = curl_easy_init();
      if(curl) {
        CURLcode ret;
        curl_easy_setopt(curl, CURLOPT_URL, "https://github.com/");
        curl_easy_setopt(curl, CURLOPT_PROXY, "example.com");
        /* set the proxy type */
        curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTPS);
        curl_easy_setopt(curl, CURLOPT_NOPROXY, "github.com");
        curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
        ret = curl_easy_perform(curl);
        curl_easy_cleanup(curl);
        return ret;
      }
      return -1;
    }

Assisted-by: Kamil Dudka
Bug: https://bugzilla.redhat.com/1873327
Closes #5902

5 years agotravis: add a CI job with openssl3 (from git master)
Daniel Stenberg [Wed, 2 Sep 2020 13:48:18 +0000 (15:48 +0200)] 
travis: add a CI job with openssl3 (from git master)

Closes #5908

5 years agoopenssl: avoid error conditions when importing native CA
Daniel Stenberg [Wed, 2 Sep 2020 13:26:09 +0000 (15:26 +0200)] 
openssl: avoid error conditions when importing native CA

The code section that is OpenSSL 3+ specific now uses the same logic as
is used in the version < 3 section. It caused a compiler error without
it.

Closes #5907