]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
4 years agoconfigure: set -Wextra-semi-stmt for clang with --enable-debug
Daniel Stenberg [Sat, 26 Dec 2020 15:41:09 +0000 (16:41 +0100)] 
configure: set -Wextra-semi-stmt for clang with --enable-debug

To have it properly complain on empty statements with no effect.

Ref: #6376
Closes #6378

4 years agotests/unit: fix empty statements with no effect
Daniel Stenberg [Tue, 29 Dec 2020 16:21:24 +0000 (17:21 +0100)] 
tests/unit: fix empty statements with no effect

... by making macros use "do {} while(0)"

4 years agodns: extend CURLOPT_RESOLVE syntax for adding non-permanent entries
Paul Groke [Thu, 10 Dec 2020 16:38:14 +0000 (17:38 +0100)] 
dns: extend CURLOPT_RESOLVE syntax for adding non-permanent entries

Extend the syntax of CURLOPT_RESOLVE strings: allow using a '+' prefix
(similar to the existing '-' prefix for removing entries) to add
DNS cache entries that will time out just like entries that are added
by libcurl itself.

Append " (non-permanent)" to info log message in case a non-permanent
entry is added.

Adjust relevant comments to reflect the new behavior.

Adjust documentation.

Extend unit1607 to test the new functionality.

Closes #6294

4 years agoschannel: fix "empty expression statement has no effect"
Daniel Stenberg [Sun, 27 Dec 2020 10:05:15 +0000 (11:05 +0100)] 
schannel: fix "empty expression statement has no effect"

Bug: https://github.com/curl/curl/commit/8ab78f720ae478d533e30b202baec4b451741579#commitcomment-45445950
Reported-by: Gisle Vanem
Closes #6381

4 years agodocs: remove redundant "better" in --fail help
Denis Laxalde [Tue, 29 Dec 2020 09:44:35 +0000 (10:44 +0100)] 
docs: remove redundant "better" in --fail help

Closes #6385

4 years agocurl.1: fix typo microsft -> microsoft
Kevin Ushey [Sun, 27 Dec 2020 04:19:55 +0000 (20:19 -0800)] 
curl.1: fix typo microsft -> microsoft

Closes #6380

4 years agomisc: assorted typo fixes
XhmikosR [Fri, 25 Dec 2020 05:52:59 +0000 (07:52 +0200)] 
misc: assorted typo fixes

Closes #6375

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sat, 26 Dec 2020 22:53:37 +0000 (23:53 +0100)] 
RELEASE-NOTES: synced

4 years agotool_operate: avoid NULL dereference of first_arg
Daniel Stenberg [Sat, 26 Dec 2020 15:20:54 +0000 (16:20 +0100)] 
tool_operate: avoid NULL dereference of first_arg

Follow-up to 6a5e020d4d2b04a
Identified by OSS-Fuzz
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28999
Closes #6377

4 years agomisc: fix "warning: empty expression statement has no effect"
Daniel Stenberg [Sat, 26 Dec 2020 14:43:25 +0000 (15:43 +0100)] 
misc: fix "warning: empty expression statement has no effect"

Turned several macros into do-while(0) style to allow their use to work
find with semicolon.

Bug: https://github.com/curl/curl/commit/08e8455dddc5e48e58a12ade3815c01ae3da3b64#commitcomment-45433279
Follow-up to 08e8455dddc5e4
Reported-by: Gisle Vanem
Closes #6376

4 years agoKNOWN_BUGS: 6.10 curl never completes Negotiate over HTTP
Daniel Stenberg [Fri, 25 Dec 2020 16:16:19 +0000 (17:16 +0100)] 
KNOWN_BUGS: 6.10 curl never completes Negotiate over HTTP

Closes #5235
Closes #6370

4 years agowriteout: fix NULL dereference for "this url"
Daniel Stenberg [Fri, 25 Dec 2020 22:59:31 +0000 (23:59 +0100)] 
writeout: fix NULL dereference for "this url"

Detected by torture test 1029

Follow-up to 7a90ddf88f5a

Closes #6374

4 years agofailf: remove newline from formatting strings
Daniel Stenberg [Wed, 23 Dec 2020 22:41:13 +0000 (23:41 +0100)] 
failf: remove newline from formatting strings

