Commit Graph

27587 Commits

Author SHA1 Message Date
Don
62dbfa30ba
cmake: sync CURL_DISABLE options
Adds the full listing of CURL_DISABLE options to the CMake build. Moves
all option code, except for CURL_DISABLE_OPENSSL_AUTO_LOA_CONFIG which
resides near OpenSSL configuration, to the same block of code. Also
sorts the options here and in the cmake config header.

Additionally sorted the CURL-DISABLE listing and fixed the
CURL_DISABLE_POP3 option.

Closes #7624
2021-08-25 13:05:50 +02:00
Jay Satiro
1e67c73b5a KNOWN_BUGS: FTPS upload data loss with TLS 1.3
Bug: https://github.com/curl/curl/issues/6149
Reported-by: Bylon2@users.noreply.github.com

Closes https://github.com/curl/curl/pull/7623
2021-08-25 03:37:37 -04:00
Daniel Stenberg
825911be58
cmake: avoid poll() on macOS
... like we do in configure builds. Since poll() on macOS is not
reliable enough.

Reported-by: marc-groundctl
Fixes #7595
Closes #7619
2021-08-24 17:44:29 +02:00
Daniel Stenberg
e5d77dc2ca
c-hyper: handle HTTP/1.1 => HTTP/1.0 downgrade on reused connection
Enable test 1074

Closes #7617
2021-08-23 16:12:33 +02:00
Daniel Stenberg
38941ad6f3
c-hyper: deal with Expect: 100-continue combined with POSTFIELDS
Enable test 1130 and 1131

Closes #7616
2021-08-23 16:10:15 +02:00
a1346054
ec91b5a690
tests: be explicit about using 'python3' instead of 'python'
This fixes running tests in virtualenvs (or on distros) that no longer
have a symlink from python to python2 or python3.

Closes #7602
2021-08-23 15:59:43 +02:00
a1346054
5458e6bd18
scripts: invoke interpreters through /usr/bin/env
Closes #7602
2021-08-23 15:59:34 +02:00
Daniel Stenberg
473b893c7e
DISABLED: enable 11 more tests for hyper builds
Closes #7612
2021-08-23 11:24:25 +02:00
Daniel Stenberg
46d4373ea7
setopt: enable CURLOPT_IGNORE_CONTENT_LENGTH for hyper
Since this option is also used for FTP, it needs to work to set for
applications even if hyper doesn't support it for HTTP. Verified by test
1137.

Updated docs to specify that the option doesn't work for HTTP when using
the hyper backend.

Closes #7614
2021-08-23 11:23:17 +02:00
Daniel Stenberg
0854781c18
test1138: remove trailing space to make work with hyper
Closes #7613
2021-08-23 11:21:38 +02:00
Daniel Stenberg
b9183e6e72
libcurl-errors.3: clarify two CURLUcode errors
CURLUE_BAD_HANDLE and CURLUE_BAD_PARTPOINTER should be for "bad" or
wrong pointers in a generic sense, not just for NULL pointers.

Reviewed-by: Jay Satiro

Ref: #7605
Closes #7611
2021-08-23 09:01:34 +02:00
Jay Satiro
d5a27064a0 symbols-in-versions: fix CURLSSLBACKEND_QSOSSL last used version
... and also change the 'Removed' column name to 'Last' since that
column is for the last version to contain the symbol.

Closes https://github.com/curl/curl/pull/7609
2021-08-23 02:59:38 -04:00
Daniel Stenberg
98e6db24c4
urlapi.c:seturl: assert URL instead of using if-check
There's no code flow possible where this can happen. The assert makes
sure it also won't be introduced undetected in the future.

Closes #7610
2021-08-23 08:50:58 +02:00
Daniel Stenberg
f09030b638
curl-openssl.m4: show correct output for OpenSSL v3
Using 3.0.0 versions configure should now show this:

checking for OpenSSL headers version... 3.0.0 - 0x300
checking for OpenSSL library version... 3.0.0
checking for OpenSSL headers and library versions matching... yes

This output doesn't actually change what configure generates but is only
"cosmetic".

Reported-by: Randall S. Becker
Fixes #7606
Closes #7608
2021-08-22 12:29:55 +02:00
Jay Satiro
9cb395dcc9 mksymbolsmanpage.pl: Fix showing symbol's last used version
Prior to this change the symbol's deprecated version was erroneously
shown as its last used version.

Bug: https://github.com/curl/curl/commit/4e53b94#commitcomment-55239509
Reported-by: i-ky@users.noreply.github.com
2021-08-22 01:12:26 -04:00
Daniel Stenberg
342f92763e
mksymbolsmanpage.pl: match symbols case insenitively
Follow-up to 4e53b9430c which made this bug show.

Reported-by: i-ky
Bug: 4e53b9430c (commitcomment-55239253)
Closes #7607
2021-08-21 23:40:11 +02:00
Daniel Stenberg
378e331e92
asyn-ares: call ares_freeaddrinfo() to clean up addrinfo results
As this leaks memory otherwise

