#
cd2b4520 |
| 28-Oct-2024 |
Daniel Stenberg |
src/lib: remove redundant ternary operators Closes #15435
|
#
9cc24640 |
| 17-Oct-2024 |
Daniel Stenberg |
source: avoid use of 'very' in comments
|
#
a7ccd026 |
| 05-Sep-2024 |
Stefan Eissing |
ftp: move listen handling to socket filter Move the listen/accept handling of the FTP active data connection into the socket filter and monitor 'connected' status of that as with pas
ftp: move listen handling to socket filter Move the listen/accept handling of the FTP active data connection into the socket filter and monitor 'connected' status of that as with passive connections - more or less. The advantage is that the socket filter now reports being connected only when the server has actually called and accept() has been done. This enables to bootstrap the filter chain on the data connection just like any other. A require SSL filter can then be added right at the start and does not need to be patched in later. Still, the active connection keeps on needing special handling in ftp.c as the control connection needs to be monitored while waiting as the server might send error responses this way. So, things did not turn out quite as squeaky clean as hoped for, but still seems better to do that way. Closes #14798
show more ...
|
#
bcec0840 |
| 02-Oct-2024 |
Daniel Stenberg |
lib: use bool/TRUE/FALSE properly booleans should use the type 'bool' and set the value to TRUE/FALSE non-booleans should not be 'bool' and should not set the value to TRUE/FALS
lib: use bool/TRUE/FALSE properly booleans should use the type 'bool' and set the value to TRUE/FALSE non-booleans should not be 'bool' and should not set the value to TRUE/FALSE Closes #15123
show more ...
|
#
aa1a1539 |
| 06-Sep-2024 |
Viktor Szakats |
lib: fix unity builds with BearSSL, MSH3, Quiche, OmniOS - fix MSH3 static symbol clash. - fix Quiche static symbol clash. - fix local macro clash with BearSSL header. - fix loca
lib: fix unity builds with BearSSL, MSH3, Quiche, OmniOS - fix MSH3 static symbol clash. - fix Quiche static symbol clash. - fix local macro clash with BearSSL header. - fix local macro clash with OmniOS system header. ``` In file included from ../../lib/urldata.h:197, from ../../lib/altsvc.c:32, from libcurlall.c:2: ../../lib/cf-socket.h:55:25: error: expected ':', ',', ';', '}' or '__attribute__' before '.' token 55 | #define sa_addr _sa_ex_u.addr | ^ In file included from ../../lib/urldata.h:197, from ../../lib/altsvc.c:32, from libcurlall.c:2: ../../lib/cf-socket.h:55:25: error: expected ':', ',', ';', '}' or '__attribute__' before '.' token 55 | #define sa_addr _sa_ex_u.addr | ^ ``` Ref: https://github.com/curl/curl/actions/runs/10738314933/job/29781644299?pr=14772#step:3:6115 Discovered while adding support for "unity" builds for autotools. Required-by: #14922 Cherry-picked from #14815 Closes #14932
show more ...
|
#
fbf5d507 |
| 18-Sep-2024 |
Daniel Stenberg |
lib/src: white space edits to comply better with code style ... as checksrc now finds and complains about these. Closes #14921
|
#
6a9f3764 |
| 11-Sep-2024 |
Harry Sintonen |
lib: fix AF_INET6 use outside of USE_IPV6 Closes #14858
|
#
db5eae11 |
| 04-Sep-2024 |
Stefan Eissing |
cf-socket: fix listen pollset for FTP active mode Follow-up to a07ba37b5e88a89bf4bcc6b0c927f7a42d7ea4f2 which did not solve the issue of corrent polling for FTP active data connections.
cf-socket: fix listen pollset for FTP active mode Follow-up to a07ba37b5e88a89bf4bcc6b0c927f7a42d7ea4f2 which did not solve the issue of corrent polling for FTP active data connections. Added test cases for active up-/download. Closes #14786
show more ...
|
#
a07ba37b |
| 03-Sep-2024 |
Stefan Eissing |
cf-socket: fix pollset for listening When FTP does an active data connection, the socket connection filter is instantiated with a listening socket. When the filter adjusts its pollse
cf-socket: fix pollset for listening When FTP does an active data connection, the socket connection filter is instantiated with a listening socket. When the filter adjusts its pollset, it needs to POLLIN, not OUT. Bug: https://curl.se/mail/lib-2024-08/0023.html Reported-by: Yoshimasa Ohno Closes #14766
show more ...
|
#
4ff04615 |
| 02-Sep-2024 |
Daniel Stenberg |
lib: use FMT_ as prefix instead of CURL_FORMAT_ For printf format defines used internally. Makes the code slighly easier to read. Closes #14764
|
#
ea6f5c9f |
| 27-Aug-2024 |
Stefan Eissing |
connect: limit update IP info Update IP related information at the connection and the transfer in two places only: once the filter chain connects and when a transfer is added to a co
connect: limit update IP info Update IP related information at the connection and the transfer in two places only: once the filter chain connects and when a transfer is added to a connection. The latter only updates on reuse when the filters already are connected. The only user of that information before a full connect is the HAProxy filter. Add cfilter CF_QUERY_IP_INFO query to let it find the information from the filters "below". This solves two issues with the previous version: - updates where often done twice with the same info - happy eyeballing filter "forks" could overwrite each others updates before the full winner was determined. Closes #14699
show more ...
|
#
b0b4b481 |
| 21-Aug-2024 |
Daniel Stenberg |
setopt: allow CURLOPT_INTERFACE to be set to NULL Ref: https://github.com/curl/curl/discussions/14299#discussioncomment-10393909 Regression from 3060557af702dd591 (shipped in 8.9.0)
setopt: allow CURLOPT_INTERFACE to be set to NULL Ref: https://github.com/curl/curl/discussions/14299#discussioncomment-10393909 Regression from 3060557af702dd591 (shipped in 8.9.0) Closes #14629
show more ...
|
#
d8cefac2 |
| 19-Aug-2024 |
Sam Jessup |
cf-socket: prevent KEEPALIVE_FACTOR being set to 1000 for Windows Fixes #14368 Reported-by: feelingseas on github Closes #14606
|
#
a58b50fc |
| 15-Aug-2024 |
Stefan Eissing |
transfer: Curl_sendrecv() and event related improvements - Renames Curl_readwrite() to Curl_sendrecv() to reflect that it is mainly about talking to the server, not reads or writes to
transfer: Curl_sendrecv() and event related improvements - Renames Curl_readwrite() to Curl_sendrecv() to reflect that it is mainly about talking to the server, not reads or writes to the client. Add a `nowp` parameter since the single caller already has this. - Curl_sendrecv() now runs all possible operations whenever it is called and either it had been polling sockets or the 'select_bits' are set. POLL_IN/POLL_OUT are not always directly related to send/recv operations. Filters like HTTP/2, QUIC or TLS may monitor reverse directions. If a transfer does not want to send (KEEP_SEND), it will not do so, as before. Same for receives. - Curl_update_timer() now checks the absolute timestamp of an expiry and the last/new timeout to determine if the application needs to stop/start/restart its timer. This fixes edge cases where updates did not happen as they should have. - improved --test-event curl_easy_perform() simulation to handle situations where no sockets are registered but a timeout is in place. - fixed bug in events_socket() that complained about removing a socket that was unknown, when indeed it had removed the socket just before, only it was the last in the list - fixed conncache's internal handle to carry the multi instance (where the cache has one) so that operations on the closure handle trigger event callbacks correctly. - fixed conncache to not POLL_REMOVE a socket twice when a conneciton was closed. Closes #14561
show more ...
|
#
f81f351b |
| 02-Aug-2024 |
Viktor Szakats |
tidy-up: OS names Use these words and casing more consistently across text, comments and one curl tool output: AIX, ALPN, ANSI, BSD, Cygwin, Darwin, FreeBSD, GitHub, HP-UX, Linux,
tidy-up: OS names Use these words and casing more consistently across text, comments and one curl tool output: AIX, ALPN, ANSI, BSD, Cygwin, Darwin, FreeBSD, GitHub, HP-UX, Linux, macOS, MS-DOS, MSYS, MinGW, NTLM, POSIX, Solaris, UNIX, Unix, Unicode, WINE, WebDAV, Win32, winbind, WinIDN, Windows, Windows CE, Winsock. Mostly OS names and a few more. Also a couple of other minor text fixups. Closes #14360
show more ...
|
#
911c3166 |
| 18-Jul-2024 |
Stefan Eissing |
lib: add eos flag to send methods Adds a `bool eos` flag to send methods to indicate that the data is the last chunk the invovled transfer wants to send to the server. This will
lib: add eos flag to send methods Adds a `bool eos` flag to send methods to indicate that the data is the last chunk the invovled transfer wants to send to the server. This will help protocol filters like HTTP/2 and 3 to forward the stream's EOF flag and also allow to EAGAIN such calls when buffers are not yet fully flushed. Closes #14220
show more ...
|
#
5a9262a3 |
| 12-Jul-2024 |
Stefan Eissing |
url: dns_entry related improvements Replace Curl_resolv_unlock() with Curl_resolv_unlink(): -replace inuse member with refcount in Curl_dns_entry - pass Curl_dns_entry ** t
url: dns_entry related improvements Replace Curl_resolv_unlock() with Curl_resolv_unlink(): -replace inuse member with refcount in Curl_dns_entry - pass Curl_dns_entry ** to unlink, so it gets always cleared - solve potential (but unlikley) UAF in FTP's handling of looked up Curl_dns_entry. Esp. do not use addr information after unlinking an entry. In reality, the unlink will not free memory, as the dns entry is still referenced by the hostcache. But this is not safe and relying on no other code pruning the cache in the meantime. - pass permanent flag when adding a dns entry instead of fixing timestamp afterwards. url.c: fold several static *resolve_* functions into one. Closes #14195
show more ...
|
#
2372a591 |
| 23-Jul-2024 |
Stefan Eissing |
Curl_rand_bytes to control env override - in DEBUGBUILD, all specifying if true random numbers are desired or simulated ones via CURL_ENTROPY - allows to use randoms in other DEBUG
Curl_rand_bytes to control env override - in DEBUGBUILD, all specifying if true random numbers are desired or simulated ones via CURL_ENTROPY - allows to use randoms in other DEBUG checks to not interfere with the CURL_ENTROPY - without this change, any Curl_rand() use will alter results of some AUTHENTICATION methods like DIGEST Closes #14264
show more ...
|
#
25321de3 |
| 18-Jul-2024 |
Daniel Stenberg |
Revert "lib: send eos flag" This reverts commit be93299f10ef0b2bf7fe5c82140120073831867a.
|
#
be93299f |
| 18-Jul-2024 |
Stefan Eissing |
lib: send eos flag Adds a `bool eos` flag to send methods to indicate that the data is the last chunk the invovled transfer wants to send to the server. This will help protocol
lib: send eos flag Adds a `bool eos` flag to send methods to indicate that the data is the last chunk the invovled transfer wants to send to the server. This will help protocol filters like HTTP/2 and 3 to forward the stream's EOF flag and also allow to EAGAIN such calls when buffers are not yet fully flushed. Closes #14220
show more ...
|
#
0dbc4eb0 |
| 18-Jul-2024 |
Orgad Shaneh |
lib: add failure reason on bind errors Closes #14221
|
#
5637ca1a |
| 10-Jul-2024 |
Daniel Stenberg |
cf-socket: remove two "useless" assignments 'nread' is already -1, no need to assign it again Pointed out by CodeSonar Closes #14145
|
#
b5a7554d |
| 09-Jul-2024 |
Stefan Eissing |
cf-socket: remove obsolete recvbuf - recvbuf was never enabled, remove all its code - remove `fdsave`ing the socket as that is not longer needed Closes #14138
|
#
c074ba64 |
| 01-Jul-2024 |
Daniel Stenberg |
code: language cleanup in comments Based on the standards and guidelines we use for our documentation. - expand contractions (they're => they are etc) - host name = > hostname
code: language cleanup in comments Based on the standards and guidelines we use for our documentation. - expand contractions (they're => they are etc) - host name = > hostname - file name => filename - user name = username - man page => manpage - run-time => runtime - set-up => setup - back-end => backend - a HTTP => an HTTP - Two spaces after a period => one space after period Closes #14073
show more ...
|
#
9feb85a1 |
| 29-Jun-2024 |
Tatsuhiro Tsujikawa |
vquic: fix UDP_GRO struct cmsghdr data type The data type for UDP_GRO in struct cmsghdr is int. Limit the usage of UDP_GRO to linux only because it is not portable. Closes #14056
|