Commit Graph

31756 Commits

Author SHA1 Message Date
Richard Levitte
b2497a8d15 cmake: fix install for older CMake versions
- Generate the docs install list by using a foreach loop instead of
  LIST:TRANSFORM since older CMake can't handle the latter.

Reported-by: Dan Fandrich

Fixes https://github.com/curl/curl/issues/12920
Closes https://github.com/curl/curl/pull/12922
2024-02-18 01:02:45 -05:00
Stefan Eissing
e87751d69a vtls: fix tls proxy peer verification
- When verifying a proxy certificate for an ip address, use the correct
  ip family.

Prior to this change the "connection" ip family was used, which was not
necessarily the same.

Reported-by: HsiehYuho@users.noreply.github.com

Fixes https://github.com/curl/curl/issues/12831
Closes https://github.com/curl/curl/pull/12931
2024-02-16 18:00:21 -05:00
Dan Fandrich
30f1cb255b CI: Bump the Circle CI base Ubuntu image to the latest 20.04
The previous ones are going to be removed soon, plus the new ones
include all the fixes since then.
2024-02-15 16:05:47 -08:00
Jay Satiro
5691a6cf36 transfer: improve Windows SO_SNDBUF update limit
- Change the 1 second SO_SNDBUF update limit from per transfer to per
  connection.

Prior to this change many transfers over the same connection could cause
many SO_SNDBUF updates made to that connection per second, which was
unnecessary.

Closes https://github.com/curl/curl/pull/12911
2024-02-13 03:46:17 -05:00
Jay Satiro
24d6c2889f schannel: fix hang on unexpected server close
- Treat TLS connection close (either due to a close_notify from the
  server or just closed due to receiving 0) as pending data.

This is because in some cases schannel_recv knows the connection is
closed but has to return actual pending data so it can't return 0 or an
error to indicate no more data. In this case schannel_recv must be
called again, which only happens if readwrite_data sees that there is
still pending data.

Prior to this change if the total size of the body that libcurl expected
to receive from the server was unknown then it was possible under some
network conditions that libcurl would hang waiting to receive more data,
when in fact a close_notify alert indicating no more data would be sent
was already processed.

Fixes https://github.com/curl/curl/issues/12894
Closes https://github.com/curl/curl/pull/12910
2024-02-13 03:45:21 -05:00
Daniel Stenberg
ed596eb409
KNOWN_BUGS: FTP upload fails if remebered dir is deleted
Closes #12181
Closes #12923
2024-02-10 18:48:41 +01:00
MAntoniak
f8bd04ec50
mbedtls: use mbedtls_ssl_conf_{min|max}_tls_version
... instead of the deprecated mbedtls_ssl_conf_{min|max}_version

Closes #12905
2024-02-10 14:21:50 +01:00
Dan Fandrich
8436406a58 CI: bump to actions/cache@v4 to avoid warning 2024-02-09 17:23:55 -08:00
Evgeny Grin
b08200d31c
test1165: improve pattern matching
* Fix excluded digits at the end of the symbols ('CURL_DISABLE_POP3'
  was checked as 'CURL_DISABLE_POP')

Closes #12903
2024-02-09 23:57:09 +01:00
Dan Fandrich
922091c05c scripts: Fix cijobs.pl for Azure and GHA
The spacing in the yaml files changed.
2024-02-09 14:48:24 -08:00
Daniel Stenberg
d900bd2066
RELEASE-NOTES: synced 2024-02-09 23:47:10 +01:00
Daniel Stenberg
9b43dcdfd5
TODO: use pkg-config to find libpsl
Closes #12919
2024-02-09 23:35:07 +01:00
Daniel Stenberg
089b4e36e4
TODO: avoid nroff
Instead of adjusting roffit, skip the nroff step.

Closes #12919
2024-02-09 23:35:07 +01:00
Dan Fandrich
d7332e3e46 Revert "CI: run Circle macOS builds on x86 for now"
This reverts commit 2683de3078.
ARM resources are now available in Circle CI, so run these builds on ARM
again. This platform needs explicit paths set to libpsl and its
dependency icu4c.

Follow-up to 2683de30

Closes #12635
2024-02-09 13:24:21 -08:00
Viktor Szakats
f8513ee62e
cmake: add warning for using TLS libraries without 1.3 support
Closes #12900
2024-02-09 16:01:45 +01:00
Daniel Stenberg
05104f826e
configure: add warning for using TLS libraries without 1.3 support
Closes #12900
2024-02-09 16:01:39 +01:00
MAntoniak
07e5b3ea60
mbedtls: fix building when MBEDTLS_X509_REMOVE_INFO flag is defined
Closes #12904
2024-02-09 16:00:43 +01:00
Stefan Eissing
d8f01e0985
ftp: fix socket wait activity in ftp_domore_getsock
- when waiting on the data connection, always add the control socket to
  the pollset on state STOP or let the pingpong add the socket according
  to its needs.

