diff options
| author | tb <> | 2020-01-22 02:39:45 +0000 |
|---|---|---|
| committer | tb <> | 2020-01-22 02:39:45 +0000 |
| commit | 5eada86805b8d8ad077edadc52c005793a2b201a (patch) | |
| tree | e3b7e917f86898f6c4c09cc95fd58779cf635a2f /src/lib/libssl/tls13_internal.h | |
| parent | 8a5f0b4938aa181a953897e80c037c03a54b5a22 (diff) | |
| download | openbsd-5eada86805b8d8ad077edadc52c005793a2b201a.tar.gz openbsd-5eada86805b8d8ad077edadc52c005793a2b201a.tar.bz2 openbsd-5eada86805b8d8ad077edadc52c005793a2b201a.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 '')
| -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); |
