summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_locl.h
diff options
context:
space:
mode:
authorjsing <>2022-07-24 14:28:16 +0000
committerjsing <>2022-07-24 14:28:16 +0000
commitf7f7655b1951f8dd9a8166cb6203a780f911d0bc (patch)
treef814f798e3d47e53e29dfd4db0eece8481fc97ad /src/lib/libssl/ssl_locl.h
parentc804d574e337158da589e90dc9cbb13d6ffde44f (diff)
downloadopenbsd-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.h6
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
586typedef struct ssl_handshake_st { 590typedef struct ssl_handshake_st {