Reported-by: Fabian Vogt
Fixes #12901
Closes #12913
2024-02-09 15:57:06 +01:00
Daniel Stenberg
d0a851fead
dist: make sure the http tests are in the tarball
Fixes #12914
Reported-by: Fabian Vogt
Closes #12917
2024-02-09 14:57:49 +01:00
Stefan Eissing
476adfeac0
multi: add xfer_buf to multi handle
- can be borrowed by transfer during recv-write operation
- needs to be released before borrowing again
- adjustis size to `data->set.buffer_size`
- used in transfer.c readwrite_data()

Closes #12805
2024-02-09 09:43:50 +01:00
Daniel Stenberg
c54d0ff6b3
write-out.md: clarify error handling details
- it gets used even if the transfer fails

- it does not cause error to be returned even if it fails

Closes #12909
2024-02-09 08:36:11 +01:00
Stefan Eissing
e7fd32b9ac
ftp: do lineend conversions in client writer
- remove the ftp special handling from sendf.c
- let ftp_do() add a client writer that does
  the linened conversions
- change the lineend conversion to no longer
  modify the passed buffer, but write smaller
  chunks to the next cwriter instead. The
  inefficiency of this will be mitigated once
  we add output buffering for all client writes.

Closes #12878
2024-02-08 23:20:56 +01:00
Stefan Eissing
6984aa3a45
ftp: tracing improvements
- trace socketindex for connection filters when not the first
- trace socket fd in tcp
- trace pollset adjusts in vtls

