Wyatt O'Day
8beff43559
schannel: Add TLS 1.3 support
...
- Support TLS 1.3 as the default max TLS version for Windows Server 2022
and Windows 11.
- Support specifying TLS 1.3 ciphers via existing option
CURLOPT_TLS13_CIPHERS (tool: --tls13-ciphers).
Closes https://github.com/curl/curl/pull/8419
2022-08-02 13:54:31 -04:00
Emil Engler
92179353e5
cmdline-opts/gen.pl: improve performance
...
On some systems, the gen.pl script takes nearly two minutes for the
generation of the main-page, which is a completely unacceptable time.
The slow performance has two causes:
1. Use of a regex locale operator
2. Useless invokations of loops
The commit addresses the first issue by replacing the "\W" wiht
[^a-zA-Z0-9_], which is, according to regex101.com, functionally
equivalent to the previous operation, except that it is obviously
limited to ASCII only, which is fine, as the curl project is
English-only anyway.
The second issue is being addressed by only running the loop if the line
contains a "--" in it. The loop may be completeley removed in the
future.
Co-authored-by: Emanuele Torre <torreemanuele6@gmail.com>
See #8299
Fixes #9230
Closes #9232
2022-08-02 17:10:03 +02:00
Daniel Stenberg
209ffd7d8e
docs/cmdline: mark fail and fail-with-body as mutually exclusive
...
Reported-by: Andreas Sommer
Fixes #9221
Closes #9222
2022-08-02 17:08:21 +02:00
Nao Yonashiro
2086b69b57
quiche: fix build failure
...
Reviewed-by: Alessandro Ghedini
Closes #9223
2022-08-02 16:49:36 +02:00
Viktor Szakats
c3456652a0
configure.ac: drop references to deleted functions
...
follow-up from 4d73854462
Reported-by: Oliver Roberts
Fixes #9238
Closes #9240
2022-08-02 12:22:36 +00:00
Sean McArthur
3b52a80c05
hyper: enable obs-folded multiline headers
...
Closes #9216
2022-07-28 00:36:18 +02:00
Daniel Stenberg
3141062c23
connect: revert the use of IP*_RECVERR
...
The options were added in #6341 and d13179d
, but cause problems: Lots of
POLLIN event occurs but recvfrom read nothing.
Reported-by: Tatsuhiro Tsujikawa
Fixes #9209
Closes #9215
2022-07-28 00:34:23 +02:00
Marco Kamner
263409cf24
docs: remove him/her/he/she from documentation
...
Closes #9208
2022-07-27 13:52:53 +02:00
Daniel Stenberg
14f4e67ff6
RELEASE-NOTES: synced
2022-07-27 12:34:31 +02:00
Daniel Stenberg
f7e14fee68
tool_getparam: make --doh-url "" switch it off
...
A possible future addition could be to parse the URL first too to verify
that it is valid before trying to use it.
Assisted-by: Jay Satiro
Closes #9207
2022-07-27 10:56:13 +02:00
Daniel Stenberg
0c47d879ae
mailmap: add rzrymiak on github
2022-07-27 10:56:13 +02:00
Jay Satiro
9bd40e2b69
ngtcp2: Fix build error due to change in nghttp3 prototypes
...
ngtcp2/nghttp3@4a066b2 changed nghttp3_conn_block_stream and
nghttp3_conn_shutdown_stream_write return from int to void.
Reported-by: jurisuk@users.noreply.github.com
Fixes https://github.com/curl/curl/issues/9204
Closes https://github.com/curl/curl/pull/9200
2022-07-26 13:23:56 -04:00
rzrymiak
e28edb6678
BUGS.md: improve language
...
Closes #9205
2022-07-26 11:18:54 +02:00
Philip H
bff6277679
cirrus.yml: replace py38-pip with py39-pip
...
Reported-by: Jay Satiro
Fixes #9201
Closes #9202
2022-07-26 00:02:40 +02:00
Daniel Stenberg
206550a9c2
tool_getparam: fix cleanarg() for unicode builds
...
Use the correct type, and make cleanarg an empty macro if the cleaning
ability is absent.
Fixes #9195
Closes #9196
Reviewed-by: Jay Satiro
Reviewed-by: Marcel Raad
2022-07-25 23:58:43 +02:00
Marc Hoersken
40b6206085
test3026: add support for Windows using native Win32 threads
...
Reviewed-by: Viktor Szakats
Reviewed-by: Jay Satiro
Reviewed-by: Daniel Stenberg
Follow up to 7ade9c50b3
Closes #9012
2022-07-25 21:24:57 +02:00
Evgeny Grin (Karlson2k)
6e241bbf1d
digest: fix memory leak, fix not quoted 'opaque'
...
Fix leak regression introduced by 3a6fe0c
.
Closes https://github.com/curl/curl/pull/9199
2022-07-25 15:06:30 -04:00
Daniel Stenberg
6fa89fa893
tests: several enumerated type cleanups
...
To please icc
Closes #9179
2022-07-23 13:39:29 +02:00
Daniel Stenberg
0bb842a587
tool_paramhlp: fix "enumerated type mixed with another type"
...
Warning by icc
Closes #9179
2022-07-23 13:39:26 +02:00
Daniel Stenberg
ddfd41c9b2
tool_writeout: fix enumerated type mixed with another type
...
Closes #9179
2022-07-23 13:39:23 +02:00
Daniel Stenberg
2b0ddb657c
tool_cfgable: make 'synthetic_error' a plain bool
...
The specific reason was not used.
Closes #9179
2022-07-23 13:39:20 +02:00
Daniel Stenberg
3f533a7977
tool_paramhlp: make check_protocol return ParameterError
...
"enumerated type mixed with another type"
Closes #9179
2022-07-23 13:39:17 +02:00
Daniel Stenberg
6b6fe4fec5
tool_formparse: fix variable may be used before its value is set
...
Warning by icc
Closes #9179
2022-07-23 13:39:13 +02:00
Daniel Stenberg
07535a4f87
sendf: skip storing HTTP headers if HTTP disabled
...
Closes #9179
2022-07-23 13:39:10 +02:00
Daniel Stenberg
3be0c67379
url: enumerated type mixed with another type
...
Follow-up to 1c58e7ae99ce2030213f28b
Closes #9179
2022-07-23 13:39:06 +02:00
Daniel Stenberg
8cd57d6e39
urldata: change second proxytype field to unsigned char to match
...
To avoid "enumerated type mixed with another type"
Closes #9179
2022-07-23 13:39:03 +02:00
Daniel Stenberg
8d1da2e172
http: typecast the httpreq assignment to avoid icc compiler warning
...
error #188 : enumerated type mixed with another type
Closes #9179
2022-07-23 13:39:00 +02:00
Daniel Stenberg
dcbc9226bc
urldata: make state.httpreq an unsigned char
...
To match set.method used for the same purpose.
Closes #9179
2022-07-23 13:38:57 +02:00
Daniel Stenberg
32db1ed867
splay: avoid using -1 in unsigned variable
...
To fix icc compiler warning integer conversion resulted in a change of sign
Closes #9179
2022-07-23 13:38:54 +02:00
Daniel Stenberg
6531c0e85a
sendf: store the header type in an usigned char to avoid icc warnings
...
Closes #9179
2022-07-23 13:38:50 +02:00
Daniel Stenberg
4c57fdcf87
multi: fix the return code from Curl_pgrsDone()
...
It does not return a CURLcode. Detected by the icc compiler warning
"enumerated type mixed with another type"
Closes #9179
2022-07-23 13:38:47 +02:00
Daniel Stenberg
74d47e22aa
sendf: make Curl_debug a void function
...
As virtually no called checked the return code, and those that did
wrongly treated it as a CURLcode. Detected by the icc compiler warning:
enumerated type mixed with another type
Closes #9179
2022-07-23 13:38:43 +02:00
Daniel Stenberg
f273b59144
http_chunks: remove an assign + typecast
...
As it caused icc to complain: "pointer cast involving 64-bit pointed-to
type"
Closes #9179
2022-07-23 13:38:36 +02:00
Daniel Stenberg
336f7cd5af
vtls: make Curl_ssl_backend() return the enum type curl_sslbackend
...
To fix the icc warning enumerated type mixed with another type
Closes #9179
2022-07-23 13:38:33 +02:00
Daniel Stenberg
3f5b66c13d
curl-compilers.m4: make icc use -diag* options and disable two warnings
...
-wd and -we are deprecated and are now -diag-disable and -diag-error
Disable warning 1024 and 2259
Closes #9179
2022-07-23 13:38:24 +02:00
Matthew Thompson
b35a49a549
GHA: add two Intel compiler CI jobs
...
Closes #9179
2022-07-23 00:47:22 +02:00
Daniel Katz
e7511f853a
curl-functions.m4: check whether atomics can link rather than just compile
...
Some build toolchains support C11 atomics (i.e., _Atomic types), but
will not link the associated atomics runtime unless a flag is passed. In
such an environment, linking an application with libcurl.a can fail due
to undefined symbols for atomic load/store functions.
I encountered this behavior when upgrading curl to 7.84.0 and attempting
to build with Solaris Studio 12.6. Solaris provides the flag
-xatomic=[gcc | studio], allowing users to link to one of two atomics
runtime implementations. However, if the user does not provide this
flag, then neither runtime is linked. This led to builds failing in CI.
Closes #9190
2022-07-21 16:30:19 +02:00
Rosen Penev
6657602f50
curl-wolfssl.m4: add options header when building test code
...
Needed for certain configurations of wolfSSL. Otherwise, missing header
error may occur.
Tested with OpenWrt.
Closes #9187
2022-07-20 10:18:05 +02:00
Daniel Stenberg
fe8f1512e5
ftp: use a correct expire ID for timer expiry
...
This was an accurate error pointed out by the icc warning: enumerated
type mixed with another type
Ref: #9179
Closes #9184
2022-07-20 00:50:19 +02:00
Daniel Stenberg
6f037100eb
sendf: fix paused header writes since after the header API
...
Regression since d1e4a67
Reported-by: Sergey Ogryzkov
Fixes #9180
Closes #9182
2022-07-20 00:49:06 +02:00
Daniel Stenberg
7935972b37
mprintf: fix *dyn_vprintf() when out-of-memory
...
Follow-up to 0e48ac1f99
. Torture-testing 1455 would lead to a memory
leak otherwise.
Closes #9185
2022-07-19 23:56:03 +02:00
Daniel Stenberg
24694cb3ea
curl-confopts: remove leftover AC_REQUIREs
...
configure.ac:3488: warning: CURL_CHECK_FUNC_IOCTL is m4_require'd but not m4_defun'd
configure.ac:3488: warning: CURL_CHECK_FUNC_SETSOCKOPT is m4_require'd but not m4_defun'd
follow-up from 4d73854462
Closes #9183
2022-07-19 21:05:25 +02:00
Daniel Stenberg
c61e6de7d5
file: fix icc enumerated type mixed with another type warning
...
Ref: #9179
Closes #9181
2022-07-19 18:10:08 +02:00
Viktor Szakats
4d73854462
tidy-up: delete unused build configuration macros
...
Most of them feature guards:
- `CURL_INCLUDES_SYS_UIO` [1]
- `HAVE_ALLOCA_H` [2]
- `HAVE_CRYPTO_CLEANUP_ALL_EX_DATA` (unused since de71e68000
)
- `HAVE_DLFCN_H`
- `HAVE_DLOPEN`
- `HAVE_DOPRNT`
- `HAVE_FCNTL`
- `HAVE_GETHOSTBYNAME` [3]
- `HAVE_GETOPT_H`
- `HAVE_GETPASS`
- `HAVE_GETPROTOBYNAME`
- `HAVE_GETSERVBYNAME`
- `HAVE_IDN_FREE*`
- `HAVE_INET_ADDR`
- `HAVE_IOCTL`
- `HAVE_KRB4`
- `HAVE_KRB_GET_OUR_IP_FOR_REALM`
- `HAVE_KRB_H`
- `HAVE_LDAPSSL_H`
- `HAVE_LDAP_INIT_FD`
- `HAVE_LIBDL`
- `HAVE_LIBNSL`
- `HAVE_LIBRESOLV*`
- `HAVE_LIBUCB`
- `HAVE_LL`
- `HAVE_LOCALTIME_R`
- `HAVE_MALLOC_H`
- `HAVE_MEMCPY`
- `HAVE_MEMORY_H`
- `HAVE_NETINET_IF_ETHER_H`
- `HAVE_NI_WITHSCOPEID`
- `HAVE_OPENSSL_CRYPTO_H`
- `HAVE_OPENSSL_ERR_H`
- `HAVE_OPENSSL_PEM_H`
- `HAVE_OPENSSL_PKCS12_H`
- `HAVE_OPENSSL_RAND_H`
- `HAVE_OPENSSL_RSA_H`
- `HAVE_OPENSSL_SSL_H`
- `HAVE_OPENSSL_X509_H`
- `HAVE_PEM_H`
- `HAVE_POLL`
- `HAVE_RAND_SCREEN`
- `HAVE_RAND_STATUS`
- `HAVE_RECVFROM`
- `HAVE_SETSOCKOPT`
- `HAVE_SETVBUF`
- `HAVE_SIZEOF_LONG_DOUBLE`
- `HAVE_SOCKIO_H`
- `HAVE_SOCK_OPTS`
- `HAVE_STDIO_H`
- `HAVE_STRCASESTR`
- `HAVE_STRFTIME`
- `HAVE_STRLCAT`
- `HAVE_STRNCMPI`
- `HAVE_STRNICMP`
- `HAVE_STRSTR`
- `HAVE_STRUCT_IN6_ADDR`
- `HAVE_TLD_H`
- `HAVE_TLD_STRERROR`
- `HAVE_UNAME`
- `HAVE_USLEEP`
- `HAVE_WINBER_H`
- `HAVE_WRITEV`
- `HAVE_X509_H`
- `LT_OBJDIR`
- `NEED_BASENAME_PROTO`
- `NOT_NEED_LIBNSL`
- `OPENSSL_NO_KRB5`
- `RECVFROM_TYPE*`
- `SIZEOF_LONG_DOUBLE`
- `STRERROR_R_TYPE_ARG3`
- `USE_YASSLEMUL`
- `_USRDLL` (from CMake) [4]
[1] Related parts in `m4/curl-functions.m4` and `configure.ac` might
also be deleted.
[2] Related comment can possibly be deleted in
`packages/vms/generate_config_vms_h_curl.com`.
[3] There are more instances of this in autotools, but I did not dare to
touch those. Looked like it's used to detect socket support.
[4] This is necessary for MFC (Microsoft Foundation Class) DLLs to
force linking MFC components statically to the DLL. `libcurl.dll`
does not use MFC, so we can delete this define.
Ref: https://docs.microsoft.com/cpp/build/regular-dlls-statically-linked-to-mfc
Script that can help finding unused settings like above:
```shell
autoheader configure.ac # generate lib/curl_config.h.in
{
grep -o -E 'set\([A-Z][A-Z0-9_]{3,}' CMake/Platforms/WindowsCache.cmake | sed -E 's|set\(||g'
grep -o -E -h '#define +[A-Z][A-Z0-9_]{3,}' lib/config-*.h | sed -E 's|#define +||g'
grep -o -E '#cmakedefine +[A-Z][A-Z0-9_]{3,}' lib/curl_config.h.cmake | sed -E 's|#cmakedefine +||g'
grep -o -E '#undef +[A-Z][A-Z0-9_]{3,}' lib/curl_config.h.in | sed -E 's|#undef +||g'
} | sort -u | grep -v -F 'HEADER_CURL_' | while read -r def; do
c="$(git grep -w -F "${def}" | grep -v -E -c '(/libcurl\.tmpl|^lib/config-|^lib/curl_config\.h\.cmake|^CMakeLists\.txt|^CMake/Platforms/WindowsCache\.cmake|^packages/vms/config_h\.com|^m4/curl-functions\.m4|^acinclude\.m4|^configure\.ac)')"
if [ "${c}" = '0' ]; then
echo "${def}"
fi
done
```
Reviewed-by: Daniel Stenberg
Closes #9044
2022-07-19 15:12:19 +00:00
Daniel Stenberg
6e83e27f6c
RELEASE-NOTES: synced
2022-07-19 15:03:02 +02:00
Daniel Stenberg
4c0ac2aa59
cookie: treat a blank domain in Set-Cookie: as non-existing
...
This matches what RFC 6265 section 5.2.3 says.
Extended test 31 to verify.
Fixes #9164
Reported-by: Gwen Shapira
Closes #9177
2022-07-19 11:52:54 +02:00
Patrick Monnerat
c2e72c7812
base64: base64url encoding has no padding
...
See RFC4648 section 5 and RFC7540 section 3.2.1.
Suppress generation of '=' padding of base64url encoding. This is
accomplished by considering the string beginning at offset 64 in the
character table as the padding: this is "=" for base64, "" for base64url.
Also use strchr() to replace character search loops where possible.
Suppress erroneous comments about empty encoding results.
Adjust unit test 1302 to unpadded base64url encoding and add tests for
empty results.
Closes #9139
2022-07-19 11:06:20 +02:00
Daniel Stenberg
dfe5a3023b
easyoptions: fix icc warning
...
easyoptions.c(360): error #188 : enumerated type mixed with another type
Ref: #9156
Reported-by: Matthew Thompson
Closes #9176
2022-07-19 11:01:15 +02:00
lwthiker
b9b6148c45
h2h3: fix overriding the 'TE: Trailers' header
...
A 'TE: Trailers' header is explicitly replaced by 'te: trailers'
(lowercase) in Curl_pseudo_headers() when building the list of HTTP/2 or
HTTP/3 headers. However, this is then replaced again by the original
value due to a bug, resulting in the uppercased version being sent. Some
HTTP/2 servers reject the whole HTTP/2 stream when this is the case.
Closes #9170
2022-07-19 00:19:13 +02:00
Daniel Stenberg
0484127805
lib3026: reduce the number of threads to 100
...
Down from 1000, to make it run and work in more systems.
Fixes #9172
Reported-by: Érico Nogueira Rolim
Closes #9173
2022-07-18 11:58:38 +02:00