]>
git.ipfire.org Git - thirdparty/curl.git/log
Daniel Stenberg [Mon, 27 Jul 2020 10:44:19 +0000 (12:44 +0200)]
curl: improve the existing file check with -J
Previously a file that isn't user-readable but is user-writable would
not be properly avoided and would get overwritten.
Reported-by: BrumBrum on hackerone
Assisted-by: Jay Satiro
Bug: https://hackerone.com/reports/926638
Closes #5731
Jonathan Nieder [Mon, 27 Jul 2020 23:24:54 +0000 (16:24 -0700)]
multi: update comment to say easyp list is linear
Since
09b9fc900 (multi: remove 'Curl_one_easy' struct, phase 1,
2013-08-02), the easy handle list is not circular but ends with
->next pointing to NULL.
Reported-by: Masaya Suzuki <masayasuzuki@google.com>
Closes #5737
Daniel Stenberg [Mon, 27 Jul 2020 21:59:00 +0000 (23:59 +0200)]
CURLOPT_NOBODY.3: fix the syntax for referring to options
As test 1140 fails otherwise!
Follow-up to
e1bac81cc815
Daniel Stenberg [Mon, 27 Jul 2020 12:53:08 +0000 (14:53 +0200)]
ngtcp2: store address in sockaddr_storage
Reported-by: Tatsuhiro Tsujikawa
Closes #5733
Daniel Stenberg [Mon, 27 Jul 2020 09:54:29 +0000 (11:54 +0200)]
CURLOPT_NOBODY.3: clarify what setting to 0 means
... and mention that HTTP with other methods than HEAD might get a body and
there's no option available to stop that.
Closes #5729
Daniel Stenberg [Mon, 27 Jul 2020 09:44:01 +0000 (11:44 +0200)]
setopt: unset NOBODY switches to GET if still HEAD
Unsetting CURLOPT_NOBODY with 0L when doing HTTP has no documented
action but before 7.71.0 that used to switch back to GET and with this
change (assuming the method is still set to HEAD) this behavior is
brought back.
Reported-by: causal-agent on github
Fixes #5725
Closes #5728
Ehren Bendler [Wed, 15 Jul 2020 02:38:38 +0000 (22:38 -0400)]
configure: cleanup wolfssl + pkg-config conflicts when cross compiling.
Also choose a different wolfSSL function to test for NTLM support.
Fixes #5605
Closes #5682
Daniel Stenberg [Mon, 27 Jul 2020 10:07:40 +0000 (12:07 +0200)]
configure: show zstd "no" in summary when built without it
Reported-by: Marc Hörsken
Fixes #5720
Closes #5730
Daniel Stenberg [Mon, 27 Jul 2020 09:17:31 +0000 (11:17 +0200)]
quiche: handle calling disconnect twice
Reported-by: lilongyan-huawei on github
Fixes #5726
Closes #5727
Nicolas Sterchele [Fri, 10 Jul 2020 18:05:21 +0000 (20:05 +0200)]
getinfo: reset retry-after value in initinfo
- Avoid re-using retry_after value from preceding request
- Add libtest 3010 to verify
Reported-by: joey-l-us on github
Fixes #5661
Closes #5672
Marcel Raad [Thu, 23 Jul 2020 19:28:14 +0000 (21:28 +0200)]
WIN32: stop forcing narrow-character API
Except where the results are only used for character output.
getenv is not touched because it's part of the public API, and having
it return UTF-8 instead of ANSI would be a breaking change.
Fixes https://github.com/curl/curl/issues/5658
Fixes https://github.com/curl/curl/issues/5712
Closes https://github.com/curl/curl/pull/5718
Tobias Stoeckmann [Sat, 25 Jul 2020 15:30:12 +0000 (17:30 +0200)]
mprintf: Fix stack overflows
Stack overflows can occur with precisions for integers and floats.
Proof of concepts:
- curl_mprintf("%d, %.*1$d", 500, 1);
- curl_mprintf("%d, %+0500.*1$f", 500, 1);
Ideally, compile with -fsanitize=address which makes this undefined
behavior a bit more defined for debug purposes.
The format strings are valid. The overflows occur due to invalid
arguments. If these arguments are variables with contents controlled
by an attacker, the function's stack can be corrupted.
Also see CVE-2016-9586 which partially fixed the float aspect.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Closes https://github.com/curl/curl/pull/5722
Tobias Stoeckmann [Sat, 25 Jul 2020 15:29:38 +0000 (17:29 +0200)]
mprintf: Fix dollar string handling
Verify that specified parameters are in range. If parameters are too
large, fail early on and avoid out of boundary accesses.
Also do not read behind boundaries of illegal format strings.
These are defensive measures since it is expected that format strings
are well-formed. Format strings should not be modifiable by user
input due to possible generic format string attacks.
Closes https://github.com/curl/curl/pull/5722
Daniel Stenberg [Sun, 26 Jul 2020 15:00:48 +0000 (17:00 +0200)]
ntlm: free target_info before (re-)malloc
OSS-Fuzz found a way this could get called again with the pointer still
pointing to a malloc'ed memory, leading to a leak.
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24379
Closes #5724
Marcel Raad [Wed, 15 Jul 2020 08:03:15 +0000 (10:03 +0200)]
CI/macos: set minimum macOS version
This enables some deprecation warnings.
Previously, autotools defaulted to 10.8.
Closes https://github.com/curl/curl/pull/5723
Daniel Stenberg [Sun, 26 Jul 2020 10:24:08 +0000 (12:24 +0200)]
RELEASE-NOTES: synced
Marcel Raad [Sun, 19 Jul 2020 09:50:43 +0000 (11:50 +0200)]
CI/macos: enable warnings as errors for CMake builds
Closes https://github.com/curl/curl/pull/5716
Marcel Raad [Wed, 22 Jul 2020 20:51:11 +0000 (22:51 +0200)]
CMake: fix test for warning suppressions
GCC doesn't warn for unknown `-Wno-` options, except if there are other
warnings or errors [0]. This was problematic with `CURL_WERROR` as that
warning-as-error cannot be suppressed. Notably, this always happened
with `-Wno-pedantic-ms-format` when not targeting Windows. So test for
the positive form of the warning instead, which should always result in
a diagnostic if unknown.
[0] https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
Closes https://github.com/curl/curl/pull/5714
Jay Satiro [Thu, 23 Jul 2020 06:44:53 +0000 (02:44 -0400)]
curl.h: update CURLINFO_LASTONE
CURLINFO_LASTONE should have been updated when
CURLINFO_EFFECTIVE_METHOD was added.
Reported-by: xwxbug@users.noreply.github.com
Fixes https://github.com/curl/curl/issues/5711
Marc Hoersken [Tue, 21 Jul 2020 17:04:42 +0000 (19:04 +0200)]
CI/azure: unconditionally enable warnings-as-errors with autotools
Reviewed-by: Marcel Raad
Follow up to #5694
Closes #5706
Marcel Raad [Sun, 19 Jul 2020 13:02:16 +0000 (15:02 +0200)]
doh: remove redundant cast
Closes https://github.com/curl/curl/pull/5704
Marcel Raad [Wed, 15 Jul 2020 08:48:44 +0000 (10:48 +0200)]
CI/macos: unconditionally enable warnings-as-errors with autotools
Previously, warnings were only visible in the output for most jobs.
Closes https://github.com/curl/curl/pull/5694
Marcel Raad [Thu, 16 Jul 2020 16:52:03 +0000 (18:52 +0200)]
util: silence conversion warnings
timeval::tv_usec might be a 32-bit integer and timespec::tv_nsec might
be a 64-bit integer. This is the case when building for recent macOS
versions, for example. Just treat tv_usec as an int, which should
hopefully always be sufficient on systems with
`HAVE_CLOCK_GETTIME_MONOTONIC`.
Closes https://github.com/curl/curl/pull/5695
Marcel Raad [Thu, 16 Jul 2020 14:40:12 +0000 (16:40 +0200)]
md(4|5): don't use deprecated macOS functions
They are marked as deprecated for -mmacosx-version-min >= 10.15,
which might result in warnings-as-errors.
Closes https://github.com/curl/curl/pull/5695
Daniel Stenberg [Fri, 17 Jul 2020 22:57:05 +0000 (00:57 +0200)]
strdup: remove the odd strlen check
It confuses code analyzers with its use of -1 for unsigned value. Also,
a check that's not normally used in strdup() code - and not necessary.
Closes #5697
Alessandro Ghedini [Thu, 16 Jul 2020 21:31:21 +0000 (22:31 +0100)]
travis: update quiche builds for new boringssl layout
This is required after https://github.com/cloudflare/quiche/pull/593
moved BoringSSL around slightly.
This also means that Go is not needed to build BoringSSL anymore (the
one provided by quiche anyway).
Closes #5691
Marcel Raad [Wed, 15 Jul 2020 19:28:00 +0000 (21:28 +0200)]
configure: allow disabling warnings
When using `--enable-warnings`, it was not possible to disable warnings
via CFLAGS that got explicitly enabled. Now warnings are not enabled
anymore if they are explicitly disabled (or enabled) in CFLAGS. This
works for at least GCC, clang, and TCC as they have corresponding
`-Wno-` options for every warning.
Closes https://github.com/curl/curl/pull/5689
Daniel Stenberg [Thu, 16 Jul 2020 19:00:25 +0000 (21:00 +0200)]
ngtcp2: adjust to recent sockaddr updates
Closes #5690
Daniel Stenberg [Wed, 15 Jul 2020 15:42:44 +0000 (17:42 +0200)]
page-header: provide protocol details in the curl.1 man page
Add protocol and version specific information about all protocols curl
supports.
Fixes #5679
Reported-by: tbugfinder on github
Closes #5686
Daniel Gustafsson [Thu, 16 Jul 2020 08:11:10 +0000 (10:11 +0200)]
docs: Update a few leftover mentions of DarwinSSL
Commit
76a9c3c4be10b3d4d379d5b23ca76806bbae536a renamed DarwinSSL to the
more correct/common name Secure Transport, but a few mentions in the docs
remained.
Closes #5688
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
Daniel Stenberg [Wed, 15 Jul 2020 12:04:32 +0000 (14:04 +0200)]
file2memory: use a define instead of -1 unsigned value
... to use the maximum value for 'size_t' when detecting integer overflow.
Changed the limit to max/4 as already that seems unreasonably large.
Codacy didn't like the previous approach.
Closes #5683
Daniel Stenberg [Wed, 15 Jul 2020 22:24:29 +0000 (00:24 +0200)]
CURL_PUSH_ERROROUT: allow the push callback to fail the parent stream
... by adding support for a new dedicated return code.
Suggested-by: Jonathan Cardoso
Assisted-by: Erik Johansson
URL: https://curl.haxx.se/mail/lib-2020-06/0099.html
Closes #5636
Baruch Siach [Thu, 9 Jul 2020 05:14:49 +0000 (08:14 +0300)]
nss: fix build with disabled proxy support
Avoid reference to fields that do not exist when CURL_DISABLE_PROXY is
defined.
Closes #5667
Daniel Stenberg [Fri, 3 Jul 2020 15:02:33 +0000 (17:02 +0200)]
test1139: make it display the difference on test failures
Daniel Stenberg [Fri, 3 Jul 2020 09:33:19 +0000 (11:33 +0200)]
test1119: verify stdout in the test
So that failures will be displayed in the terminal, as it makes test failures
visually displayed easier and faster.
Closes #5644
Daniel Stenberg [Mon, 13 Jul 2020 07:58:29 +0000 (09:58 +0200)]
curl: add %{method} to the -w variables
Gets the CURLINFO_EFFECTIVE_METHOD from libcurl.
Added test 1197 to verify.
Daniel Stenberg [Mon, 13 Jul 2020 07:58:28 +0000 (09:58 +0200)]
CURLINFO_EFFECTIVE_METHOD: added
Provide the HTTP method that was used on the latest request, which might
be relevant for users when there was one or more redirects involved.
Closes #5511
Viktor Szakats [Tue, 14 Jul 2020 08:30:17 +0000 (08:30 +0000)]
windows: add unicode to feature list
Reviewed-by: Marcel Raad
Reviewed-by: Marc Hörsken
Closes #5491
Daniel Stenberg [Sun, 12 Jul 2020 16:26:35 +0000 (18:26 +0200)]
multi: remove two checks always true
Detected by Codacy
Closes #5676
Marc Hoersken [Sun, 12 Jul 2020 20:07:38 +0000 (22:07 +0200)]
workflows: limit what branches to run CodeQL on
Align CodeQL action with existing CI actions:
- Update branch filter to avoid duplicate CI runs.
- Shorten workflow name due to informative job name.
Reviewed-by: Daniel Stenberg
Closes #5660
Marc Hoersken [Sun, 12 Jul 2020 20:04:00 +0000 (22:04 +0200)]
appveyor: collect libcurl.dll variants with prefix or suffix
On some platforms libcurl is build with a platform-specific
prefix and/or a version number suffix.
Assisted-by: Jay Satiro
Closes #5659
ihsinme [Sun, 5 Jul 2020 12:19:25 +0000 (15:19 +0300)]
socks: use size_t for size variable
Use the unsigned type (size_t) in the arithmetic of pointers. In this
context, the signed type (ssize_t) is used unnecessarily.
Authored-by: ihsinme on github
Closes #5654
Daniel Stenberg [Sun, 12 Jul 2020 16:16:23 +0000 (18:16 +0200)]
RELEASE-NOTES: synced
... and bumped to 7.72.0 as the next release version number
Gilles Vollant [Mon, 25 May 2020 15:49:46 +0000 (17:49 +0200)]
content_encoding: add zstd decoding support
include zstd curl patch for Makefile.m32 from vszakats
and include Add CMake support for zstd from Peter Wu
Helped-by: Viktor Szakats
Helped-by: Peter Wu
Closes #5453
Daniel Stenberg [Fri, 3 Jul 2020 16:21:18 +0000 (18:21 +0200)]
asyn.h: remove the Curl_resolver_getsock define
- not used
- used the wrong number of arguments
- confused the Codeacy code analyzer
Closes #5647
Nicolas Sterchele [Mon, 6 Jul 2020 12:15:48 +0000 (14:15 +0200)]
configure.ac: Sort features name in summary
- Same as protocols
Closes #5656
Matthias Naegler [Wed, 8 Jul 2020 12:14:53 +0000 (14:14 +0200)]
cmake: fix windows xp build
Reviewed-by: Marcel Raad
Closes #5662
Daniel Stenberg [Sun, 12 Jul 2020 14:32:10 +0000 (16:32 +0200)]
ngtcp2: update to modified qlog callback prototype
Closes #5675
Daniel Stenberg [Sat, 11 Jul 2020 22:45:27 +0000 (00:45 +0200)]
transfer: fix memory-leak with CURLOPT_CURLU in a duped handle
Added test case 674 to reproduce and verify the bug report.
Fixes #5665
Reported-by: NobodyXu on github
Closes #5673
Baruch Siach [Thu, 9 Jul 2020 05:14:49 +0000 (08:14 +0300)]
bearssl: fix build with disabled proxy support
Avoid reference to fields that do not exist when CURL_DISABLE_PROXY is
defined.
Reviewed-by: Nicolas Sterchele
Closes #5666
Daniel Stenberg [Sat, 11 Jul 2020 21:13:18 +0000 (23:13 +0200)]
RELEASE-NOTES: synced
Carlo Marcelo Arenas Belón [Thu, 9 Jul 2020 07:16:21 +0000 (00:16 -0700)]
cirrus-ci: upgrade 11-STABLE to 11.4
Meant to be the last of the 11 series and so make sure that all
other references reflect all 11 versions so they can be retired
together later.
Closes https://github.com/curl/curl/pull/5668
Filip Salomonsson [Sat, 4 Jul 2020 11:56:50 +0000 (13:56 +0200)]
CURLINFO_CERTINFO.3: fix typo
Closes https://github.com/curl/curl/pull/5655
Daniel Stenberg [Fri, 3 Jul 2020 22:10:04 +0000 (00:10 +0200)]
http2: only do the *done() cleanups for HTTP
Follow-up to
ef86daf4d3
Closes #5650
Fixes #5646
Alex Kiernan [Fri, 26 Jun 2020 09:08:32 +0000 (09:08 +0000)]
gnutls: repair the build with `CURL_DISABLE_PROXY`
`http_proxy`/`proxy_ssl`/`tunnel_proxy` will not be available in `conn`
if `CURL_DISABLE_PROXY` is enabled. Repair the build with that
configuration.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Closes #5645
Alex Kiernan [Fri, 26 Jun 2020 08:59:24 +0000 (08:59 +0000)]
gnutls: Fetch backend when using proxy
Fixes: 89865c149 ("gnutls: remove the BACKEND define kludge")
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Laramie Leavitt [Thu, 2 Jul 2020 23:46:22 +0000 (16:46 -0700)]
http2: close the http2 connection when no more requests may be sent
Well-behaving HTTP2 servers send two GOAWAY messages. The first
message is a warning that indicates that the server is going to
stop accepting streams. The second one actually closes the stream.
nghttp2 reports this state (and the other state of no more stream
identifiers) via the call nghttp2_session_check_request_allowed().
In this state the client should not create more streams on the
session (tcp connection), and in curl this means that the server
has requested that the connection is closed.
It would be also be possible to put the connclose() call into the
on_http2_frame_recv() function that triggers on the GOAWAY message.
This fixes a bug seen when the client sees the following sequence of
frames:
// advisory GOAWAY
HTTP2 GOAWAY [stream-id = 0, promised-stream-id = -1]
... some additional frames
// final GOAWAY
HTTP2 GOAWAY [stream-id = 0, promised-stream-id = N ]
Before this change, curl will attempt to reuse the connection even
after the last stream, will encounter this error:
* Found bundle for host localhost: 0x5595f0a694e0 [can multiplex]
* Re-using existing connection! (#0) with host localhost
* Connected to localhost (::1) port 10443 (#0)
* Using Stream ID: 9 (easy handle 0x5595f0a72e30)
> GET /index.html?5 HTTP/2
> Host: localhost:10443
> user-agent: curl/7.68.0
> accept: */*
>
* stopped the pause stream!
* Connection #0 to host localhost left intact
curl: (16) Error in the HTTP2 framing layer
This error may posion the connection cache, causing future requests
which resolve to the same curl connection to go through the same error
path.
Closes #5643
Daniel Stenberg [Thu, 2 Jul 2020 14:42:55 +0000 (16:42 +0200)]
ftpserver: don't verify SMTP MAIL FROM names
Rely on tests asking the names to get refused instead - test servers
should be as dumb as possible. Edited test 914, 955 and 959 accordingly.
Closes #5639
Daniel Stenberg [Thu, 2 Jul 2020 21:46:40 +0000 (23:46 +0200)]
curl_version_info.3: CURL_VERSION_KERBEROS4 is deprecated
This came up in #5640. It make sense to clarify this in the docs!
Reminded-by: Kamil Dudka
Closes #5642
Kamil Dudka [Thu, 2 Jul 2020 15:41:37 +0000 (17:41 +0200)]
tool_getparam: make --krb option work again
It was disabled by mistake in commit curl-7_37_1
-23-ge38ba4301 .
Bug: https://bugzilla.redhat.com/
1833193
Closes #5640
Jeremy Maitin-Shepard [Thu, 2 Jul 2020 16:47:11 +0000 (09:47 -0700)]
http2: fix nghttp2_strerror -> nghttp2_http2_strerror in debug messages
Confusingly, nghttp2 has two different error code enums:
- nghttp2_error, to be used with nghttp2_strerror
- nghttp2_error_code, to be used with nghttp2_http2_strerror
Closes #5641
Marcel Raad [Thu, 2 Jul 2020 11:23:31 +0000 (13:23 +0200)]
url: silence MSVC warning
Since commit
f3d501dc678 , if proxy support is disabled, MSVC warns:
url.c : warning C4701: potentially uninitialized local variable
'hostaddr' used
url.c : error C4703: potentially uninitialized local pointer variable
'hostaddr' used
That could actually only happen if both `conn->bits.proxy` and
`CURL_DISABLE_PROXY` were enabled.
Initialize it to NULL to silence the warning.
Closes https://github.com/curl/curl/pull/5638
Daniel Stenberg [Wed, 1 Jul 2020 08:37:20 +0000 (10:37 +0200)]
RELEASE-NOTES: synced
Daniel Stenberg [Tue, 30 Jun 2020 10:31:11 +0000 (12:31 +0200)]
RELEASE-NOTES: curl 7.71.1
Daniel Stenberg [Tue, 30 Jun 2020 10:32:02 +0000 (12:32 +0200)]
THANKS: add contributors to 7.71.1
Daniel Stenberg [Tue, 30 Jun 2020 13:29:52 +0000 (15:29 +0200)]
scripts/copyright.pl: skip .dcignore
Daniel Stenberg [Tue, 30 Jun 2020 08:56:57 +0000 (10:56 +0200)]
Revert "multi: implement wait using winsock events"
This reverts commit
8bc25c590e530de87595d1bb3577f699eb1309b9 .
That commit (from #5397) introduced a regression in 7.71.0.
Reported-by: tmkk on github
Fixes #5631
Closes #5632
Daniel Stenberg [Mon, 29 Jun 2020 21:53:27 +0000 (23:53 +0200)]
TODO: Add flag to specify download directory
Daniel Stenberg [Mon, 29 Jun 2020 21:50:44 +0000 (23:50 +0200)]
TODO: return code to CURLMOPT_PUSHFUNCTION to fail connection
Daniel Stenberg [Mon, 29 Jun 2020 15:04:59 +0000 (17:04 +0200)]
cirrus-ci: disable FreeBSD 13 (again)
It has been failing for a good while again. This time we better leave it
disabled until we have more reason to believe it behaves.
Closes #5628
Daniel Stenberg [Mon, 29 Jun 2020 14:22:05 +0000 (16:22 +0200)]
ngtcp2: sync with current master
ngtcp2 added two new callbacks
Reported-by: Lucien Zürcher
Fixes #5624
Closes #5627
Daniel Stenberg [Mon, 29 Jun 2020 06:59:34 +0000 (08:59 +0200)]
examples/multithread.c: call curl_global_cleanup()
Reported-by: qiandu2006 on github
Fixes #5622
Closes #5623
Daniel Stenberg [Fri, 26 Jun 2020 21:26:01 +0000 (23:26 +0200)]
vtls: compare cert blob when finding a connection to reuse
Reported-by: Gergely Nagy
Fixes #5617
Closes #5619
Daniel Stenberg [Sat, 27 Jun 2020 22:35:52 +0000 (00:35 +0200)]
RELEASE-NOTES: synced
Daniel Stenberg [Thu, 25 Jun 2020 09:38:25 +0000 (11:38 +0200)]
terminology: call them null-terminated strings
Updated terminology in docs, comments and phrases to refer to C strings
as "null-terminated". Done to unify with how most other C oriented docs
refer of them and what users in general seem to prefer (based on a
single highly unscientific poll on twitter).
Reported-by: coinhubs on github
Fixes #5598
Closes #5608
Daniel Stenberg [Fri, 26 Jun 2020 12:16:21 +0000 (14:16 +0200)]
http: fix proxy auth with blank password
Regression in 7.71.0
Added test case 346 to verify.
Reported-by: Kristoffer Gleditsch
Fixes #5613
Closes #5616
Daniel Stenberg [Fri, 26 Jun 2020 22:07:37 +0000 (00:07 +0200)]
.dcignore: ignore tests and docs directories
This is a config file for deepcode.ai, a static code analyzer.
Jay Satiro [Fri, 26 Jun 2020 06:26:41 +0000 (02:26 -0400)]
tool_cb_hdr: Fix etag warning output and return code
- Return 'failure' on failure, to follow the existing style.
- Put Warning: and the warning message on the same line.
Ref: https://github.com/curl/curl/issues/5610
Closes https://github.com/curl/curl/pull/5612
Daniel Stenberg [Thu, 25 Jun 2020 07:54:40 +0000 (09:54 +0200)]
CURLOPT_READFUNCTION.3: provide the upload data size up front
Assisted-by: Jay Satiro
Closes #5607
Daniel Stenberg [Tue, 23 Jun 2020 21:17:25 +0000 (23:17 +0200)]
test1539: do a HTTP 1.0 POST without a set size (fails)
Attempt to reproduce #5593. Test case 1514 is very similar but uses
HTTP/1.1 and thus switches to chunked.
Closes #5595
Baruch Siach [Fri, 26 Jun 2020 09:40:43 +0000 (12:40 +0300)]
mbedtls: fix build with disabled proxy support
Don't reference fields that do not exist. Fixes build failure:
vtls/mbedtls.c: In function 'mbed_connect_step1':
vtls/mbedtls.c:249:54: error: 'struct connectdata' has no member named 'http_proxy'
Closes #5615
Daniel Stenberg [Fri, 26 Jun 2020 06:49:23 +0000 (08:49 +0200)]
codeql-analysis.yml: fix the 'languages' setting
It needs a 'with:' in front of it.
Daniel Stenberg [Thu, 25 Jun 2020 23:06:05 +0000 (01:06 +0200)]
gtihub: codeql-analysis.yml
enables code security scanning with github actions
Daniel Stenberg [Fri, 19 Jun 2020 22:04:08 +0000 (00:04 +0200)]
tests: verify newline in username and password for HTTP
test 1296 is a simply command line test
test 1910 is a libcurl test including a redirect
Daniel Stenberg [Tue, 23 Jun 2020 14:23:51 +0000 (16:23 +0200)]
url: allow user + password to contain "control codes" for HTTP(S)
Reported-by: Jon Johnson Jr
Fixes #5582
Closes #5592
Daniel Stenberg [Tue, 23 Jun 2020 14:13:50 +0000 (16:13 +0200)]
escape: make the URL decode able to reject only %00 bytes
... or all "control codes" or nothing.
Assisted-by: Nicolas Sterchele
Daniel Stenberg [Tue, 23 Jun 2020 12:28:34 +0000 (14:28 +0200)]
http2: set the correct URL in pushed transfers
...previously CURLINFO_EFFECTIVE_URL would report the URL of the
original "mother transfer", not the actually pushed resource.
Reported-by: Jonathan Cardoso Machado
Fixes #5589
Closes #5591
Javier Blazquez [Wed, 24 Jun 2020 20:21:04 +0000 (13:21 -0700)]
openssl: Fix compilation on Windows when ngtcp2 is enabled
- Include wincrypt before OpenSSL includes so that the latter can
properly handle any conflicts between the two.
Closes https://github.com/curl/curl/pull/5606
Daniel Stenberg [Wed, 24 Jun 2020 13:24:35 +0000 (15:24 +0200)]
test543: extended to verify zero length input
As was reported in #5601
Daniel Stenberg [Wed, 24 Jun 2020 13:23:19 +0000 (15:23 +0200)]
escape: zero length input should return a zero length output
Regression added in 7.71.0.
Fixes #5601
Reported-by: Kristoffer Gleditsch
Closes #5602
Daniel Stenberg [Tue, 23 Jun 2020 23:13:04 +0000 (01:13 +0200)]
Curl_inet_ntop: always check the return code
Reported-by: Siva Sivaraman
Fixes #5412
Closes #5597
Daniel Stenberg [Tue, 23 Jun 2020 22:22:00 +0000 (00:22 +0200)]
sendf: improve the message on client write errors
Replace "Failed writing body (X != Y)" with
"Failure writing output to destination". Possibly slightly less cryptic.
Reported-by: coinhubs on github
Fixes #5594
Closes #5596
Daniel Stenberg [Wed, 24 Jun 2020 09:44:22 +0000 (11:44 +0200)]
RELEASE-NOTES: synced
Daniel Stenberg [Wed, 24 Jun 2020 09:44:10 +0000 (11:44 +0200)]
curlver: start working on 7.71.1
Denis Baručić [Wed, 24 Jun 2020 07:55:20 +0000 (09:55 +0200)]
DYNBUF.md: fix a typo: trail => tail
Closes #5599
Daniel Stenberg [Mon, 22 Jun 2020 09:50:21 +0000 (11:50 +0200)]
RELEASE-NOTES: curl 7.71.0 release
Daniel Stenberg [Mon, 22 Jun 2020 09:53:33 +0000 (11:53 +0200)]
THANKS: curl 7.71.0 additions
Daniel Stenberg [Tue, 23 Jun 2020 12:02:54 +0000 (14:02 +0200)]
url: make sure pushed streams get an allocated download buffer
Follow-up to
c4e6968127e876b0
When a new transfer is created, as a resuly of an acknowledged push,
that transfer needs a download buffer allocated.
Closes #5590
Jay Satiro [Mon, 22 Jun 2020 16:01:32 +0000 (12:01 -0400)]
openssl: Don't ignore CA paths when using Windows CA store
This commit changes the behavior of CURLSSLOPT_NATIVE_CA so that it does
not override CURLOPT_CAINFO / CURLOPT_CAPATH, or the hardcoded default
locations. Instead the CA store can now be used at the same time.
The change is due to the impending release. The issue is still being
discussed. The behavior of CURLSSLOPT_NATIVE_CA is subject to change and
is now documented as experimental.
Ref:
bc052cc (parent commit)
Ref: https://github.com/curl/curl/issues/5585
Jay Satiro [Sat, 20 Jun 2020 06:39:37 +0000 (02:39 -0400)]
tool_operate: Don't use Windows CA store as a fallback
Background:
148534d added CURLSSLOPT_NATIVE_CA to use the Windows OS certificate
store in libcurl w/ OpenSSL on Windows. CURLSSLOPT_NATIVE_CA overrides
CURLOPT_CAINFO if both are set. The curl tool will fall back to
CURLSSLOPT_NATIVE_CA if it could not find a certificate bundle to set
via CURLOPT_CAINFO.
Problem:
libcurl may be built with hardcoded paths to a certificate bundle or
directory, and if CURLSSLOPT_NATIVE_CA is used then those paths are
ignored.
Solution:
A solution is still being discussed but since there's an impending
release this commit removes using CURLSSLOPT_NATIVE_CA in the curl tool.
Ref: https://github.com/curl/curl/issues/5585