Closes #12902
2024-02-08 23:14:33 +01:00
Karthikdasari0423
5a4b2f9339
HTTP3.md: adjust the OpenSSL QUIC install instructions
tried installing with old steps but failed
tried with newly added setps and able to build
```
root@ubuntu:~/curl# ./src/curl -V
/root/curl/src/.libs/curl: /lib/x86_64-linux-gnu/libssl.so.3: version `OPENSSL_3.2.0' not found (required by /root/curl/lib/.libs/libcurl.so.4)
root@ubuntu:~/curl#
```
```
root@ubuntu:~/curl# ./src/curl -V
curl 8.6.1-DEV (x86_64-pc-linux-gnu) libcurl/8.6.1-DEV OpenSSL/3.2.0 zlib/1.2.11 brotli/1.0.9 libpsl/0.21.0 nghttp3/1.1.0 OpenLDAP/2.5.16
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli HSTS HTTP3 HTTPS-proxy IPv6 Largefile libz NTLM PSL SSL threadsafe TLS-SRP UnixSockets
root@ubuntu:~/curl#
```

Closes #12896
2024-02-08 16:25:04 +01:00
Daniel Stenberg
e52cddb956
TODO: align the TOC with the header 2024-02-08 15:00:00 +01:00
Daniel Stenberg
cf5f604229
docs: make sure curl.1 is included in dist tarballs
Ref: https://github.com/curl/curl/issues/12832#issuecomment-1933271873

Closes #12892
2024-02-08 11:10:14 +01:00
Karthikdasari0423
505f43c947
HTTP3.md: remove quiche word in Openssl 3.2
Closes #12893
2024-02-08 09:20:43 +01:00
Daniel Stenberg
ef4bd8d6c0
curl: when allocating variables, add the name into the struct
This saves the name from being an extra separate allocation.

Closes #12891
2024-02-07 23:11:40 +01:00
Daniel Stenberg
d1c9f38b8c
lib582: remove code causing warning that is never run
The previous realloc code in this code could trigger a compiler warning,
but since that code path cannot happen in normal circumstances it now
instead exits with an error message there.

Ref: #12887
Closes #12890
2024-02-07 15:45:29 +01:00
Stefan Eissing
ed09a99af5
vtls: revert "receive max buffer" + add test case
- add test_05_04 for requests using http/1.0, http/1.1 and h2 against an
  Apache resource that does an unclean TLS shutdown.
- revert special workarund in openssl.c for suppressing shutdown errors
  on multiplexed connections
- vlts.c restore to its state before 9a90c9dd64

Fixes #12885
Fixes #12844

Closes #12848
2024-02-07 14:46:41 +01:00
Daniel Stenberg
7cf8414fab
tests: support setting/using blank content env variables
- test450: remove --config from the keywords
- test2080: change return code
- test428: add --config as a keyword
- test428: disable on Windows due to CI problems
2024-02-07 13:45:59 +01:00
Daniel Stenberg
0f0edc283c
curl: exit on config file parser errors
Like when trying to import an environment variable that does not exist.

Also fix a bug for reading env variables when there is a default value
set.

Bug: https://curl.se/mail/archive-2024-02/0008.html
Reported-by: Brett Buddin

Add test 462 to verify.

Closes #12862
2024-02-07 13:45:28 +01:00
Daniel Szmulewicz
1d96828582
CURLOPT_WRITEFUNCTION.md: typo fix
The maximum amount of body data that is <be> passed to the write
callback is defined in the curl.h header file

Closes #12889
2024-02-07 13:36:18 +01:00
Daniel Stenberg
142ac257b3
lib: convert Curl_get_line to use dynbuf
Create the line in a dynbuf. Aborts the reading of the file on
errors. Avoids having to always allocate maximum amount from the
start. Avoids direct malloc.

Closes #12846
2024-02-07 09:22:10 +01:00
Daniel Stenberg
8f40b30c31
KNOWN_BUGS: unicode on Windows
Closes #11461
Closes #12231
Closes #12883
2024-02-07 09:14:11 +01:00
Daniel Stenberg
924e264bde tool_operate: change precedence of server Retry-After time
- When calculating the retry time, no longer allow a server's requested
  Retry-After time to take precedence over a longer retry time (either
  default algorithmic or user-specified).

Prior to this change the server's Retry-After time took precedence over
curl's retry time in all cases, but that's not always practical for
short Retry-After times depending on how busy the server is.

Bug: https://curl.se/mail/archive-2024-01/0022.html
Reported-by: Dirk Hünniger

Closes https://github.com/curl/curl/pull/12871
2024-02-07 02:49:28 -05:00
Daniel Stenberg
911fc964a1
cmdline-docs: quote and angle bracket cleanup
- make sure angle brackets are escaped
- remove a lot of superfluous double quotes
- replace several double quotes with backticks

To make nicer-looking markdown.

Closes #12884
2024-02-07 08:35:28 +01:00
Daniel Stenberg
dc3eb678da
badwords: use hostname, not host name
and username, filename - consistently. Fixed the patterns in
badwords.txt to catch these.

Closes #12888
2024-02-07 08:25:52 +01:00
Viktor Szakats
bdb0bf4782
cmake: fix function description in comment [ci skip]
Closes #12879
2024-02-06 22:20:33 +00:00
Daniel Stenberg
a5c86203be
header.md: remove backslash, make nicer markdown
- remove a leftover backslash before a dash
- use backticks for "code" strings

Closes #12877
2024-02-06 13:07:02 +01:00
Daniel Stenberg
755b31da10
docs: add mk-ca-bundle.1 to dist
... which also makes it get built. But don't build this or curl-config.1
if build docs is disabled.

Closes #12875
2024-02-06 11:04:09 +01:00
Stefan Eissing
c177e1944c
https-proxy: use IP address and cert with ip in alt names
- improve info logging when peer verification fails to indicate
  if DNS name or ip address has been tried to match
- add test case for contacting https proxy with ip address
- add pytest env check on loaded credentials and re-issue
  when they are no longer valid
- disable proxy ip address test for bearssl, since not supported there

Ref: #12831
Closes #12838
2024-02-06 10:10:14 +01:00
Jiawen Geng
4f79455877
docs: add necessary setup for nghttp3
Now nghttp3 has submodules
https://github.com/ngtcp2/nghttp3/blob/main/.gitmodules

Closes #12859
2024-02-06 09:56:39 +01:00
Peter Krefting
174c89ec3f
version: allow building with ancient libpsl
The psl_check_version_number() API was added in libpsl 0.11.0. CentOS 7
ships with version 0.7.0 which lacks this API. Revert to using the older
versioning API if we detect an old libpsl version.

Follow-up to 72bd88adde
Bug: https://curl.se/mail/archive-2024-02/0004.html
Reported-by: Scott Mutter
Closes #12872
2024-02-06 09:50:35 +01:00
Daniel Stenberg
8050761e1a
TODO: Support latest rustls
Closes #12737
Closes #12874
2024-02-06 09:36:17 +01:00
Daniel Stenberg
d94733b447
docs: make curldown do angle brackets like markdown
Make sure we use \< and \> in markdown all over so that it renders
correctly, on GitHub and elsewhere. cd2nroff now outputs a warning if it
finds an unescaled angle bracket.

Ref: #12854
Closes #12869
2024-02-06 08:17:40 +01:00
Daniel Stenberg
80944740e5
docs: fix the --disable-docs for autotools
Follow-up to 541321507e

Closes #12870
2024-02-06 08:09:44 +01:00
Daniel Stenberg
ad79612f97
RELEASE-NOTES: synced 2024-02-06 00:14:44 +01:00
Daniel Stenberg
bf411ccd0d
libcurl-security.md: Active FTP passes on the local IP address
Reported-by: Harry Sintonen
Closes #12867
2024-02-06 00:11:39 +01:00
Stefan Eissing
577182a6df
configure: do not link with nghttp3 unless necessary
Fixes #12833
Closes #12864
Reported-by: Ryan Carsten Schmidt
2024-02-05 23:47:39 +01:00