diff options
author | jsing <> | 2022-07-24 14:28:16 +0000 |
---|---|---|
committer | jsing <> | 2022-07-24 14:28:16 +0000 |
commit | f7f7655b1951f8dd9a8166cb6203a780f911d0bc (patch) | |
tree | f814f798e3d47e53e29dfd4db0eece8481fc97ad /src/lib/libssl/ssl_locl.h | |
parent | c804d574e337158da589e90dc9cbb13d6ffde44f (diff) | |
download | openbsd-f7f7655b1951f8dd9a8166cb6203a780f911d0bc.tar.gz openbsd-f7f7655b1951f8dd9a8166cb6203a780f911d0bc.tar.bz2 openbsd-f7f7655b1951f8dd9a8166cb6203a780f911d0bc.zip |
Provide record layer callbacks for QUIC.
QUIC uses TLS to complete the handshake, however unlike normal TLS it does
not use the TLS record layer, rather it provides its own transport. This
means that we need to intercept all communication between the TLS handshake
and the record layer. This allows TLS handshake message writes to be
directed to QUIC, likewise for TLS handshake message reads. Alerts also
need to be sent via QUIC, plus it needs to be provided with the traffic
keys that are derived by TLS.
ok tb@
Diffstat (limited to 'src/lib/libssl/ssl_locl.h')
-rw-r--r-- | src/lib/libssl/ssl_locl.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index 7623daccf1..18daf791f0 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_locl.h,v 1.416 2022/07/22 19:54:46 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.417 2022/07/24 14:28:16 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -581,6 +581,10 @@ typedef struct ssl_handshake_tls13_st { | |||
581 | EVP_MD_CTX *clienthello_md_ctx; | 581 | EVP_MD_CTX *clienthello_md_ctx; |
582 | unsigned char *clienthello_hash; | 582 | unsigned char *clienthello_hash; |
583 | unsigned int clienthello_hash_len; | 583 | unsigned int clienthello_hash_len; |
584 | |||
585 | /* QUIC read/write encryption levels. */ | ||
586 | enum ssl_encryption_level_t quic_read_level; | ||
587 | enum ssl_encryption_level_t quic_write_level; | ||
584 | } SSL_HANDSHAKE_TLS13; | 588 | } SSL_HANDSHAKE_TLS13; |
585 | 589 | ||
586 | typedef struct ssl_handshake_st { | 590 | typedef struct ssl_handshake_st { |