Commit Graph

27651 Commits

Author SHA1 Message Date
Daniel Stenberg
8e82f2a04a
RELEASE-NOTES: synced
For the 7.79.0 release
2021-09-14 09:02:52 +02:00
Daniel Stenberg
622d911921
THANKS: add contributors from 7.79.0 release cycle 2021-09-14 09:02:52 +02:00
Daniel Stenberg
352b07fcce
FAQ: add two dev related questions
8.1 Why does curl use C89?
  8.2 Will curl be rewritten?

Spell-checked-by: Paul Johnson
Closes #7715
2021-09-14 08:17:42 +02:00
Daniel Stenberg
331039ad52
zuul.d/jobs: disable three tests for *-openssl-disable-proxy
... as they mysteriously seem to permfail without being related to
proxy.

Closes #7714
2021-09-13 17:28:41 +02:00
Patrick Monnerat
8ef147c436
ftp,imap,pop3,smtp: reject STARTTLS server response pipelining
If a server pipelines future responses within the STARTTLS response, the
former are preserved in the pingpong cache across TLS negotiation and
used as responses to the encrypted commands.

This fix detects pipelined STARTTLS responses and rejects them with an
error.

CVE-2021-22947

Bug: https://curl.se/docs/CVE-2021-22947.html
2021-09-13 16:51:31 +02:00
Patrick Monnerat
364f174724
ftp,imap,pop3: do not ignore --ssl-reqd
In imap and pop3, check if TLS is required even when capabilities
request has failed.

In ftp, ignore preauthentication (230 status of server greeting) if TLS
is required.

Bug: https://curl.se/docs/CVE-2021-22946.html

CVE-2021-22946
2021-09-13 16:51:31 +02:00
z2_ on hackerone
43157490a5
mqtt: clear the leftovers pointer when sending succeeds
CVE-2021-22945

Bug: https://curl.se/docs/CVE-2021-22945.html
2021-09-13 16:51:31 +02:00
Daniel Stenberg
409a441240
zuul: bump the rustls job to use v0.7.2
... and add -lm when using a rust library.

Closes #7701
2021-09-13 16:45:48 +02:00
Daniel Stenberg
60bf9f528f
RELEASE-PROCEDURE: add release dates from now to 8.0.0 in 2023 2021-09-13 16:32:41 +02:00
Daniel Stenberg
408f61dc30
SECURITY-PROCESS: tweak a little to match current practices
Closes #7713
2021-09-13 16:26:30 +02:00
Daniel Stenberg
4a8fa48946
http_proxy: fix the User-Agent inclusion in CONNECT
It should not refer to the uagent string that is allocated and created
for the end server http request, as that pointer may be cleared on
subsequent CONNECT requests.

Added test case 1184 to verify.

Reported-by: T200proX7 on github
Fixes #7705
Closes #7707
2021-09-13 12:29:59 +02:00
Daniel Stenberg
8822ecf7a1
Curl_hsts_loadcb: don't attempt to load if hsts wasn't inited
Reported-by: Jonathan Cardoso
Fixes #7710
Closes #7711
2021-09-12 23:43:51 +02:00
Tatsuhiro Tsujikawa
24a7cbe9d2
ngtcp2: fix build with ngtcp2 and nghttp3
ngtcp2_conn_client_new and nghttp3_conn_client_new are now macros.
Check the wrapped functions instead.

ngtcp2_stream_close callback now takes flags parameter.

Closes #7709
2021-09-12 12:34:32 +02:00
Daniel Stenberg
dbe693e769
write-out.d: clarify size_download/upload
They show the number of "body" bytes transfered.
Fixes #7702
Closes #7706
2021-09-12 12:33:02 +02:00
Daniel Stenberg
3cb8a74867
http2: Curl_http2_setup needs to init stream data in all invokes
Thus function was written to avoid doing multiple connection data
initializations, which is fine, but since it also initiates stream
related data it is crucial that it doesn't skip those even if called
again for the same connection. Solved by moving the stream
initializations before the "doing-it-again" check.

Reported-by: Inho Oh
Fixes #7630
Closes #7692
2021-09-11 23:01:23 +02:00
Daniel Stenberg
e41e1b2a4d
url: fix compiler warning in no-verbose builds
Follow-up from 2f0bb864c1

Closes #7700
2021-09-10 19:10:14 +02:00
Daniel Stenberg
94da56269f
non-ascii: fix build errors from strerror fix
Follow-up to 2f0bb864c1

Closes #7697
2021-09-10 19:07:18 +02:00
Daniel Stenberg
2b99f5e02c
parse_args: redo the warnings for --remote-header-name combos
... to avoid the memory leak risk pointed out by scan-build.