Follow-up to ba904db070

Closes #7599
2021-08-21 17:14:14 +02:00
Ehren Bendler
797bacf9c5
wolfssl: clean up wolfcrypt error queue
If wolfSSL is built in certain ways (OPENSSL_EXTRA or Debug), the error
queue gets added on to for each session and never freed. Fix it by
calling ERR_clear_error() like in vtls/openssl when needed. This func is
a no-op in wolfcrypt if the error queue is not enabled.

Closes #7594
2021-08-21 17:05:14 +02:00
Daniel Stenberg
4e53b9430c
man pages: remove trailing whitespaces
Extended test 1173 (via the manpage-syntax.pl script) to detect and warn
for them.

Ref: #7602
Reported-by: a1346054 on github
Closes #7604
2021-08-21 16:44:03 +02:00
Daniel Stenberg
77c739909b
mailmap: add Gleb Ivanovsky 2021-08-21 16:38:06 +02:00
Daniel Stenberg
75d379a46f
config.d: escape the backslash properly
Closes #7603
2021-08-21 15:49:37 +02:00
Don
4886962fb1
curl_setup.h: sync values for HTTP_ONLY
The values for HTTP_ONLY differed between CMakeLists.txt and
curl_setup.h. Sync them and sort the values in curl_setup.h to make it
easier to spot differences.

Closes #7601
2021-08-21 15:44:17 +02:00
Jay Satiro
37f1c21cb9 configure: set classic mingw minimum OS version to XP
- If the user has not specified a minimum OS version (via WINVER or
  _WIN32_WINNT macros) then set it to Windows XP.

Prior to this change classic MinGW defaulted the minimum OS version
to Windows NT 4.0 which is way too old. At least Windows XP is needed
for getaddrinfo (which resolves hostnames to IPv6 addresses).

Ref: https://github.com/curl/curl/issues/7483#issuecomment-891597034

Closes https://github.com/curl/curl/pull/7581
2021-08-21 03:06:10 -04:00
Jay Satiro
7d76be33d4 schannel: Work around typo in classic mingw macro
- Define ALG_CLASS_DHASH (the typo from the include) to ALG_CLASS_HASH.

Prior to this change there was an incomplete fix to ignore the
CALG_TLS1PRF macro on those versions of MinGW where it uses the
ALG_CLASS_DHASH typoed macro.

Ref: 48cf45c
Ref: https://osdn.net/projects/mingw/ticket/38391
Ref: https://github.com/curl/curl/issues/2924

Closes https://github.com/curl/curl/pull/7580
2021-08-21 03:05:33 -04:00
Daniel Stenberg
c78762d48a
RELEASE-NOTES: synced 2021-08-20 13:57:20 +02:00
Daniel Stenberg
059379d20c
http_proxy: fix user-agent and custom headers for CONNECT with hyper
Enable test 287

Closes #7598
2021-08-20 13:51:06 +02:00
Daniel Stenberg
f46b83fc94
c-hyper: initial support for "dumping" 1xx HTTP responses
With the use hyper_request_on_informational()

Enable test 155 and 158

