diff options
author | tb <> | 2020-01-22 02:39:45 +0000 |
---|---|---|
committer | tb <> | 2020-01-22 02:39:45 +0000 |
commit | e841f2e08f8bcc62f31051874b1b2a491665e7c6 (patch) | |
tree | e3b7e917f86898f6c4c09cc95fd58779cf635a2f /src/lib/libssl/tls13_internal.h | |
parent | e42a9af6bede5e8c30f66cf9013f858a29caed3e (diff) | |
download | openbsd-e841f2e08f8bcc62f31051874b1b2a491665e7c6.tar.gz openbsd-e841f2e08f8bcc62f31051874b1b2a491665e7c6.tar.bz2 openbsd-e841f2e08f8bcc62f31051874b1b2a491665e7c6.zip |
The legacy_record_version must be set to TLS1_2_VERSION except
in the ClientHello where it may be set to TLS1_VERSION. Use
the minimal supported version to decide whether we choose to do
so or not. Use a sent hook to set it back TLS1_2_VERSION right
after the ClientHello message is on the wire.
ok beck jsing
Diffstat (limited to 'src/lib/libssl/tls13_internal.h')
-rw-r--r-- | src/lib/libssl/tls13_internal.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libssl/tls13_internal.h b/src/lib/libssl/tls13_internal.h index 167ed1f254..1eb05b7100 100644 --- a/src/lib/libssl/tls13_internal.h +++ b/src/lib/libssl/tls13_internal.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_internal.h,v 1.41 2020/01/22 02:21:05 beck Exp $ */ | 1 | /* $OpenBSD: tls13_internal.h,v 1.42 2020/01/22 02:39:45 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> |
4 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> | 4 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> |
@@ -122,6 +122,8 @@ void tls13_record_layer_set_aead(struct tls13_record_layer *rl, | |||
122 | const EVP_AEAD *aead); | 122 | const EVP_AEAD *aead); |
123 | void tls13_record_layer_set_hash(struct tls13_record_layer *rl, | 123 | void tls13_record_layer_set_hash(struct tls13_record_layer *rl, |
124 | const EVP_MD *hash); | 124 | const EVP_MD *hash); |
125 | void tls13_record_layer_set_legacy_version(struct tls13_record_layer *rl, | ||
126 | uint16_t version); | ||
125 | void tls13_record_layer_handshake_completed(struct tls13_record_layer *rl); | 127 | void tls13_record_layer_handshake_completed(struct tls13_record_layer *rl); |
126 | int tls13_record_layer_set_read_traffic_key(struct tls13_record_layer *rl, | 128 | int tls13_record_layer_set_read_traffic_key(struct tls13_record_layer *rl, |
127 | struct tls13_secret *read_key); | 129 | struct tls13_secret *read_key); |
@@ -253,6 +255,7 @@ int tls13_legacy_shutdown(SSL *ssl); | |||
253 | int tls13_handshake_perform(struct tls13_ctx *ctx); | 255 | int tls13_handshake_perform(struct tls13_ctx *ctx); |
254 | 256 | ||
255 | int tls13_client_hello_send(struct tls13_ctx *ctx); | 257 | int tls13_client_hello_send(struct tls13_ctx *ctx); |
258 | int tls13_client_hello_sent(struct tls13_ctx *ctx); | ||
256 | int tls13_client_hello_recv(struct tls13_ctx *ctx); | 259 | int tls13_client_hello_recv(struct tls13_ctx *ctx); |
257 | int tls13_client_hello_retry_send(struct tls13_ctx *ctx); | 260 | int tls13_client_hello_retry_send(struct tls13_ctx *ctx); |
258 | int tls13_client_hello_retry_recv(struct tls13_ctx *ctx); | 261 | int tls13_client_hello_retry_recv(struct tls13_ctx *ctx); |