Follow-up from 7a3e981781

Closes #7698
2021-09-10 17:02:21 +02:00
Daniel Stenberg
4fb5a643c8
ngtcp2: adapt to new size defintions upstream
Reviewed-by: Tatsuhiro Tsujikawa
Closes #7699
2021-09-10 16:52:29 +02:00
Daniel Stenberg
0cc8fc8825
rustls: add strerror.h include
Follow-up to 2f0bb864c1
2021-09-10 15:20:20 +02:00
Daniel Stenberg
ab2f27cf88
docs: the security list is reached at security at curl.se now
Also update the FAQ section a bit to encourage users to rather submit
security issues on hackerone than sending email.

Closes #7689
2021-09-10 10:51:12 +02:00
Marc Hoersken
60efeb1e0d
runtests: add option -u to error on server unexpectedly alive
Let's try to actually handle the server unexpectedly alive
case by first making them visible on CI builds as failures.

This is needed to detect issues with killing of the test
servers completely including nested process chains with
multiple PIDs per test server (including bash and perl).

On Windows/cygwin platforms this is especially helpful with
debugging PID mixups due to cygwin using its own PID space.

Reviewed-by: Daniel Stenberg
Closes #7180
2021-09-09 21:28:26 +02:00
Daniel Stenberg
1fbd822b64
opts docs: unify phrasing in NAME header
- avoid writing "set ..." or "enable/disable ..." or "specify ..."
  *All* options for curl_easy_setopt() are about setting or enabling
  things and most of the existing options didn't use that way of
  description.

- start with lowercase letter, unless abbreviation. For consistency.

- Some additional touch-ups

Closes #7688
2021-09-09 09:55:24 +02:00
Daniel Stenberg
fe7b64228d
strerror.h: remove the #include from files not using it 2021-09-09 07:53:42 +02:00
Daniel Stenberg
2f0bb864c1
lib: don't use strerror()
We have and provide Curl_strerror() internally for a reason: strerror()
is not necessarily thread-safe so we should always try to avoid it.

Extended checksrc to warn for this, but feature the check disabled by
default and only enable it in lib/

Closes #7685
2021-09-09 07:53:42 +02:00
Daniel Gustafsson
71f9a8fa6f cirrus: Add FreeBSD 13.0 job and disable sanitizer build
As alluded to the in the now removed comment, a 13.0 image became
available and is now ready to be used.

The sanitizer builds were running on the 12.1 image which since has
been removed from the config, leaving the builds not running at all.
When enabled it turns out that they don't actually work due to very
long timeouts in executing the tests, so keep the disabled for now
but a bit more controlled.

Closes #7592
2021-09-08 10:14:45 +02:00
Daniel Stenberg
d9b2d1d90f
copyrights: update copyright year ranges 2021-09-08 09:36:49 +02:00
Daniel Stenberg
a22b9980b9
RELEASE-NOTES: synced 2021-09-08 08:54:29 +02:00
Daniel Stenberg
a2f8ec038d
INTERNALS: c-ares has a new home: c-ares.org 2021-09-07 14:56:09 +02:00
Daniel Stenberg
3c40840ca7
docs: remove experimental mentions from HSTS and MQTT
Reported-by: Jonathan Cardoso
Bug: https://github.com/curl/curl/pull/6700#issuecomment-913792863
Closes #7681
2021-09-07 08:21:40 +02:00
Cao ZhenXiang
7a3e981781
curl: add warning for incompatible parameters usage
--continue-at - and --remote-header-name are known incompatible parameters

