| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
"--retry with a 429 response and Retry-After:"
|
|
|
|
|
|
| |
... since it runs into the 50 minute time limit too often otherwise.
Closes #6403
|
|
|
|
|
|
| |
Mostly thanks to this archived web page for urlget:
https://web.archive.org/web/19980216125115/http://www.inf.ufrgs.br/~sagula/urlget.html
|
|
|
|
|
|
|
|
|
|
|
|
| |
When doing HTTP authentication and a port number set with CURLOPT_PORT,
the code would previously have the URL's port number override as if it
had been a redirect to an absolute URL.
Added test 1568 to verify.
Reported-by: UrsusArctos on github
Fixes #6397
Closes #6400
|
|
|
|
|
|
|
|
| |
We currently use both spellings the british "behaviour" and the american
"behavior". However "behavior" is more used in the project so I think
it's worth dropping the british name.
Closes #6395
|
|
|
|
|
| |
Reported-by: Cherish98
Bug: https://curl.se/mail/archive-2020-12/0018.html
|
|
|
|
|
|
| |
To make it more obvious to users what doesn't work (yet)
Closes #6389
|
| |
|
|
|
|
|
|
| |
Test 77-78
Closes #6391
|
|
|
|
|
|
| |
Test 64, 65, 67, 68, 69, 70, 72
Closes #6390
|
|
|
|
| |
... and make private functions static.
|
|
|
|
|
|
|
| |
The type of the buffer in curl_read_callback is 'char *', not 'void *'.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Closes #6392
|
|
|
|
| |
Follow-up to 26e46617b9
|
|
|
|
| |
Follow-up to 26e46617b9
|
|
|
|
|
|
|
| |
To have it properly complain on empty statements with no effect.
Ref: #6376
Closes #6378
|
|
|
|
| |
... by making macros use "do {} while(0)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Bug: https://github.com/curl/curl/commit/8ab78f720ae478d533e30b202baec4b451741579#commitcomment-45445950
Reported-by: Gisle Vanem
Closes #6381
|
|
|
|
| |
Closes #6385
|
|
|
|
| |
Closes #6380
|
|
|
|
| |
Closes #6375
|
| |
|
|
|
|
|
|
|
| |
Follow-up to 6a5e020d4d2b04a
Identified by OSS-Fuzz
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28999
Closes #6377
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Closes #5235
Closes #6370
|
|
|
|
|
|
|
|
| |
Detected by torture test 1029
Follow-up to 7a90ddf88f5a
Closes #6374
|
|
|
|
|
|
|
|
|
| |
... as failf adds one itself.
Also: add an assert() to failf() that triggers on a newline in the
format string!
Closes #6365
|
|
|
|
|
|
| |
`git checkout HEAD^2` is no longer needed
Closes #6369
|
|
|
|
| |
Closes #6366
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Bug: https://curl.se/mail/lib-2020-12/0084.html
Reported-by: Dennis Clarke
Assisted-by: Jay Satiro
Closes #6355
|
|
|
|
|
|
|
| |
and generally refresh and update. Remove details for ancient versions.
Reviewed-by: Jay Satiro
Closes #6360
|
|
|
|
|
|
| |
Follow-up to ac9a724 from earlier today.
Ref: https://github.com/curl/curl/pull/6359
|
|
|
|
| |
... of current experimental features in curl.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
... 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
|
| |
|
|
|
|
|
|
| |
... as the warnings tend to go unnoticed otherwise!
Closes #6354
|
|
|
|
|
|
|
| |
... so that (auto)builds from tarballs also get the correct instructions.
Fixes #6176
Closes #6353
|
|
|
|
| |
Extended test 1029 and added 1188
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
|
| |
|
|
|
|
| |
Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
|
|
|
|
|
|
| |
This patch allow to call the v4 signature introduce in previous commit
Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|