... as failf adds one itself.

Also: add an assert() to failf() that triggers on a newline in the
format string!

Closes #6365

4 years agoCI: fix warning with the latest versions
XhmikosR [Fri, 25 Dec 2020 05:40:57 +0000 (07:40 +0200)] 
CI: fix warning with the latest versions

`git checkout HEAD^2` is no longer needed

Closes #6369

4 years agoINSTALL: update the list known OSes and CPU archs curl has run on
Daniel Stenberg [Wed, 23 Dec 2020 23:13:09 +0000 (00:13 +0100)] 
INSTALL: update the list known OSes and CPU archs curl has run on

Closes #6366

4 years agocurl: fix handling of -q option
Cherish98 [Wed, 23 Dec 2020 12:59:00 +0000 (12:59 +0000)] 
curl: fix handling of -q option

The match of the "-q" option (short for "--disable") should:
a) allow concatenation with other single-letters; and
b) be case-sensitive, lest confusing with "-Q" ("--quote")

Closes #6364

4 years agotests/badsymbols.pl: ignore stand-alone single hash lines
Daniel Stenberg [Mon, 21 Dec 2020 21:49:42 +0000 (22:49 +0100)] 
tests/badsymbols.pl: ignore stand-alone single hash lines

Bug: https://curl.se/mail/lib-2020-12/0084.html
Reported-by: Dennis Clarke
Assisted-by: Jay Satiro
Closes #6355

4 years agocurl_easy_pause.3: add multiplexed pause effects
Daniel Stenberg [Tue, 22 Dec 2020 15:08:43 +0000 (16:08 +0100)] 
curl_easy_pause.3: add multiplexed pause effects

and generally refresh and update. Remove details for ancient versions.

Reviewed-by: Jay Satiro
Closes #6360

4 years agocurl_easy_pause.3: fix man page reference
Jay Satiro [Tue, 22 Dec 2020 21:51:19 +0000 (16:51 -0500)] 
curl_easy_pause.3: fix man page reference

Follow-up to ac9a724 from earlier today.

Ref: https://github.com/curl/curl/pull/6359

4 years agoEXPERIMENTAL: add the Hyper backend to the list
Daniel Stenberg [Tue, 22 Dec 2020 16:17:37 +0000 (17:17 +0100)] 
EXPERIMENTAL: add the Hyper backend to the list

... of current experimental features in curl.

4 years agospeedcheck: exclude paused transfers
Daniel Stenberg [Tue, 22 Dec 2020 08:54:06 +0000 (09:54 +0100)] 
speedcheck: exclude paused transfers

Paused transfers should not be stopped due to slow speed even when
CURLOPT_LOW_SPEED_LIMIT is set. Additionally, the slow speed timer is
now reset when the transfer is unpaused - as otherwise it would easily
just trigger immediately after unpausing.

Reported-by: Harry Sintonen
Fixes #6358
Closes #6359

4 years agoh2: do not wait for RECV on paused transfers
Daniel Stenberg [Tue, 22 Dec 2020 08:09:46 +0000 (09:09 +0100)] 
h2: do not wait for RECV on paused transfers

... as the socket might be readable all the time when paused and thus
causing a busy-loop.

Reported-by: Harry Sintonen
Reviewed-by: Jay Satiro
Fixes #6356
Closes #6357

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 21 Dec 2020 22:06:29 +0000 (23:06 +0100)] 
RELEASE-NOTES: synced

4 years agocmdline-opts/gen.pl: return hard on errors
Daniel Stenberg [Mon, 21 Dec 2020 14:30:56 +0000 (15:30 +0100)] 
cmdline-opts/gen.pl: return hard on errors

... as the warnings tend to go unnoticed otherwise!

Closes #6354

4 years agoexamples/libtest: add .checksrc to dist
Daniel Stenberg [Mon, 21 Dec 2020 08:40:25 +0000 (09:40 +0100)] 
examples/libtest: add .checksrc to dist

... so that (auto)builds from tarballs also get the correct instructions.

Fixes #6176
Closes #6353