Closes #7674
2021-09-06 16:59:08 +02:00
git-bruh
033d15a6c5
examples/*hiperfifo.c: fix calloc arguments to match function proto
Closes #7678
2021-09-06 16:16:52 +02:00
Daniel Stenberg
db50fc6e95
INTERNALS: bump c-ares requirement to 1.16.0
Since ba904db070 we use ares_getaddrinfo, added in c-ares 1.16.0
2021-09-06 16:00:52 +02:00
Daniel Stenberg
eb2a5171da
curl: stop retry if Retry-After: is longer than allowed
If Retry-After: specifies a period that is longer than what fits within
--retry-max-time, then stop retrying immediately.

Added test 366 to verify.

Reported-by: Kari Pahula
Fixes #7675
Closes #7676
2021-09-06 14:46:45 +02:00
MAntoniak
37fb213a2e
mbedtls: avoid using a large buffer on the stack
Use dynamic memory allocation for the buffer used in checking "pinned
public key". The PUB_DER_MAX_BYTES parameter with default settings is
set to a value greater than 2kB.

Co-authored-by: Daniel Stenberg
Closes #7586
2021-09-06 10:02:08 +02:00
Daniel Stenberg
9829b94361
configure: make --disable-hsts work
The AC_ARG_ENABLE() macro itself uses a variable called
'enable_[option]', so when our script also used a variable with that
name for the purpose of storing what the user wants, it also
accidentally made it impossible to switch off the feature with
--disable-hsts. Fix this by renaming our variable.

Reported-by: Michał Antoniak
Fixes #7669
Closes #7672
2021-09-05 22:28:18 +02:00
Jay Satiro
c1f7a7b525 config.d: note that curlrc is used even when --config
Bug: https://github.com/curl/curl/pull/7666#issuecomment-912214751
Reported-by: Viktor Szakats

Closes https://github.com/curl/curl/pull/7667
2021-09-05 02:34:14 -04:00
Daniel Stenberg
e514e67c61
RELEASE-NOTES: synced 2021-09-04 11:42:05 +02:00
Daniel Stenberg
8fbdf8331e
test1173: check references to libcurl options
... that they refer to actual existing libcurl options.

Reviewed-by: Daniel Gustafsson
Closes #7656
2021-09-04 11:27:56 +02:00
Daniel Stenberg
7d1bd8a301
CURLOPT_UNIX_SOCKET_PATH.3: remove nginx reference, add see also
Closes #7656
2021-09-04 11:27:51 +02:00
Daniel Stenberg
12a2ed970f
opt-docs: verify man page sections + order
In every libcurl option man page there are now 8 mandatory sections that
must use the right name in the correct order and test 1173 verifies
this. Only 14 man pages needed adjustments.

The sections and the order is as follows:

 - NAME
 - SYNOPSIS
 - DESCRIPTION
 - PROTOCOLS
 - EXAMPLE
 - AVAILABILITY
 - RETURN VALUE
 - SEE ALSO

Reviewed-by: Daniel Gustafsson
Closes #7656
2021-09-04 11:27:46 +02:00
Daniel Stenberg
1731a77989
opt-docs: make sure all man pages have examples
Extended manpage-syntax.pl (run by test 1173) to check that every man
page for a libcurl option has an EXAMPLE section that is more than two
lines. Then fixed all errors it found and added examples.

Reviewed-by: Daniel Gustafsson
Closes #7656
2021-09-04 11:27:04 +02:00
Daniel Stenberg
c8210ef06d
get.d: provide more useful examples
Closes #7668
2021-09-04 00:16:53 +02:00
Daniel Stenberg
d02d8d93ff
page-header: add GOPHERS, simplify wording in the 1st para
Closes #7665
2021-09-03 08:39:48 +02:00
Daniel Stenberg
424051d78b
connect: get local port + ip also when reusing connections
Regression. In d6a37c23a3 (7.75.0) we removed the duplicated storage
(connection + easy handle), so this info needs be extracted again even
for re-used connections.

Add test 435 to verify

Reported-by: Max Dymond
Fixes #7660
Closes #7662
2021-09-02 23:42:18 +02:00
Marcel Raad
1b70748e86
multi: fix compiler warning with CURL_DISABLE_WAKEUP
`use_wakeup` is unused in this case.

Closes https://github.com/curl/curl/pull/7661
2021-09-02 15:52:00 +02:00
Daniel Stenberg
3f4b1b4ee5
tests: adjust the tftpd output to work with hyper mode
By making them look less like http headers, the hyper mode "tweak"
doesn't interfere.

Enable test 2002 and 2003 in hyper builds (and 1280 which is unrelated
but should be enabled).

Closes #7658
2021-09-01 23:40:28 +02:00
Gisle Vanem
3a6d30cfd3 openssl: annotate SSL3_MT_SUPPLEMENTAL_DATA
This adds support for the previously unhandled supplemental data which
in -v output was printed like:

    TLSv1.2 (IN), TLS header, Unknown (23):

These will now be printed with proper annotation:

    TLSv1.2 (OUT), TLS header, Supplemental data (23):

Closes #7652
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2021-09-01 22:46:21 +02:00
Daniel Stenberg
68784d73c3
curl.1: provide examples for each option
The file format for each option now features a "Example:" header that
can provide one or more examples that get rendered appropriately in the
output. All options MUST have at least one example or gen.pl complains
at build-time.

This fix also does a few other minor format and consistency cleanups.

Closes #7654
2021-09-01 14:02:43 +02:00
Daniel Stenberg
c905459e87
progress: make trspeed avoid floats
and compiler warnings for data conversions.

Reported-by: Michał Antoniak
Fixes #7645
Closes #7653
2021-09-01 08:35:31 +02:00