Provide record layer callbacks for QUIC.
authorjsing <jsing@openbsd.org>
Sun, 24 Jul 2022 14:28:16 +0000 (14:28 +0000)
committerjsing <jsing@openbsd.org>
Sun, 24 Jul 2022 14:28:16 +0000 (14:28 +0000)
commitf7e8f89fb91b338377370418c53b6831a0023151
treeb1e1693e856aaa51f4540b556cee542a148f9e71
parent4430b9a0203e938dd4f2c392db0642f152f89e8f
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@
lib/libssl/Makefile
lib/libssl/ssl_locl.h
lib/libssl/tls13_internal.h
lib/libssl/tls13_lib.c
lib/libssl/tls13_quic.c [new file with mode: 0644]
lib/libssl/tls13_record_layer.c
lib/libssl/tls_internal.h