4 years agotest: verify new --write-out variables
Daniel Stenberg [Sun, 20 Dec 2020 22:00:13 +0000 (23:00 +0100)] 
test: verify new --write-out variables

Extended test 1029 and added 1188

4 years agotest970: adapted to the new internal order of variables
Daniel Stenberg [Mon, 14 Dec 2020 09:09:51 +0000 (10:09 +0100)] 
test970: adapted to the new internal order of variables

4 years agocurl: add variables to --write-out
Daniel Stenberg [Mon, 14 Dec 2020 09:09:51 +0000 (10:09 +0100)] 
curl: add variables to --write-out

In particular, these ones can help a user to create its own error
message when one or transfers fail.

writeout: add 'onerror', 'url', 'urlnum', 'exitcode', 'errormsg'

onerror - lets a user only show the rest on non-zero exit codes

url - the input URL used for this transfer

urlnum - the numerical URL counter (0 indexed) for this transfer

exitcode - the numerical exit code for the transfer

errormsg - obvious

Reported-by: Earnestly on github
Fixes #6199
Closes #6207

4 years agotests: add very simple AWS HTTP v4 Signature test
Matthias Gatto [Fri, 10 Jul 2020 15:03:06 +0000 (17:03 +0200)] 
tests: add very simple AWS HTTP v4 Signature test

Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
4 years agodocs: add AWS HTTP v4 Signature
Matthias Gatto [Fri, 3 Jul 2020 12:50:06 +0000 (14:50 +0200)] 
docs: add AWS HTTP v4 Signature

4 years agotool: add AWS HTTP v4 Signature support
Matthias Gatto [Thu, 9 Jul 2020 10:04:55 +0000 (12:04 +0200)] 
tool: add AWS HTTP v4 Signature support

Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
4 years agohttp: Make the call to v4 signature
Matthias Gatto [Tue, 21 Jan 2020 16:33:51 +0000 (17:33 +0100)] 
http: Make the call to v4 signature

This patch allow to call the v4 signature introduce in previous commit

Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
4 years agohttp: introduce AWS HTTP v4 Signature
Matthias Gatto [Thu, 9 Jul 2020 11:58:37 +0000 (13:58 +0200)] 
http: introduce AWS HTTP v4 Signature

It is a security process for HTTP.

It doesn't seems to be standard, but it is used by some cloud providers.

