Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenSSL/quictls: add support for TLSv1.3 early data #16477

Closed
wants to merge 6 commits into from

Conversation

icing
Copy link
Contributor

@icing icing commented Feb 25, 2025

Adds support for TLSv1.3 early data for TCP and QUIC via ngtcp2.

based on #16450

@github-actions github-actions bot added cmdline tool tests CI Continuous Integration labels Feb 25, 2025
@icing icing added the TLS label Feb 25, 2025
@bagder
Copy link
Member

bagder commented Feb 27, 2025

"This branch cannot be rebased due to conflicts" ... 😢

Comment on lines +54 to +55
#if OPENSSL_VERSION_NUMBER >= 0x10100010L && defined(TLS1_3_VERSION) && \
!defined(OPENSSL_IS_BORINGSSL) && !defined(OPENSSL_IS_AWSLC)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#if OPENSSL_VERSION_NUMBER >= 0x10100010L && defined(TLS1_3_VERSION) && \
!defined(OPENSSL_IS_BORINGSSL) && !defined(OPENSSL_IS_AWSLC)
#if defined(TLS1_3_VERSION) && \
((OPENSSL_VERSION_NUMBER >= 0x10100010L && \
!defined(LIBRESSL_VERSION_NUMBER)) || \
(defined(LIBRESSL_VERSION_NUMBER) && \
LIBRESSL_VERSION_NUMBER >= 0x3040100fL)) && \
!defined(OPENSSL_IS_BORINGSSL) && !defined(OPENSSL_IS_AWSLC)

Enable for LibreSSL? It seems supported since 3.4.1 (2021-10-14):
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.4.1-relnotes.txt

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vszakats thanks for the link. I just checked with libreSSL v3.9.2 and they have the API, but there is no implementation behind it. For example, their code for asking a session about the max early data the server announced is:

uint32_t
SSL_SESSION_get_max_early_data(const SSL_SESSION *s)
{
	return 0;
}

Hmm, yeah. Let's say this is not a supported feature.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, too bad, thank you for checking the source!

@bagder bagder closed this in 0d3b593 Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration cmdline tool tests TLS
Development

Successfully merging this pull request may close these issues.

3 participants