Closes #7597
2021-08-20 13:37:43 +02:00
Marc Hoersken
5b1c2dd1db
tests/*server.pl: flush output before executing subprocess
Also avoid shell processes staying around by using exec.
This is necessary to avoid output data being buffering
inside the process chain of Perl, Bash/Shell and our
test server binaries. On non-Windows systems the exec
will also make the subprocess replace the intermediate
shell, but on Windows it will at least bind the processes
together since there is no real fork or exec available.

See: https://cygwin.com/cygwin-ug-net/highlights.html
and: https://docs.microsoft.com/cpp/c-runtime-library/exec-wexec-functions
Ref: https://github.com/curl/curl/pull/7530#issuecomment-900949010

Reviewed-by: Daniel Stenberg
Reviewed-by: Jay Satiro
Closes #7530
2021-08-18 20:59:36 +02:00
Marc Hoersken
ebefa3b9f0
CI: use GitHub Container Registry instead of Docker Hub
Avoid limits on Docker Hub and improve image pull/download speed.

Closes #7587
2021-08-18 20:57:03 +02:00
Daniel Stenberg
0da1356060
openssl: when creating a new context, there cannot be an old one
Remove the previous handling that would call SSL_CTX_free(), and instead
add an assert that halts a debug build if there ever is a context
already set at this point.

Closes #7585
2021-08-18 14:11:45 +02:00
Jay Satiro
f121b01593 KNOWN_BUGS: Renegotiate from server may cause hang for OpenSSL backend
Closes https://github.com/curl/curl/issues/6785
2021-08-18 03:41:41 -04:00
Viktor Szakats
422d1ccab0
docs/BINDINGS: URL update 2021-08-17 23:16:46 +00:00
Marc Hoersken
b5abbc3d57
tests/server/*.c: align handling of portfile argument and file
1. Call the internal variable portname (like pidname) everywhere.
2. Have a variable wroteportfile (like wrotepidfile) everywhere.
3. Make sure the file is cleaned up on exit (like pidfile).
4. Add parameter --portfile to usage outputs everywhere.

Reviewed-by: Daniel Stenberg

Replaces #7523
Closes #7574
2021-08-17 21:43:31 +02:00
Daniel Gustafsson
31480dbd37 KNOWN_BUGS: Fix a number of typos in KNOWN_BUGS
Fixes a set of typos found in section 11.3.
2021-08-17 13:49:04 +02:00
Daniel Stenberg
5ceb83ff6c
getparameter: fix the --local-port number parser
It could previously get tricked into parsing the uninitialized stack
based buffer.

Reported-by: Brian Carpenter
Closes #7582
2021-08-17 10:58:22 +02:00
Daniel Stenberg
04f46a2a1a
KNOWN_BUGS: Can't use Secure Transport with Crypto Token Kit
Closes #7048
2021-08-17 10:29:00 +02:00
Jan Verbeek
50ddc14449
curl: add warning for ignored data after quoted form parameter
In an argument like `-F 'x=@/etc/hostname;filename="foo"abc'` the `abc`
is ignored. This adds a warning if the ignored data isn't all
whitespace.

Closes #7394
2021-08-17 10:15:33 +02:00
Jay Satiro
4729c25180 codeql: fix error "Resource not accessible by integration"
- Enable codeql writing security-events.

GitHub set the default permissions to read, apparently since earlier
this year.

Ref: https://github.com/github/codeql-action/issues/464
Ref: https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/

Fixes https://github.com/curl/curl/issues/7575
Closes https://github.com/curl/curl/pull/7576
2021-08-17 03:32:10 -04:00
Jay Satiro
b654fb4cd3 tool_operate: Fix --fail-early with parallel transfers
- Abort via progress callback to fail early during parallel transfers.

When a critical error occurs during a transfer (eg --fail-early
constraint) then other running transfers will be aborted via progress
callback and finish with error CURLE_ABORTED_BY_CALLBACK (42). In this
case, the callback error does not become the most recent error and a
custom error message is used for those transfers:

curld --fail --fail-early --parallel
https://httpbin.org/status/404 https://httpbin.org/delay/10

curl: (22) The requested URL returned error: 404
curl: (42) Transfer aborted due to critical error in another transfer

> echo %ERRORLEVEL%
22

Fixes https://github.com/curl/curl/issues/6939
Closes https://github.com/curl/curl/pull/6984
2021-08-17 03:21:29 -04:00
Sergey Markelov
1828f6ae2e
sectransp: support CURLINFO_CERTINFO
Fixes #4130
Closes #7372
2021-08-17 08:40:44 +02:00
Daniel Stenberg
44f88e662f
ngtcp2: remove the acked_crypto_offset struct field init
... as it is gone from the API upstream.

Closes #7578
2021-08-16 23:06:36 +02:00
Daniel Stenberg
8c9722bb1c
misc: update incorrect copyright year ranges
Closes #7577
2021-08-16 11:21:47 +02:00
Daniel Stenberg
859b33868d
KNOWN_BUGS: HTTP/3 quiche upload large file fails
Closes #7532
2021-08-16 10:41:06 +02:00
Daniel Stenberg
b8139e43ce
KNOWN_BUGS: CMake build with MIT Kerberos does not work
Closes #6904
2021-08-16 09:41:54 +02:00
Daniel Stenberg
29fd163220
TODO: add asynch getaddrinfo support
Closes #6746
2021-08-16 09:37:16 +02:00
Daniel Stenberg
ae35fc6004
RELEASE-NOTES: synced 2021-08-16 09:18:38 +02:00
Artur Sinila
ccffb6ec16
http2: revert call the handle-closed function correctly on closed stream
Reverts 252790c533

Assisted-by: Gergely Nagy
Fixes #7400
Closes #7525
2021-08-16 08:44:52 +02:00
Patrick Monnerat
7da2990b19
auth: do not append zero-terminator to authorisation id in kerberos
RFC4752 Section 3.1 states "The authorization identity is not terminated
with a zero-valued (%x00) octet". Although a comment in code said it may
be needed anyway, nothing confirms it. In addition, servers may consider
it as part of the identity, causing a failure.

Closes #7008
2021-08-16 08:36:10 +02:00
Patrick Monnerat
396a2d7fe3
auth: use sasl authzid option in kerberos
... instead of deriving it from active ticket.
Closes #7008
2021-08-16 08:36:06 +02:00
Patrick Monnerat
0a1c85e39b
auth: we do not support a security layer after kerberos authentication
Closes #7008
2021-08-16 08:36:03 +02:00