summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* httpauth: make multi-request auth work with custom portbagder/multi-stage-auth-custom-portDaniel Stenberg2021-01-018-15/+160
| | | | | | | | | | | 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
* COPYING/configure: bump copyright year rangeDaniel Stenberg2021-01-012-3/+3
|
* c-hyper: add timecondition to the requestDaniel Stenberg2021-01-013-5/+23
| | | | | | Test 77-78 Closes #6391
* c-hyper: make Digest and NTLM workDaniel Stenberg2020-12-301-0/+7
| | | | | | Test 64, 65, 67, 68, 69, 70, 72 Closes #6390
* examples/curlgtk.c: fix the copyright year rangeDaniel Stenberg2020-12-301-10/+9
| | | | ... and make private functions static.
* docs/examples: adjust prototypes for CURLOPT_READFUNCTIONOlaf Hering2020-12-3036-39/+39
| | | | | | | The type of the buffer in curl_read_callback is 'char *', not 'void *'. Signed-off-by: Olaf Hering <olaf@aepfle.de> Closes #6392
* examples: fix more empty expression statement has no effectDaniel Stenberg2020-12-303-13/+16
| | | | Follow-up to 26e46617b9
* cleanup: fix two empty expression statement has no effectDaniel Stenberg2020-12-302-6/+9
| | | | Follow-up to 26e46617b9
* configure: set -Wextra-semi-stmt for clang with --enable-debugDaniel Stenberg2020-12-291-0/+1
| | | | | | | To have it properly complain on empty statements with no effect. Ref: #6376 Closes #6378
* tests/unit: fix empty statements with no effectDaniel Stenberg2020-12-291-37/+47
| | | | ... by making macros use "do {} while(0)"
* dns: extend CURLOPT_RESOLVE syntax for adding non-permanent entriesPaul Groke2020-12-296-40/+82
| | | | | | | | | | | | | | | | | | 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
* schannel: fix "empty expression statement has no effect"Daniel Stenberg2020-12-291-8/+6
| | | | | | Bug: https://github.com/curl/curl/commit/8ab78f720ae478d533e30b202baec4b451741579#commitcomment-45445950 Reported-by: Gisle Vanem Closes #6381
* docs: remove redundant "better" in --fail helpDenis Laxalde2020-12-291-1/+1
| | | | Closes #6385
* curl.1: fix typo microsft -> microsoftKevin Ushey2020-12-271-1/+1
| | | | Closes #6380
* misc: assorted typo fixesXhmikosR2020-12-268-11/+11
| | | | Closes #6375
* RELEASE-NOTES: syncedDaniel Stenberg2020-12-261-7/+24
|
* tool_operate: avoid NULL dereference of first_argDaniel Stenberg2020-12-261-1/+1
| | | | | | | Follow-up to 6a5e020d4d2b04a Identified by OSS-Fuzz Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28999 Closes #6377
* misc: fix "warning: empty expression statement has no effect"Daniel Stenberg2020-12-2611-70/+85
| | | | | | | | | | 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
* KNOWN_BUGS: 6.10 curl never completes Negotiate over HTTPDaniel Stenberg2020-12-261-0/+7
| | | | | Closes #5235 Closes #6370
* writeout: fix NULL dereference for "this url"Daniel Stenberg2020-12-261-1/+2
| | | | | | | | Detected by torture test 1029 Follow-up to 7a90ddf88f5a Closes #6374
* failf: remove newline from formatting stringsDaniel Stenberg2020-12-2524-56/+57
| | | | | | | | | ... as failf adds one itself. Also: add an assert() to failf() that triggers on a newline in the format string! Closes #6365
* CI: fix warning with the latest versionsXhmikosR2020-12-251-9/+0
| | | | | | `git checkout HEAD^2` is no longer needed Closes #6369
* INSTALL: update the list known OSes and CPU archs curl has run onDaniel Stenberg2020-12-251-74/+21
| | | | Closes #6366
* curl: fix handling of -q optionCherish982020-12-231-1/+1
| | | | | | | | 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
* tests/badsymbols.pl: ignore stand-alone single hash linesDaniel Stenberg2020-12-221-0/+3
| | | | | | | | Bug: https://curl.se/mail/lib-2020-12/0084.html Reported-by: Dennis Clarke Assisted-by: Jay Satiro Closes #6355
* curl_easy_pause.3: add multiplexed pause effectsDaniel Stenberg2020-12-221-23/+23
| | | | | | | and generally refresh and update. Remove details for ancient versions. Reviewed-by: Jay Satiro Closes #6360
* curl_easy_pause.3: fix man page referenceJay Satiro2020-12-221-1/+1
| | | | | | Follow-up to ac9a724 from earlier today. Ref: https://github.com/curl/curl/pull/6359
* EXPERIMENTAL: add the Hyper backend to the listDaniel Stenberg2020-12-221-1/+1
| | | | ... of current experimental features in curl.
* speedcheck: exclude paused transfersDaniel Stenberg2020-12-223-0/+11
| | | | | | | | | | | 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
* h2: do not wait for RECV on paused transfersDaniel Stenberg2020-12-221-3/+4
| | | | | | | | | | ... 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
* RELEASE-NOTES: syncedDaniel Stenberg2020-12-211-7/+27
|
* cmdline-opts/gen.pl: return hard on errorsDaniel Stenberg2020-12-211-2/+4
| | | | | | ... as the warnings tend to go unnoticed otherwise! Closes #6354
* examples/libtest: add .checksrc to distDaniel Stenberg2020-12-212-3/+3
| | | | | | | ... so that (auto)builds from tarballs also get the correct instructions. Fixes #6176 Closes #6353
* test: verify new --write-out variablesDaniel Stenberg2020-12-213-2/+51
| | | | Extended test 1029 and added 1188
* test970: adapted to the new internal order of variablesDaniel Stenberg2020-12-211-1/+1
|
* curl: add variables to --write-outDaniel Stenberg2020-12-217-104/+128
| | | | | | | | | | | | | | | | | | | | | 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
* tests: add very simple AWS HTTP v4 Signature testMatthias Gatto2020-12-214-2/+136
| | | | Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
* docs: add AWS HTTP v4 SignatureMatthias Gatto2020-12-217-0/+102
|
* tool: add AWS HTTP v4 Signature supportMatthias Gatto2020-12-215-0/+12
| | | | Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
* http: Make the call to v4 signatureMatthias Gatto2020-12-213-1/+27
| | | | | | This patch allow to call the v4 signature introduce in previous commit Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
* http: introduce AWS HTTP v4 SignatureMatthias Gatto2020-12-216-0/+371
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* http: add hmac support for sha256Matthias Gatto2020-12-212-0/+23
| | | | | | | | | | | | 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>
* connect: on linux, enable reporting of all ICMP errors on UDP socketsCristian Rodríguez2020-12-211-0/+14
| | | | | | | | | | | | 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
* curl: add --create-file-mode [mode]Daniel Stenberg2020-12-2110-4/+49
| | | | | | | | 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
* c-hyper: fix compiler warningsDaniel Stenberg2020-12-201-7/+6
| | | | | | | | | Identified by clang on windows. Reported-by: Gisle Vanem Bug: 58974d25d8173aec154e593ed9d866da566c9811 Closes #6351
* KNOWN_BUGS: Remote recursive folder creation with SFTPDaniel Stenberg2020-12-201-0/+9
| | | | Closes #5204
* badsymbols.pl: Add verbose mode -vJay Satiro2020-12-201-1/+20
| | | | | | | | | | | | | 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
* KNOWN_BUGS: Secure Transport disabling hostname validation also disables SNIJay Satiro2020-12-201-0/+15
| | | | | | | | | | | | | 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
* TODO: alt-svc should fallback if alt-svc doesn't workDaniel Stenberg2020-12-181-0/+8
| | | | Closes #4908
* travis: restrict the openssl3 job to only run https and ftps testsDaniel Stenberg2020-12-181-1/+1
| | | | | | | ... as it runs too long otherwise and the other tests are verified in other builds anyway. Closes #6345