curl/lib/vtls
Stefan Eissing feea968512
conncontrol: reuse handling
Add protocol handler flag `PROTOPT_CONN_REUSE` to indicate that the
protocol allows reusing connections for other tranfers. Add that
to all handlers that support it.

Create connections with `conn->bits.close = FALSE` and remove all
the `connkeep()` calls in protocol handlers setup/connect implementations.
`PROTOPT_CONN_REUSE` assures that the default behaviour applies
at the end of a transfer without need to juggle the close bit.

`conn->bits.close` now serves as an additional indication that a
connection cannot be reused. Only protocol handles that allow
reuse need to set it to override the default behaviour.

Remove all `connclose()` and `connkeep()` calls from connection
filters. Filters should not modify connection flags. They are
supposed to run in eyeballing situations where a filter is just
one of many determining the outcome.

Fix http response header handling to only honour `Connection: close`
for HTTP/1.x versions.

Closes #19333
2025-11-27 14:30:14 +01:00
..
apple.c badwords: check indented lines in source code, fix fallouts 2025-11-15 13:25:02 +01:00
apple.h apple sectrust: add to features 2025-10-16 10:58:45 +02:00
cipher_suite.c lib: stop overriding system printf symbols 2025-10-06 20:57:59 +02:00
cipher_suite.h TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
gtls.c apple-sectrust: always ask when native_ca_store is in use 2025-11-21 14:02:46 +01:00
gtls.h ssl: support Apple SecTrust configurations 2025-10-03 12:02:23 +02:00
hostcheck.c tidy-up: more whitespace/indent, comments 2025-07-25 11:47:51 +02:00
hostcheck.h openssl: some small cleanups 2025-07-18 00:40:26 +02:00
keylog.c build: avoid overriding system symbols for fopen functions 2025-09-30 01:10:36 +02:00
keylog.h spelling: 'a' vs 'an' 2025-05-30 11:38:35 +02:00
mbedtls.c code: minor indent fixes before closing braces 2025-11-13 17:27:40 +01:00
mbedtls.h lib: include files using known path 2025-04-08 17:00:00 +02:00
mbedtls_threadlock.c lib: stop overriding system printf symbols 2025-10-06 20:57:59 +02:00
mbedtls_threadlock.h lib: include files using known path 2025-04-08 17:00:00 +02:00
openssl.c conncontrol: reuse handling 2025-11-27 14:30:14 +01:00
openssl.h openssl: bump minimum OpenSSL version to 3.0.0 2025-11-15 15:56:31 +01:00
rustls.c tidy-up: miscellaneous 2025-11-17 13:32:43 +01:00
rustls.h lib: include files using known path 2025-04-08 17:00:00 +02:00
schannel.c ratelimit: redesign 2025-11-24 23:34:05 +01:00
schannel.h openssl: BoringSSL / AWS-LC tidy-ups 2025-08-24 00:30:06 +02:00
schannel_int.h build: drop support for VS2008 (Windows) 2025-11-15 15:56:19 +01:00
schannel_verify.c schannel_verify: fix a memory leak of cert_context 2025-11-17 14:42:21 +01:00
vtls.c lib: rename internal header share.h to curl_share.h to avoid collision 2025-11-25 00:26:50 +01:00
vtls.h vtls: handle possible malicious certs_num from peer 2025-11-08 10:33:06 +01:00
vtls_int.h vtls_int.h: clarify data_pending 2025-09-21 09:43:28 +02:00
vtls_scache.c lib: rename internal header share.h to curl_share.h to avoid collision 2025-11-25 00:26:50 +01:00
vtls_scache.h ssl-session-cache: check use on config and availability 2025-10-29 03:07:59 -04:00
vtls_spack.c build: drop support for VS2008 (Windows) 2025-11-15 15:56:19 +01:00
vtls_spack.h build: fix build errors/warnings in rare configurations 2025-07-23 22:17:03 +02:00
wolfssl.c wolfssl: fix cipher list, skip 5.8.4 regression 2025-11-23 18:05:42 +01:00
wolfssl.h GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
x509asn1.c lib: cleanup for some typos about spaces and code style 2025-11-05 14:07:28 +01:00
x509asn1.h build: address some -Weverything warnings, update picky warnings 2025-09-20 10:16:15 +02:00