curl/lib
Stefan Eissing 35380273b9
http2: improved on_stream_close/data_done handling
- there seems to be a code path that cleans up easy handles without
  triggering DONE or DETACH events to the connection filters. This
  would explain wh nghttp2 still holds stream user data
- add GOOD check to easy handle used in on_close_callback to
  prevent crashes, ASSERTs in debug builds.
- NULL the stream user data early before submitting RST
- add checks in on_stream_close() to identify UNGOOD easy handles

Reported-by: Hans-Christian Egtvedt
Fixes #10936
Closes #12562
2023-12-22 10:06:01 +01:00
..
vauth build: fix some -Wsign-conversion/-Warith-conversion warnings 2023-12-19 12:45:28 +00:00
vquic ngtcp2: put h3 at the front of alpn 2023-12-21 15:28:40 +01:00
vssh ssh: fix namespace of two local macros 2023-12-17 14:58:22 +00:00
vtls gnutls: fix build with --disable-verbose 2023-12-16 22:06:21 +01:00
.checksrc
.gitattributes
.gitignore
altsvc.c altsvc: free 'as' when returning error 2023-12-21 09:15:19 +01:00
altsvc.h
amigaos.c amissl: add missing signal.h include 2023-07-20 23:41:47 +02:00
amigaos.h tidy-up: mostly whitespace nits 2023-08-31 23:02:10 +00:00
arpa_telnet.h lib: apache style infof and trace macros/functions 2023-10-26 17:42:54 +02:00
asyn-ares.c Revert "urldata: move async resolver state from easy handle to connectdata" 2023-12-15 12:57:35 +01:00
asyn-thread.c asyn-thread: use GetAddrInfoExW on >= Windows 8 2023-12-21 23:25:45 +01:00
asyn.h
base64.c build: fix builds that disable protocols but not digest auth 2023-12-01 23:26:53 -05:00
bufq.c bufq: remove Curl_bufq_skip_and_shift (unused) 2023-09-23 10:50:10 +02:00
bufq.h bufq: remove Curl_bufq_skip_and_shift (unused) 2023-09-23 10:50:10 +02:00
bufref.c lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding 2023-12-08 17:22:33 +01:00
bufref.h
c-hyper.c curl.h: add CURLE_TOO_LARGE 2023-12-18 10:34:22 +01:00
c-hyper.h hyper: remove hyptransfer->endtask 2023-09-03 18:42:37 +02:00
cf-h1-proxy.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
cf-h1-proxy.h
cf-h2-proxy.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
cf-h2-proxy.h
cf-haproxy.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
cf-haproxy.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
cf-https-connect.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
cf-https-connect.h
cf-socket.c windows: simplify detecting and using system headers 2023-12-16 13:13:44 +00:00
cf-socket.h build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
cfilters.c misc: fix -Walloc-size warnings 2023-11-11 23:35:47 +01:00
cfilters.h lib: fix comment typos 2023-11-23 12:35:59 +01:00
CMakeLists.txt cmake: option to disable install & drop curlu target when unused 2023-11-10 18:24:14 +00:00
config-amigaos.h build: delete HAVE_STDINT_H and HAVE_INTTYPES_H 2023-11-06 17:20:39 +00:00
config-dos.h build: variadic macro tidy-ups 2023-10-27 00:37:34 +00:00
config-mac.h lib: remove TIME_WITH_SYS_TIME 2023-09-28 22:58:36 +02:00
config-os400.h build: delete unused HAVE_{GSSHEIMDAL,GSSMIT,HEIMDAL} 2023-12-16 13:16:52 +00:00
config-plan9.h build: delete HAVE_STDINT_H and HAVE_INTTYPES_H 2023-11-06 17:20:39 +00:00
config-riscos.h build: delete HAVE_STDINT_H and HAVE_INTTYPES_H 2023-11-06 17:20:39 +00:00
config-win32.h windows: simplify detecting and using system headers 2023-12-16 13:13:44 +00:00
config-win32ce.h windows: simplify detecting and using system headers 2023-12-16 13:13:44 +00:00
conncache.c conncache: use the closure handle when disconnecting surplus connections 2023-11-26 17:49:15 +01:00
conncache.h lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID 2023-06-12 23:53:00 +02:00
connect.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
connect.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
content_encoding.c content_encoding: make Curl_all_content_encodings allocless 2023-11-07 16:35:30 +01:00
content_encoding.h content_encoding: make Curl_all_content_encodings allocless 2023-11-07 16:35:30 +01:00
cookie.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
cookie.h cookie: reduce variable scope, add const 2023-09-15 22:09:43 +02:00
curl_addrinfo.c misc: fix spelling mistakes 2023-05-23 10:42:09 +02:00
curl_addrinfo.h
curl_base64.h tool: add "variable" support 2023-07-31 11:51:34 +02:00
curl_config.h.cmake build: delete unused HAVE_{GSSHEIMDAL,GSSMIT,HEIMDAL} 2023-12-16 13:16:52 +00:00
curl_ctype.h escape: replace Curl_isunreserved with ISUNRESERVED 2023-09-14 03:07:45 -04:00
curl_des.c nss: remove support for this TLS library 2023-07-29 23:44:28 +02:00
curl_des.h nss: remove support for this TLS library 2023-07-29 23:44:28 +02:00
curl_endian.c
curl_endian.h
curl_fnmatch.c
curl_fnmatch.h
curl_get_line.c
curl_get_line.h
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c
curl_gssapi.h
curl_hmac.h build: fix libssh2 + CURL_DISABLE_DIGEST_AUTH + CURL_DISABLE_AWS 2023-11-15 20:57:49 +00:00
curl_krb5.h
curl_ldap.h
curl_md4.h lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
curl_md5.h lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
curl_memory.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
curl_memrchr.c
curl_memrchr.h build: delete checks for C89 standard headers 2023-09-26 14:25:10 +00:00
curl_multibyte.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
curl_multibyte.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
curl_ntlm_core.c openssl: fix building with v3 no-deprecated + add CI test 2023-11-23 02:03:02 +00:00
curl_ntlm_core.h nss: remove support for this TLS library 2023-07-29 23:44:28 +02:00
curl_ntlm_wb.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
curl_ntlm_wb.h
curl_path.c
curl_path.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
curl_printf.h curl.h: add CURLE_TOO_LARGE 2023-12-18 10:34:22 +01:00
curl_range.c
curl_range.h
curl_rtmp.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
curl_rtmp.h
curl_sasl.c sasl: fix -Wunused-function compiler warning 2023-11-15 13:00:38 +00:00
curl_sasl.h
curl_setup_once.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
curl_setup.h build: fix some -Wsign-conversion/-Warith-conversion warnings 2023-12-19 12:45:28 +00:00
curl_sha256.h lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
curl_sspi.c
curl_sspi.h curl_sspi: support more revocation error names in error messages 2023-11-03 03:50:59 -04:00
curl_threads.c mingw: delete support for legacy mingw.org toolchain 2023-09-23 09:12:57 +00:00
curl_threads.h mingw: delete support for legacy mingw.org toolchain 2023-09-23 09:12:57 +00:00
curl_trc.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
curl_trc.h build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
curlx.h
dict.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
dict.h
doh.c build: fix some -Wsign-conversion/-Warith-conversion warnings 2023-12-19 12:45:28 +00:00
doh.h
dynbuf.c curl.h: add CURLE_TOO_LARGE 2023-12-18 10:34:22 +01:00
dynbuf.h build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
dynhds.c http2: header conversion tightening 2023-10-21 14:36:51 +02:00
dynhds.h http2: header conversion tightening 2023-10-21 14:36:51 +02:00
easy_lock.h easy_lock: add a pthread_mutex_t fallback 2023-10-12 23:40:08 -04:00
easy.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
easygetopt.c
easyif.h
easyoptions.c CURLOPT_SERVER_RESPONSE_TIMEOUT_MS: add 2023-12-18 23:09:30 +01:00
easyoptions.h
escape.c lib: provide and use Curl_hexencode 2023-09-30 11:45:39 +02:00
escape.h lib: provide and use Curl_hexencode 2023-09-30 11:45:39 +02:00
file.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
file.h
fileinfo.c
fileinfo.h
fopen.c fopen: allocate the dir after fopen 2023-11-24 13:24:08 +01:00
fopen.h
formdata.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
formdata.h configure, cmake, lib: more form api deprecation 2023-07-31 08:31:38 +02:00
ftp.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
ftp.h
ftplistparser.c build: add more picky warnings and fix them 2023-11-21 16:35:42 +00:00
ftplistparser.h
functypes.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
getenv.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
getinfo.c lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID 2023-06-12 23:53:00 +02:00
getinfo.h
gopher.c http: fix sending of large requests 2023-09-05 16:36:03 +02:00
gopher.h
hash.c
hash.h
headers.c headers: accept leading whitespaces on first response header 2023-08-07 12:45:45 +02:00
headers.h
hmac.c lib: enable hmac for digest as well 2023-09-20 13:38:42 +02:00
hostasyn.c Revert "urldata: move async resolver state from easy handle to connectdata" 2023-12-15 12:57:35 +01:00
hostip4.c
hostip6.c hostip6: fix DEBUG_ADDRINFO builds 2023-10-28 00:27:20 -04:00
hostip.c Revert "urldata: move async resolver state from easy handle to connectdata" 2023-12-15 12:57:35 +01:00
hostip.h hostip: show the list of IPs when resolving is done 2023-10-20 23:00:10 +02:00
hostsyn.c
hsts.c lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding 2023-12-08 17:22:33 +01:00
hsts.h
http1.c http: h1/h2 proxy unification 2023-09-25 20:12:18 +02:00
http1.h http: h1/h2 proxy unification 2023-09-25 20:12:18 +02:00
http2.c http2: improved on_stream_close/data_done handling 2023-12-22 10:06:01 +01:00
http2.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
http_aws_sigv4.c lib: reduce use of strncpy 2023-12-11 23:29:02 +01:00
http_aws_sigv4.h
http_chunks.c build: add more picky warnings and fix them 2023-11-21 16:35:42 +00:00
http_chunks.h transfer: readwrite improvements 2023-11-21 08:03:45 +01:00
http_digest.c lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
http_digest.h lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
http_negotiate.c
http_negotiate.h
http_ntlm.c
http_ntlm.h
http_proxy.c lib: introduce struct easy_poll_set for poll information 2023-10-25 09:34:32 +02:00
http_proxy.h http: h1/h2 proxy unification 2023-09-25 20:12:18 +02:00
http.c curl.h: add CURLE_TOO_LARGE 2023-12-18 10:34:22 +01:00
http.h transfer: cleanup done+excess handling 2023-11-24 13:22:07 +01:00
idn.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
idn.h urlapi: return CURLUE_BAD_HOSTNAME if puny2idn encoding fails 2023-08-17 08:21:08 +02:00
if2ip.c lib: --disable-bindlocal builds curl without local binding support 2023-08-17 17:17:59 +02:00
if2ip.h
imap.c build: more -Wformat fixes 2023-12-18 14:56:57 +00:00
imap.h
inet_ntop.c inet_ntop: add typecast to silence Coverity 2023-09-27 13:18:22 +02:00
inet_ntop.h
inet_pton.c build: fix some -Wsign-conversion/-Warith-conversion warnings 2023-12-19 12:45:28 +00:00
inet_pton.h windows: delete redundant headers 2023-12-18 14:56:57 +00:00
krb5.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
ldap.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
libcurl.plist.in
libcurl.rc
libcurl.vers.in
llist.c
llist.h
macos.c macOS: fix target detection more 2023-07-29 23:42:53 +02:00
macos.h macOS: fix target detection more 2023-07-29 23:42:53 +02:00
Makefile.am autotools: avoid passing LDFLAGS twice to libcurl 2023-11-14 19:28:15 +00:00
Makefile.inc build: alpha-sort source files for lib and src 2023-10-03 12:58:17 +00:00
Makefile.mk Makefile.mk: drop Windows support 2023-12-16 13:12:22 +00:00
Makefile.soname
md4.c lib: strndup/memdup instead of malloc, memcpy and null-terminate 2023-12-07 08:47:44 +01:00
md5.c lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
memdebug.c build: more -Wformat fixes 2023-12-18 14:56:57 +00:00
memdebug.h build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
mime.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
mime.h build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
mprintf.c mprintf: overhaul and bugfixes 2023-12-22 09:51:57 +01:00
mqtt.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
mqtt.h MQTT: improve receive of ACKs 2023-10-09 18:34:17 +02:00
multi.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
multihandle.h urldata: make maxconnects a 32 bit value 2023-11-22 13:27:38 +01:00
multiif.h multiif.h: remove Curl_multi_dump declaration 2023-09-26 03:51:13 -04:00
netrc.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
netrc.h
nonblock.c
nonblock.h
noproxy.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
noproxy.h
openldap.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
optiontable.pl
parsedate.c
parsedate.h
pingpong.c lib: strndup/memdup instead of malloc, memcpy and null-terminate 2023-12-07 08:47:44 +01:00
pingpong.h build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
pop3.c misc: fix -Walloc-size warnings 2023-11-11 23:35:47 +01:00
pop3.h
progress.c multi: during ratelimit multi_getsock should return no sockets 2023-11-30 15:53:22 +01:00
progress.h lib: let the max filesize option stop too big transfers too 2023-09-23 11:20:20 +02:00
psl.c
psl.h
rand.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
rand.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
rename.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
rename.h
rtsp.c lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding 2023-12-08 17:22:33 +01:00
rtsp.h RTSP: improved RTP parser 2023-10-21 14:38:21 +02:00
select.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
select.h
sendf.c sendf: fix compiler warning with CURL_DISABLE_HEADERS_API 2023-12-08 09:28:53 +01:00
sendf.h lib: client writer, part 2, accounting + logging 2023-11-06 13:14:06 +01:00
setopt.c CURLOPT_SERVER_RESPONSE_TIMEOUT_MS: add 2023-12-18 23:09:30 +01:00
setopt.h
setup-os400.h os400: implement CLI tool 2023-08-30 11:38:27 +02:00
setup-vms.h egd: delete feature detection and related source code 2023-08-01 21:58:56 +00:00
setup-win32.h windows: simplify detecting and using system headers 2023-12-16 13:13:44 +00:00
sha256.c lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
share.c build: fix some -Wsign-conversion/-Warith-conversion warnings 2023-12-19 12:45:28 +00:00
share.h build: delete support bits for obsolete Windows compilers 2023-11-06 22:00:10 +00:00
sigpipe.h build: delete checks for C89 standard headers 2023-09-26 14:25:10 +00:00
slist.c
slist.h
smb.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
smb.h cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
smtp.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
smtp.h
sockaddr.h
socketpair.c windows: delete redundant headers 2023-12-18 14:56:57 +00:00
socketpair.h asyn-thread: use pipe instead of socketpair for IPC when available 2023-10-18 08:23:53 +02:00
socks_gssapi.c lib: strndup/memdup instead of malloc, memcpy and null-terminate 2023-12-07 08:47:44 +01:00
socks_sspi.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
socks.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
socks.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
speedcheck.c
speedcheck.h
splay.c
splay.h
strcase.c
strcase.h
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 strerror: repair get_winsock_error() 2023-12-21 23:17:15 +01:00
strerror.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
strtok.c
strtok.h
strtoofft.c
strtoofft.h
system_win32.c asyn-thread: use GetAddrInfoExW on >= Windows 8 2023-12-21 23:25:45 +01:00
system_win32.h asyn-thread: use GetAddrInfoExW on >= Windows 8 2023-12-21 23:25:45 +01:00
telnet.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
telnet.h
tftp.c setopt: check CURLOPT_TFTP_BLKSIZE range on set 2023-11-22 07:44:05 +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
timeval.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
timeval.h multi: round the timeout up to prevent early wakeups 2023-09-28 09:52:20 +02:00
transfer.c readwrite_data: loop less 2023-12-14 16:13:28 +01:00
transfer.h lib: eliminate conn->cselect_bits 2023-12-14 15:20:05 +01:00
url.c Revert "urldata: move async resolver state from easy handle to connectdata" 2023-12-15 12:57:35 +01:00
url.h url: protocol handler lookup tidy-up 2023-10-27 16:55:54 +02:00
urlapi-int.h
urlapi.c curl.h: add CURLE_TOO_LARGE 2023-12-18 10:34:22 +01:00
urldata.h Revert "urldata: move async resolver state from easy handle to connectdata" 2023-12-15 12:57:35 +01:00
version_win32.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
version_win32.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
version.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
warnless.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
warnless.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
ws.c build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
ws.h