mirror of
https://gitlab.com/gnuwget/wget2.git
synced 2026-02-01 14:41:08 +00:00
* include/libwget.h.in: Add wget_tls_session_* set of functions,
add new define WGET_SSL_SESSION_CACHE
* libwget/Makefile.am: Add tls_session.c to libwget
* libwget/ssl_gnutls.c (struct _config): Add tls_session_cache.
(struct _session_context): Add delayed_session_data.
(wget_ssl_set_config_string): Handle WGET_SSL_SESSION_CACHE.
(wget_ssl_open): Add False Start debug messages,
Set session data if cound in cache,
Write session data into cache.
(wget_ssl_read_timeout): Write session data into cache when
False Start has been activated.
* libwget/tls_session.c: New file with session data cache implementation
* src/options.c (print_help): Add new options --tls-resume and
--tls-session-file.
(config): Set tls_resume activated by default.
(options[]): Add tls-resume and tls-session-file.
(init): Create session file name, init session data cache,
Set session cache for TLS layer.
(deinit): Free session cache and session cache filename.
* src/options.h (struct config): Add tls_session_db, tls_session_file,
tls_resume.
* src/wget.c (main): Save session cache if changed.
TLS Session Resumption speeds up TLS handshake by 1xRTT.
Together with TCP Fast Open (enabled by default), we are down at
1xRTT TLS handshake overhead. To get down to 0 RTT we need a different
TLS protocol - TLS v1.3 will hopefully soon be standardized.