Aws:
https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
Outscale:
https://wiki.outscale.net/display/EN/Creating+a+Canonical+Request
GCP (I didn't test that this code work with GCP though):
https://cloud.google.com/storage/docs/access-control/signing-urls-manually

most of the code is in lib/http_v4_signature.c

Information require by the algorithm:
- The URL
- Current time
-  some prefix that are append to some of the signature parameters.

The data extracted from the URL are: the URI, the region,
the host and the API type

example:
https://api.eu-west-2.outscale.com/api/latest/ReadNets
        ~~~ ~~~~~~~~               ~~~~~~~~~~~~~~~~~~~
        ^       ^                          ^
       /         \                        URI
   API type     region

Small description of the algorithm:
- make canonical header using content type, the host, and the date
- hash the post data
- make canonical_request using custom request, the URI,
  the get data, the canonical header, the signed header
  and post data hash
- hash canonical_request
- make str_to_sign using one of the prefix pass in parameter,
  the date, the credential scope and the canonical_request hash
- compute hmac from date, using secret key as key.
- compute hmac from region, using above hmac as key
- compute hmac from api_type, using above hmac as key
- compute hmac from request_type, using above hmac as key
- compute hmac from str_to_sign using above hmac as key
- create Authorization header using above hmac, prefix pass in parameter,
  the date, and above hash

Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
Closes #5703

4 years agohttp: add hmac support for sha256
Matthias Gatto [Fri, 3 Jul 2020 13:12:57 +0000 (15:12 +0200)] 
http: add hmac support for sha256

It seems current hmac implementation use md5 for the hash,
V4 signature require sha256, so I've added the needed struct in
this commit.

I've added the functions that do the hmac in v4 signature file
as a static function ,in the next patch of the serie,
because it's used only by this file.

Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
4 years agoconnect: on linux, enable reporting of all ICMP errors on UDP sockets
Cristian Rodríguez [Thu, 17 Dec 2020 14:27:03 +0000 (11:27 -0300)] 
connect: on linux, enable reporting of all ICMP errors on UDP sockets

The linux kernel does not report all ICMP errors back to userspace due
to historical reasons.

IP*_RECVERR sockopt must be turned on to have the correct behaviour
which is to pass all ICMP errors to userspace.

See https://bugzilla.kernel.org/show_bug.cgi?id=202355

Closes #6341

4 years agocurl: add --create-file-mode [mode]
Daniel Stenberg [Sun, 20 Dec 2020 17:44:20 +0000 (18:44 +0100)] 
curl: add --create-file-mode [mode]

This option sets the (octal) mode to use for the remote file when one is
created, using the SFTP, SCP or FILE protocols. When not set, the
default is 0644.

Closes #6244

4 years agoc-hyper: fix compiler warnings
Daniel Stenberg [Sun, 20 Dec 2020 17:33:54 +0000 (18:33 +0100)] 
c-hyper: fix compiler warnings

Identified by clang on windows.

Reported-by: Gisle Vanem
Bug: 58974d25d8173aec154e593ed9d866da566c9811

Closes #6351

4 years agoKNOWN_BUGS: Remote recursive folder creation with SFTP
Daniel Stenberg [Sun, 20 Dec 2020 21:49:36 +0000 (22:49 +0100)] 
KNOWN_BUGS: Remote recursive folder creation with SFTP

Closes #5204

4 years agobadsymbols.pl: Add verbose mode -v
Jay Satiro [Sun, 20 Dec 2020 07:48:07 +0000 (02:48 -0500)] 
badsymbols.pl: Add verbose mode -v

Use -v as the first option to enable verbose mode which will show source
input, extracted symbol and line info. For example:

Source: ./../include/curl/typecheck-gcc.h
Symbol: curlcheck_socket_info(info)
Line #423: #define curlcheck_socket_info(info)                     \

Ref: https://curl.se/mail/lib-2020-12/0084.html

Closes https://github.com/curl/curl/pull/6349

4 years agoKNOWN_BUGS: Secure Transport disabling hostname validation also disables SNI
Jay Satiro [Sat, 19 Dec 2020 22:40:03 +0000 (17:40 -0500)] 
KNOWN_BUGS: Secure Transport disabling hostname validation also disables SNI

That behavior is a limitation of Apple's Secure Transport.

Reported-by: Cory Benfield
Reported-by: Ian Spence
Confirmed-by: Nick Zitzmann
Ref: https://github.com/curl/curl/issues/998

Closes https://github.com/curl/curl/issues/6347
Closes https://github.com/curl/curl/pull/6348

4 years agoTODO: alt-svc should fallback if alt-svc doesn't work
Daniel Stenberg [Fri, 18 Dec 2020 22:39:22 +0000 (23:39 +0100)] 
TODO: alt-svc should fallback if alt-svc doesn't work

Closes #4908

4 years agotravis: restrict the openssl3 job to only run https and ftps tests
Daniel Stenberg [Fri, 18 Dec 2020 14:59:56 +0000 (15:59 +0100)] 
travis: restrict the openssl3 job to only run https and ftps tests

... as it runs too long otherwise and the other tests are verified in
other builds anyway.

Closes #6345

4 years agobuild: repair http disabled but mqtt enabled build
Daniel Stenberg [Fri, 18 Dec 2020 12:18:14 +0000 (13:18 +0100)] 
build: repair http disabled but mqtt enabled build

... as the mqtt code reuses the "method" originally used for HTTP.

Closes #6344

4 years agocookie: avoid the C1001 internal compiler error with MSVC 14
Jon Wilkes [Tue, 27 Oct 2020 19:47:57 +0000 (12:47 -0700)] 
cookie: avoid the C1001 internal compiler error with MSVC 14

Fixes #6112
Closes #6135

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 18 Dec 2020 12:02:40 +0000 (13:02 +0100)] 
RELEASE-NOTES: synced

4 years agomqtt: handle POST/PUBLISH without a set POSTFIELDSIZE
Daniel Stenberg [Thu, 17 Dec 2020 12:34:38 +0000 (13:34 +0100)] 
mqtt: handle POST/PUBLISH without a set POSTFIELDSIZE

