curl/lib/vtls
Stefan Eissing 68bd759c2b
QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA
When a QUIC TLS session announced early data support and
'CURLSSLOPT_EARLYDATA' is set for the transfer, send initial request and
body (up to the 128k we buffer) as 0RTT when curl is built with
ngtcp2+gnutls.

QUIC 0RTT needs not only the TLS session but the QUIC transport
paramters as well. Store those and the earlydata max value together with
the session in the cache.

Add test case for h3 use of this. Enable quic early data in nghttpx for
testing.

Closes #15667
2024-12-23 17:07:15 +01:00
..
.checksrc lib: enable strerror and strncpy checksrc warnings in subdirs 2024-09-09 16:51:21 +02:00
bearssl.c QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA 2024-12-23 17:07:15 +01:00
bearssl.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
cipher_suite.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
cipher_suite.h rustls: add support for setting TLS version and ciphers 2024-08-16 09:55:02 +02:00
gtls.c QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA 2024-12-23 17:07:15 +01:00
gtls.h QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA 2024-12-23 17:07:15 +01:00
hostcheck.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
hostcheck.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
keylog.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
keylog.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
mbedtls_threadlock.c mbedtls: properly cleanup the thread-shared entropy 2024-03-12 03:09:37 -04:00
mbedtls_threadlock.h tidy-up: one comment and EOF newlines 2024-03-12 15:38:44 +00:00
mbedtls.c QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA 2024-12-23 17:07:15 +01:00
mbedtls.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
openssl.c QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA 2024-12-23 17:07:15 +01:00
openssl.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
rustls.c vtls: remove 'detach/attach' functions from TLS handler struct 2024-12-18 15:52:03 +01:00
rustls.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
schannel_int.h schannel: fix TLS cert verification by IP SAN 2024-10-31 08:59:37 +01:00
schannel_verify.c tool_getpass: restore UWP getpass_r(), fixup CI builds, fix UWP -Wnull-dereference 2024-11-26 13:01:57 +01:00
schannel.c lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
schannel.h build: do not publish HAVE_BORINGSSL, HAVE_AWSLC macros 2023-10-08 22:29:45 +00:00
sectransp.c lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
sectransp.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
vtls_int.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
vtls_scache.c QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA 2024-12-23 17:07:15 +01:00
vtls_scache.h QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA 2024-12-23 17:07:15 +01:00
vtls.c lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
vtls.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
wolfssl.c QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA 2024-12-23 17:07:15 +01:00
wolfssl.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
x509asn1.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
x509asn1.h x509asn1: unittests and fixes for gtime2str 2024-07-30 23:08:59 +02:00