curl/lib
Neil Horman 957eb240ed
osslq: use SSL_poll to determine writeability of QUIC streams
This discussion:
https://github.com/openssl/openssl/discussions/23339#discussion-6094341

Specifically item number 2 (Send Blocking) was raised by the curl team,
noting that SSL_want_write returning false was not a good indicator of
when a stream is writeable. The suggestion in that discussion was to use
SSL_poll with an SSL_POLL_EVENT_W flag instead, as that is a proper
indication of when an SSL_object will allow writing without blocking.

While ssl_want_write updates its state based on the last error
encountered (implying a need to retry an operation to update the
last_error state again), SSL_poll checks stream buffer status during the
call, giving it more up to date information on request. This is the
method used by our guide demos (quic-hq-interop specifically), and it
works well.

This change has been run through the curl test suite, and shown to pass
all tests. However, given the initial problem description I'm not sure
if there is a test case that explicitly checks for blocking and
unblocking of streams. As such some additional testing may be warranted.

Closes #15909
2025-01-08 23:52:49 +01:00
..
vauth lib: supress deprecation warnings in apple builds 2024-12-17 14:54:34 +01:00
vquic osslq: use SSL_poll to determine writeability of QUIC streams 2025-01-08 23:52:49 +01:00
vssh libssh: use libssh sftp_aio to upload file 2024-12-02 21:33:24 +01:00
vtls vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
.checksrc checksrc: introduce 'banfunc' to ban specific functions 2024-12-30 08:25:56 +01:00
.gitattributes copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
.gitignore build: remove MacOSX-Framework script 2024-04-08 22:46:51 +02:00
altsvc.c altsvc: avoid integer overflow in expire calculation 2024-12-15 00:11:24 +01:00
altsvc.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
amigaos.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
amigaos.h tidy-up: mostly whitespace nits 2023-08-31 23:02:10 +00:00
arpa_telnet.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
asyn-ares.c asyn-ares: remove typecast, fix expire 2024-10-04 14:08:09 +02:00
asyn-thread.c async-thread: avoid closing eventfd twice 2024-12-12 15:58:47 +01:00
asyn.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
base64.c lib: silence -Wsign-conversion in base64, strcase, mprintf 2024-04-24 23:29:30 +02:00
bufq.c bufq: unwrite fix 2024-10-03 13:27:36 +02:00
bufq.h websocket: introduce blocking sends 2024-08-12 19:19:28 +02:00
bufref.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
bufref.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
cf-h1-proxy.c hyper: drop support 2024-12-21 11:33:05 +01:00
cf-h1-proxy.h proxy: http2 proxy tunnel implementation 2023-04-06 13:04:46 +02:00
cf-h2-proxy.c clang-tidy: add to CI, add cmake support, fix fallouts 2024-12-27 13:42:32 +01:00
cf-h2-proxy.h proxy: http2 proxy tunnel implementation 2023-04-06 13:04:46 +02:00
cf-haproxy.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
cf-haproxy.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
cf-https-connect.c hyper: drop support 2024-12-21 11:33:05 +01:00
cf-https-connect.h hyper: drop support 2024-12-21 11:33:05 +01:00
cf-socket.c clang-tidy: add to CI, add cmake support, fix fallouts 2024-12-27 13:42:32 +01:00
cf-socket.h cf-socket: error if address can't be copied 2024-12-22 03:12:35 -05:00
cfilters.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
cfilters.h connect: limit update IP info 2024-08-28 13:58:10 +02:00
CMakeLists.txt cmake: allow CURL_LTO regardless of CURL_BUILD_TYPE, enable in CI 2024-12-25 21:46:55 +01:00
config-mac.h config-mac: drop MACOS_SSL_SUPPORT macro 2024-12-20 11:38:59 +01:00
config-os400.h build: drop unused feature macros, update exception list 2024-12-16 18:05:24 +01:00
config-plan9.h config: rename the OS define to CURL_OS to reduce collision risk 2024-10-30 14:59:54 +01:00
config-riscos.h build: drop unused feature macros, update exception list 2024-12-16 18:05:24 +01:00
config-win32.h src: add CURL_STRICMP() macro, use _stricmp() on Windows 2024-12-23 22:06:07 +01:00
config-win32ce.h src: add CURL_STRICMP() macro, use _stricmp() on Windows 2024-12-23 22:06:07 +01:00
conncache.c conncache: count shutdowns against host and max limits 2025-01-06 23:10:23 +01:00
conncache.h multi: fix curl_multi_waitfds reporting of fd_count 2024-12-29 01:05:09 -05:00
connect.c hyper: drop support 2024-12-21 11:33:05 +01:00
connect.h connect: limit update IP info 2024-08-28 13:58:10 +02:00
content_encoding.c content_encoding: namespace GZIP flag constants 2025-01-07 17:54:19 +01:00
content_encoding.h content_encoding: make Curl_all_content_encodings allocless 2023-11-07 16:35:30 +01:00
cookie.c cookie: small variable type cleanups 2025-01-07 16:47:18 +01:00
cookie.h cookie: small variable type cleanups 2025-01-07 16:47:18 +01:00
curl_addrinfo.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
curl_addrinfo.h curl_addrinfo: support operating systems with only getaddrinfo(3) 2024-11-02 22:28:59 +01:00
curl_base64.h tool: add "variable" support 2023-07-31 11:51:34 +02:00
curl_config.h.cmake build: fix unsigned time_t detection for cmake, MS-DOS, AmigaOS 2024-12-31 11:36:56 +01:00
curl_ctype.h strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
curl_des.c lib: fix building with wolfSSL without DES support 2024-08-13 09:28:27 +02:00
curl_des.h lib: fix building with wolfSSL without DES support 2024-08-13 09:28:27 +02:00
curl_endian.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_endian.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl_fnmatch.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
curl_fnmatch.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_get_line.c vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
curl_get_line.h vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
curl_gethostname.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
curl_gethostname.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl_gssapi.c lib: supress deprecation warnings in apple builds 2024-12-17 14:54:34 +01:00
curl_gssapi.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl_hmac.h lib: remove function pointer typecasts for hmac/sha256/md5 2024-10-15 14:32:39 +02:00
curl_krb5.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl_ldap.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl_md4.h lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
curl_md5.h lib: remove function pointer typecasts for hmac/sha256/md5 2024-10-15 14:32:39 +02:00
curl_memory.h lib: memdebug comment fixup [ci skip] 2024-09-21 01:27:43 +02:00
curl_memrchr.c singleuse: drop Curl_memrchr() for no-HTTP builds 2024-09-15 16:33:24 +02:00
curl_memrchr.h singleuse: drop Curl_memrchr() for no-HTTP builds 2024-09-15 16:33:24 +02:00
curl_multibyte.c curl_multibyte: support Windows paths longer than MAX_PATH 2024-12-21 23:47:39 -05:00
curl_multibyte.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_ntlm_core.c liub: fixes for wolfSSL OPENSSL_COEXIST 2024-12-04 08:25:14 +01:00
curl_ntlm_core.h cmake: fix building unit1600 due to missing ssl/openssl.h 2024-07-13 12:00:14 +02:00
curl_printf.h printf: fix mingw-w64 format checks 2024-09-02 21:03:01 +02:00
curl_range.c lib: use FMT_ as prefix instead of CURL_FORMAT_ 2024-09-03 08:45:45 +02:00
curl_range.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl_rtmp.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
curl_rtmp.h curl_version_info: provide librtmp version 2024-04-15 16:48:34 +02:00
curl_sasl.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_sasl.h misc: reduce struct and struct field sizes 2023-01-04 15:36:36 +01:00
curl_setup.h multissl: auto-enable OPENSSL_COEXIST for wolfSSL + OpenSSL 2025-01-01 06:20:30 +01:00
curl_setup_once.h binmode: convert to macro and use it from tests 2024-12-21 13:29:24 +01:00
curl_sha256.h lib: remove function pointer typecasts for hmac/sha256/md5 2024-10-15 14:32:39 +02:00
curl_sha512_256.c curl_sha512_256: rename symbols to the curl namespace 2025-01-02 12:55:50 +01:00
curl_sha512_256.h curl_sha512_256: fix symbol collisions with nettle library 2024-08-13 10:04:06 +02:00
curl_sspi.c lib: make SSPI global symbols use Curl_ prefix 2024-09-04 14:55:10 +02:00
curl_sspi.h lib: make SSPI global symbols use Curl_ prefix 2024-09-04 14:55:10 +02:00
curl_threads.c tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP 2024-09-19 19:24:12 +02:00
curl_threads.h tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP 2024-09-19 19:24:12 +02:00
curl_trc.c vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
curl_trc.h vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
curlx.h tidy-up: indent, whitespace, comment in sources 2024-09-22 09:51:14 +02:00
cw-out.c lib/cw-out: initialize 'flush_all' directly 2024-09-26 16:55:01 +02:00
cw-out.h cw-out: improved error handling 2024-04-16 15:52:10 +02:00
dict.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
dict.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
dllmain.c dllmain: Call OpenSSL thread cleanup for Windows and Cygwin 2024-04-24 04:04:25 -04:00
doh.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
doh.h doh: cleanups 2024-09-06 08:58:52 +02:00
dynbuf.c lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
dynbuf.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
dynhds.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
dynhds.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
easy.c vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
easy_lock.h lib: replace inline redefine with CURL_INLINE macro 2024-12-16 19:26:22 +01:00
easygetopt.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
easyif.h WebSockets: make support official (non-experimental) 2024-09-27 13:20:25 +02:00
easyoptions.c tcpkeepalive: add CURLOPT_TCP_KEEPCNT and --keepalive-cnt 2024-06-12 09:31:17 +02:00
easyoptions.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
escape.c curl.h: remove the struct pointer for CURL/CURLSH/CURLM typedefs 2024-10-15 14:33:40 +02:00
escape.h lib: provide and use Curl_hexencode 2023-09-30 11:45:39 +02:00
file.c lib: remove __EMX__ guards 2025-01-01 12:44:20 +01:00
file.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
fileinfo.c ftplistparser: replace realloc with dynbuf 2023-03-28 10:11:33 +02:00
fileinfo.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
fopen.c lib: remove __EMX__ guards 2025-01-01 12:44:20 +01:00
fopen.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
formdata.c build: use _fseeki64() on Windows, drop detections 2024-11-11 14:25:04 +01:00
formdata.h curl.h: remove the struct pointer for CURL/CURLSH/CURLM typedefs 2024-10-15 14:33:40 +02:00
ftp.c clang-tidy: add to CI, add cmake support, fix fallouts 2024-12-27 13:42:32 +01:00
ftp.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
ftplistparser.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
ftplistparser.h wildcard: remove files and move functions into ftplistparser.c 2023-03-03 23:25:30 +01:00
functypes.h Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
getenv.c tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP 2024-09-19 19:24:12 +02:00
getinfo.c getinfo: provide info which auth was used for HTTP and proxy 2024-12-23 23:03:54 +01:00
getinfo.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
gopher.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
gopher.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
hash.c hash: add asserts in hash_element_dtor() 2025-01-01 21:13:38 +01:00
hash.h hash: provide asserts to verify API use 2024-08-15 08:54:19 +02:00
headers.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
headers.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
hmac.c lib: remove function pointer typecasts for hmac/sha256/md5 2024-10-15 14:32:39 +02:00
hostasyn.c url: dns_entry related improvements 2024-08-03 19:51:02 +02:00
hostip.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
hostip.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
hostip4.c curl_addrinfo: support operating systems with only getaddrinfo(3) 2024-11-02 22:28:59 +01:00
hostip6.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
hostsyn.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
hsts.c strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
hsts.h strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
http.c HTTP/2: strip TE request header 2025-01-08 23:44:51 +01:00
http.h http: fix build with CURL_DISABLE_COOKIES 2024-12-23 23:13:11 +01:00
http1.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
http1.h http: h1/h2 proxy unification 2023-09-25 20:12:18 +02:00
http2.c clang-tidy: add to CI, add cmake support, fix fallouts 2024-12-27 13:42:32 +01:00
http2.h nghttp2: use custom memory functions 2024-11-08 23:20:32 +01:00
http_aws_sigv4.c http_aws_sigv4: Fix invalid compare function handling zero-length pairs 2024-12-18 23:30:39 +01:00
http_aws_sigv4.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
http_chunks.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
http_chunks.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
http_digest.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
http_digest.h lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
http_negotiate.c http_negotiate: allow for a one byte larger channel binding buffer 2024-12-05 23:09:28 +01:00
http_negotiate.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
http_ntlm.c getinfo: provide info which auth was used for HTTP and proxy 2024-12-23 23:03:54 +01:00
http_ntlm.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
http_proxy.c hyper: drop support 2024-12-21 11:33:05 +01:00
http_proxy.h http_proxy: move dynhds_add_custom here from http.c 2024-12-03 15:02:58 +01:00
idn.c configure: fix WinIDN builds targeting old Windows 2024-08-27 23:40:48 +02:00
idn.h idn: add native AppleIDN (icucore) support for macOS/iOS 2024-04-17 00:24:09 +02:00
if2ip.c lib: fix AIX build issues 2024-08-09 10:45:40 +02:00
if2ip.h if2ip: make the buf_size arg a size_t 2024-04-30 14:22:11 +02:00
imap.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
imap.h misc: reduce struct and struct field sizes 2023-01-04 15:36:36 +01:00
inet_ntop.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
inet_ntop.h msvc: fix building with HAVE_INET_NTOP and MSVC <=1900 2025-01-07 14:07:19 +01:00
inet_pton.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
inet_pton.h Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
krb5.c lib: supress deprecation warnings in apple builds 2024-12-17 14:54:34 +01:00
ldap.c msvc: add VS2012 CI job, fix compiler warnings in LDAP and tests 2025-01-07 14:51:48 +01:00
libcurl.def vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
libcurl.rc (lib)curl.rc: set debug flag also for CURLDEBUG and UNITTESTS 2024-05-22 08:38:12 +02:00
libcurl.vers.in build: tidy up and improve versioned-symbols options 2024-09-21 12:21:14 +02:00
llist.c llist: survive cleared list better 2024-12-21 14:18:22 +01:00
llist.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
macos.c docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
macos.h macOS: fix target detection more 2023-07-29 23:42:53 +02:00
Makefile.am clang-tidy: add to CI, add cmake support, fix fallouts 2024-12-27 13:42:32 +01:00
Makefile.inc vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
Makefile.soname build: tidy up and improve versioned-symbols options 2024-09-21 12:21:14 +02:00
md4.c liub: fixes for wolfSSL OPENSSL_COEXIST 2024-12-04 08:25:14 +01:00
md5.c liub: fixes for wolfSSL OPENSSL_COEXIST 2024-12-04 08:25:14 +01:00
memdebug.c source: avoid use of 'very' in comments 2024-10-17 13:36:33 +02:00
memdebug.h lib: memdebug comment fixup [ci skip] 2024-09-21 01:27:43 +02:00
mime.c mime: explicitly rewind subparts at attachment time. 2025-01-06 14:03:42 +01:00
mime.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
mprintf.c clang-tidy: add to CI, add cmake support, fix fallouts 2024-12-27 13:42:32 +01:00
mqtt.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
mqtt.h mqtt, remove remaining use of data->state.buffer 2024-01-27 12:42:19 +01:00
multi.c conncache: count shutdowns against host and max limits 2025-01-06 23:10:23 +01:00
multihandle.h conncache: count shutdowns against host and max limits 2025-01-06 23:10:23 +01:00
multiif.h vquic: recv_mmsg, use fewer, but larger buffers 2024-10-31 23:40:51 +01:00
netrc.c netrc: 'default' with no credentials is not a match 2025-01-03 18:21:10 +01:00
netrc.h netrc: cache the netrc file in memory 2024-10-11 14:40:12 +02:00
nonblock.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
nonblock.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
noproxy.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
noproxy.h noproxy: patterns need to be comma separated 2024-06-01 12:25:13 +02:00
openldap.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
optiontable.pl curl.h: make CURLOPT_WRITEINFO and CURLOPT_CLOSEPOLICY compile 2024-09-02 10:43:34 +02:00
parsedate.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
parsedate.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
pingpong.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
pingpong.h ftp: flush pingpong before response 2024-08-08 17:52:25 +02:00
pop3.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
pop3.h pop3: use the protocol handler ->write_resp 2024-08-26 14:59:50 +02:00
progress.c getinfo: fix CURLINFO_QUEUE_TIME_T and add 'time_queue' var 2024-12-21 12:04:48 +01:00
progress.h TLS: TLSv1.3 earlydata support for curl 2024-10-11 12:28:22 +02:00
psl.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
psl.h curl.h: remove the struct pointer for CURL/CURLSH/CURLM typedefs 2024-10-15 14:33:40 +02:00
rand.c tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP 2024-09-19 19:24:12 +02:00
rand.h vtls/rustls: support strong CSRNG data 2024-09-13 14:11:56 +02:00
rename.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
rename.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
request.c hyper: drop support 2024-12-21 11:33:05 +01:00
request.h hyper: drop support 2024-12-21 11:33:05 +01:00
rtsp.c hyper: drop support 2024-12-21 11:33:05 +01:00
rtsp.h hyper: drop support 2024-12-21 11:33:05 +01:00
select.c select: avoid a NULL deref in cwfds_add_sock 2025-01-01 20:56:27 +01:00
select.h multi: fix curl_multi_waitfds reporting of fd_count 2024-12-29 01:05:09 -05:00
sendf.c hyper: drop support 2024-12-21 11:33:05 +01:00
sendf.h hyper: drop support 2024-12-21 11:33:05 +01:00
setopt.c hyper: drop support 2024-12-21 11:33:05 +01:00
setopt.h setopt: warn on Curl_set*opt() uses not using the return value 2024-05-12 17:27:51 +02:00
setup-os400.h os400: workaround an IBM ASCII run-time library bug 2024-07-27 00:17:13 +02:00
setup-vms.h docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
setup-win32.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
sha256.c wolfssl: no more use of the OpenSSL API 2024-11-04 10:23:05 +01:00
share.c lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
share.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
sigpipe.h transfer: Curl_sendrecv() and event related improvements 2024-08-17 10:52:53 +02:00
slist.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
slist.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
smb.c smb: fix compiler warning 2025-01-02 18:01:17 +01:00
smb.h lib: further send/upload handling polish 2024-03-04 08:42:56 +01:00
smtp.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
smtp.h lib: further send/upload handling polish 2024-03-04 08:42:56 +01:00
sockaddr.h build: prefer USE_IPV6 macro internally (was: ENABLE_IPV6) 2024-04-13 08:33:26 +00:00
socketpair.c tidy-up: misc 2024-12-24 01:27:26 +01:00
socketpair.h socketpair: fix enabling USE_EVENTFD 2024-11-14 09:55:45 +01:00
socks.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
socks.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
socks_gssapi.c lib: supress deprecation warnings in apple builds 2024-12-17 14:54:34 +01:00
socks_sspi.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
speedcheck.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
speedcheck.h tests: fix callback signatures to please UndefinedBehaviorSanitizer 2024-10-15 14:33:47 +02:00
splay.c source: avoid use of 'very' in comments 2024-10-17 13:36:33 +02:00
splay.h splay: use access functions, add asserts, use Curl_timediff 2024-08-16 09:12:13 +02:00
strcase.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
strcase.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
strdup.c lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding 2023-12-08 17:22:33 +01:00
strdup.h lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding 2023-12-08 17:22:33 +01:00
strerror.c checksrc: introduce 'banfunc' to ban specific functions 2024-12-30 08:25:56 +01:00
strerror.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
strparse.c strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
strparse.h strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
strtok.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
strtok.h strtok: use namespaced strtok_r macro instead of redefining it 2024-11-14 09:55:45 +01:00
strtoofft.c tidy-up: misc spelling (bit, ASCII) 2024-08-15 15:30:09 +02:00
strtoofft.h docs: misc language polish 2024-07-01 16:45:17 +02:00
system_win32.c tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP 2024-09-19 19:24:12 +02:00
system_win32.h asyn-thread: stop using GetAddrInfoExW on Windows 2024-09-08 11:39:30 -04:00
telnet.c telnet: avoid two strcpy() by pointing to the strings instead 2024-10-08 15:40:00 +02:00
telnet.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tftp.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
tftp.h setopt: check CURLOPT_TFTP_BLKSIZE range on set 2023-11-22 07:44:05 +01:00
timediff.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
timediff.h lib: use FMT_ as prefix instead of CURL_FORMAT_ 2024-09-03 08:45:45 +02:00
timeval.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
timeval.h multi: round the timeout up to prevent early wakeups 2023-09-28 09:52:20 +02:00
transfer.c hyper: drop support 2024-12-21 11:33:05 +01:00
transfer.h multi: convert Curl_follow to static multi_follow 2024-10-11 12:26:36 +02:00
url.c strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
url.h cpool: rename "connection cache/conncache" to "Connection Pools/cpool" 2024-08-28 13:52:49 +02:00
urlapi-int.h build: untangle UNITTESTS and DEBUGBUILD macros 2024-05-27 21:15:50 +02:00
urlapi.c urlapi: cleanup the redirect logic somewhat 2025-01-01 14:11:15 +01:00
urldata.h openssl: add support to use keys and certificates from PKCS#11 provider 2025-01-01 14:47:31 +01:00
version.c vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
version_win32.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
version_win32.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
warnless.c tool_formparse.c: make curlx_uztoso a static in here 2024-12-21 13:59:05 +01:00
warnless.h tool_formparse.c: make curlx_uztoso a static in here 2024-12-21 13:59:05 +01:00
ws.c hyper: drop support 2024-12-21 11:33:05 +01:00
ws.h hyper: drop support 2024-12-21 11:33:05 +01:00