Detected by OSS-Fuzz
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28735

Added test 1916 and 1917 to verify.

Closes #6338

4 years agotravis: add CI job for Hyper build
Daniel Stenberg [Mon, 14 Dec 2020 13:10:33 +0000 (14:10 +0100)] 
travis: add CI job for Hyper build

4 years agotests: updated tests for Hyper
Daniel Stenberg [Mon, 14 Dec 2020 13:10:33 +0000 (14:10 +0100)] 
tests: updated tests for Hyper

4 years agolib: introduce c-hyper for using Hyper
Daniel Stenberg [Mon, 14 Dec 2020 13:10:33 +0000 (14:10 +0100)] 
lib: introduce c-hyper for using Hyper

... as an alternative HTTP backend within libcurl.

4 years agotool_setopt: provide helper output in debug builds
Daniel Stenberg [Mon, 14 Dec 2020 13:10:33 +0000 (14:10 +0100)] 
tool_setopt: provide helper output in debug builds

... for when setopt() returns error.

4 years agosetopt: adjust to Hyper and disabled HTTP builds
Daniel Stenberg [Mon, 14 Dec 2020 13:10:33 +0000 (14:10 +0100)] 
setopt: adjust to Hyper and disabled HTTP builds

4 years agortsp: disable if Hyper is used
Daniel Stenberg [Mon, 14 Dec 2020 13:10:33 +0000 (14:10 +0100)] 
rtsp: disable if Hyper is used

4 years agogetinfo: build with disabled HTTP support
Daniel Stenberg [Mon, 14 Dec 2020 13:10:33 +0000 (14:10 +0100)] 
getinfo: build with disabled HTTP support

4 years agoversion: include hyper version
Daniel Stenberg [Mon, 14 Dec 2020 13:10:33 +0000 (14:10 +0100)] 
version: include hyper version

4 years agodocs: add HYPER.md
Daniel Stenberg [Mon, 14 Dec 2020 13:10:32 +0000 (14:10 +0100)] 
docs: add HYPER.md

4 years agoconfigure: add --with-hyper
Daniel Stenberg [Mon, 14 Dec 2020 13:10:32 +0000 (14:10 +0100)] 
configure: add --with-hyper

As the first (optional) HTTP backend alternative instead of native

Close #6110

4 years agotest1522: add debug tracing
Daniel Stenberg [Wed, 16 Dec 2020 09:39:41 +0000 (10:39 +0100)] 
test1522: add debug tracing

I used this to track down some issues and I figured I could just as well
keep this extra logging in here for future needs.

Closes #6331

4 years agohttp: show the request as headers even when split-sending
Daniel Stenberg [Tue, 15 Dec 2020 15:53:04 +0000 (16:53 +0100)] 
http: show the request as headers even when split-sending

When the initial request isn't possible to send in its entirety, the
remainder of request would be delivered to the debug callback as data
and would wrongly be counted internally as body-bytes sent.

Extended test 1295 to verify.

Closes #6328

4 years agomulti: when erroring in TOOFAST state, act as for PERFORM
Daniel Stenberg [Thu, 17 Dec 2020 10:17:55 +0000 (11:17 +0100)] 
multi: when erroring in TOOFAST state, act as for PERFORM

When failing in TOOFAST, the multi_done() wasn't called so the same
cleanup and handling wasn't done like when it fails in PERFORM, which in
the case of FTP could mean that the control connection wouldn't be
marked as "dead" for the CURLE_ABORTED_BY_CALLBACK case. Which caused
ftp_disconnect() to use it to send "QUIT", which could end up waiting
for a response a long time before giving up!

Reported-by: Tomas Berger
Fixes #6333
Closes #6337

4 years agocmake: enable gophers correctly in curl-config
Daniel Stenberg [Thu, 17 Dec 2020 09:38:27 +0000 (10:38 +0100)] 
cmake: enable gophers correctly in curl-config

Closes #6336

4 years agotest1198/9: add two mqtt publish tests without payload lengths
Daniel Stenberg [Thu, 17 Dec 2020 09:14:14 +0000 (10:14 +0100)] 
test1198/9: add two mqtt publish tests without payload lengths

Closes #6335

4 years agotests/mqttd: extract the client id from the correct offset 6334/head
Daniel Stenberg [Thu, 17 Dec 2020 09:15:31 +0000 (10:15 +0100)] 
tests/mqttd: extract the client id from the correct offset

Closes #6334

4 years agoTODO: Prevent terminal injection when writing to terminal
Daniel Stenberg [Wed, 16 Dec 2020 22:38:20 +0000 (23:38 +0100)] 
TODO: Prevent terminal injection when writing to terminal

Closes #6150

4 years agoRevert "CI/github: work-around for brew breakage on macOS"
Daniel Stenberg [Wed, 16 Dec 2020 09:44:29 +0000 (10:44 +0100)] 
Revert "CI/github: work-around for brew breakage on macOS"

This reverts commit 4cbb17a2cbbbe6337142d39479e21c3990b9c22f.

... as the work-around now causes failures.

Closes #6332

4 years agoexamples: remove superfluous asterisk uses
Daniel Stenberg [Wed, 16 Dec 2020 08:24:16 +0000 (09:24 +0100)] 
examples: remove superfluous asterisk uses

... for function pointers. Breaks in ancient compilers.

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 16 Dec 2020 07:21:48 +0000 (08:21 +0100)] 
RELEASE-NOTES: synced

4 years agotest1272: fix line ending
Daniel Stenberg [Tue, 15 Dec 2020 16:38:17 +0000 (17:38 +0100)] 
test1272: fix line ending

Follow-up to f24784f9143

4 years agoURL-SYNTAX: add gophers details
Daniel Stenberg [Tue, 15 Dec 2020 11:56:36 +0000 (12:56 +0100)] 
URL-SYNTAX: add gophers details

4 years agotest1272: test gophers
Daniel Stenberg [Mon, 16 Nov 2020 16:55:44 +0000 (17:55 +0100)] 
test1272: test gophers

4 years agoruntests: add support for gophers, gopher over TLS
Daniel Stenberg [Mon, 16 Nov 2020 16:54:07 +0000 (17:54 +0100)] 
runtests: add support for gophers, gopher over TLS

4 years agogopher: Implement secure gopher protocol.
parazyd [Sun, 15 Nov 2020 17:46:06 +0000 (18:46 +0100)] 
gopher: Implement secure gopher protocol.

This commit introduces a "gophers" handler inside the gopher protocol if
USE_SSL is defined. This protocol is no different than the usual gopher
prococol, with the added TLS encapsulation upon connecting. The protocol
has been adopted in the gopher community, and many people have enabled
TLS in their gopher daemons like geomyidae(8), and clients, like clic(1)
and hurl(1).

I have not implemented test units for this protocol because my knowledge
of Perl is sub-par. However, for someone more knowledgeable it might be
fairly trivial, because the same test that tests the plain gopher
protocol can be used for "gophers" just by adding a TLS listener.

Signed-off-by: parazyd <parazyd@dyne.org>
Closes #6208

4 years agoTODO: Package curl for Windows in a signed installer
Daniel Stenberg [Tue, 15 Dec 2020 11:02:14 +0000 (12:02 +0100)] 
TODO: Package curl for Windows in a signed installer

Closes #5424

4 years agomqtt: deal with 0 byte reads correctly
Daniel Stenberg [Tue, 15 Dec 2020 07:51:33 +0000 (08:51 +0100)] 
mqtt: deal with 0 byte reads correctly

OSS-Fuzz found it
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28676

Closes #6327

4 years agoBUG-BOUNTY: minor language update
Daniel Stenberg [Mon, 14 Dec 2020 09:08:05 +0000 (10:08 +0100)] 
BUG-BOUNTY: minor language update

... and remove the wording about entries from before 2019 as the "within
12 months" is still there and covers that.

Closes #6318

4 years agotooĺ_writeout: fix the -w time output units
Daniel Stenberg [Tue, 15 Dec 2020 07:09:29 +0000 (08:09 +0100)] 
tooĺ_writeout: fix the -w time output units

Fix regression from commit fc813f80e1bcac (#6248) that changed the unit
to microseconds instead of seconds with fractions

Reported-by: 不确定
Fixes #6321
Closes #6322

4 years agoquiche: remove fprintf() leftover
Daniel Stenberg [Mon, 14 Dec 2020 10:19:48 +0000 (11:19 +0100)] 
quiche: remove fprintf() leftover

4 years agoKNOWN_BUGS: SHA-256 digest not supported in Windows SSPI builds
Jay Satiro [Mon, 14 Dec 2020 06:08:15 +0000 (01:08 -0500)] 
KNOWN_BUGS: SHA-256 digest not supported in Windows SSPI builds

Closes https://github.com/curl/curl/issues/6302

4 years agodigest_sspi: Show InitializeSecurityContext errors in verbose mode
Jay Satiro [Sun, 13 Dec 2020 08:30:23 +0000 (03:30 -0500)] 
digest_sspi: Show InitializeSecurityContext errors in verbose mode

The error is shown with infof rather than failf so that the user will
see the extended error message information only in verbose mode, and
will still see the standard CURLE_AUTH_ERROR message. For example:

---

* schannel: InitializeSecurityContext failed: SEC_E_QOP_NOT_SUPPORTED
(0x8009030A) - The per-message Quality of Protection is not supported by
the security package
* multi_done
* Connection #1 to host 127.0.0.1 left intact
curl: (94) An authentication function returned an error

---

Ref: https://github.com/curl/curl/issues/6302

Closes https://github.com/curl/curl/pull/6315

4 years agoURL-SYNTAX: add default port numbers and IDNA details
Daniel Stenberg [Sun, 13 Dec 2020 11:31:14 +0000 (12:31 +0100)] 
URL-SYNTAX: add default port numbers and IDNA details

Closes #6316

4 years agoURL-SYNTAX: mention how FILE:// access can access network on windows
Daniel Stenberg [Sat, 12 Dec 2020 21:23:19 +0000 (22:23 +0100)] 
URL-SYNTAX: mention how FILE:// access can access network on windows

Closes #6314

4 years agoURL-SYNTAX: Document default SMTP port 25
Jay Satiro [Sat, 12 Dec 2020 00:12:18 +0000 (19:12 -0500)] 
URL-SYNTAX: Document default SMTP port 25

Note that ports 25 and 587 are common ports for smtp, the former being
the default.

Closes https://github.com/curl/curl/pull/6310

4 years agoCURLOPT_URL.3: remove scheme specific details
Daniel Stenberg [Fri, 11 Dec 2020 23:03:25 +0000 (00:03 +0100)] 
CURLOPT_URL.3: remove scheme specific details

... that are now found in URL-SYNTAX.md

Closes #6307

4 years agodocs: Fix some typos
Dan Fandrich [Sat, 12 Dec 2020 17:59:10 +0000 (09:59 -0800)] 
docs: Fix some typos

[skip ci]

4 years agoURL-SYNTAX: mention all supported schemes
Daniel Stenberg [Sat, 12 Dec 2020 10:44:49 +0000 (11:44 +0100)] 
URL-SYNTAX: mention all supported schemes

Closes #6311

4 years agoURL-SYNTAX.md: minor language improvements
Douglas R. Reno [Fri, 11 Dec 2020 23:23:50 +0000 (17:23 -0600)] 
URL-SYNTAX.md: minor language improvements

Closes #6308

4 years agodocs/URL-SYNTAX: the URL syntax curl accepts and works with
Daniel Stenberg [Mon, 7 Dec 2020 12:58:55 +0000 (13:58 +0100)] 
docs/URL-SYNTAX: the URL syntax curl accepts and works with

Closes #6285

4 years agodocs: enable syntax highlighting in several docs files
0xflotus [Mon, 7 Dec 2020 17:09:37 +0000 (18:09 +0100)] 
docs: enable syntax highlighting in several docs files

... for better readability

Closes #6286

4 years agotest1564/1565: require the 'wakeup' feature to run
Daniel Stenberg [Fri, 11 Dec 2020 08:07:00 +0000 (09:07 +0100)] 
test1564/1565: require the 'wakeup' feature to run

Fixes #6299
Fixes #6300
Closes #6301

4 years agoruntests: add 'wakeup' as a feature
Daniel Stenberg [Fri, 11 Dec 2020 08:06:36 +0000 (09:06 +0100)] 
runtests: add 'wakeup' as a feature

4 years agotests/server/disabled: add "wakeup"
Daniel Stenberg [Fri, 11 Dec 2020 08:05:47 +0000 (09:05 +0100)] 
tests/server/disabled: add "wakeup"

To allow the test suite to know if wakeup support is disabled in the
build.

4 years agolib1564/5: verify that curl_multi_wakeup returns OK
Daniel Stenberg [Thu, 10 Dec 2020 23:35:15 +0000 (00:35 +0100)] 
lib1564/5: verify that curl_multi_wakeup returns OK

4 years agotests: make --libcurl tests only test FTP options if ftp enabled
Daniel Stenberg [Fri, 11 Dec 2020 12:55:00 +0000 (13:55 +0100)] 
tests: make --libcurl tests only test FTP options if ftp enabled

Adjust six --libcurl tests to only check the FTP option if FTP is
actually present in the build.

Fixes #6303
Closes #6305

4 years agoruntests.pl: fix "uninitialized value" warning
Daniel Stenberg [Fri, 11 Dec 2020 12:52:59 +0000 (13:52 +0100)] 
runtests.pl: fix "uninitialized value" warning

follow-up to e12825c642a88774

4 years agoruntests: add support for %if [feature] conditions
Daniel Stenberg [Fri, 11 Dec 2020 09:26:06 +0000 (10:26 +0100)] 
runtests: add support for %if [feature] conditions

... to make tests run differently or expect different results depending
on what features that are present or not in curl.

Bonus: initial minor 'Hyper' awareness but nothing is using that yet

Closes #6304

4 years agoOS400: update ccsidcurl.c
Jon Rumsey [Thu, 10 Dec 2020 09:56:36 +0000 (09:56 +0000)] 
OS400: update ccsidcurl.c

Add 'struct' to cast and declaration of cfcdata to fix compilation
error.

Fixes #6292
Closes #6297

4 years agongtcp2: make it build it current master again
Daniel Stenberg [Wed, 9 Dec 2020 22:31:23 +0000 (23:31 +0100)] 
ngtcp2: make it build it current master again

Closes #6296

4 years agoconnect: defer port selection until connect() time
Cristian Rodríguez [Wed, 9 Dec 2020 19:30:29 +0000 (16:30 -0300)] 
connect: defer port selection until connect() time

If supported, defer port selection until connect() time
if --interface is given and source port is 0.

Reproducer:

* start fast webserver on port 80
* starve system of ephemeral ports
$  sysctl net.ipv4.ip_local_port_range="60990 60999"

* start a curl/libcurl "crawler"
$curl --keepalive --parallel --parallel-immediate --head --interface
127.0.0.2 "http://127.0.0.[1-254]/file[001-002].txt"

current result:
(possible some successful data)
curl: (45) bind failed with errno 98: Address already in use

result after patch:
(complete success or few connections failing, higlhy depending on load)

Fail only when all the possible 4-tuple combinations are exhausted,
which is impossible to do when port is selected at bind() time becuse
the kernel does not know if socket will be listen()'ed on or connect'ed
yet.

Closes #6295

4 years agoconnect: zero variable on stack to silence valgrind complaint
Hans-Christian Noren Egtvedt [Wed, 9 Dec 2020 09:42:59 +0000 (10:42 +0100)] 
connect: zero variable on stack to silence valgrind complaint

Valgrind will complain that ssrem buffer usage if not explicit
initialized, hence initialize it to zero.

This completes the change intially started in commit 2c0d7212151 ('ftp:
retry getpeername for FTP with TCP_FASTOPEN') where the ssloc buffer has
a similar memset to zero.

Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
Closes #6289

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 9 Dec 2020 21:57:47 +0000 (22:57 +0100)] 
RELEASE-NOTES: synced

start over on the next release cycle

4 years agoRELEASE-NOTES: synced curl-7_74_0
Daniel Stenberg [Wed, 9 Dec 2020 06:38:24 +0000 (07:38 +0100)] 
RELEASE-NOTES: synced

for 7.74.0