diff options
author | tb <> | 2019-04-05 20:23:38 +0000 |
---|---|---|
committer | tb <> | 2019-04-05 20:23:38 +0000 |
commit | 55bc1fb8c12e9ebee84e4f4cd679dc16b3000b2c (patch) | |
tree | 6f5b00fafa4585971679b89854e3ba9289deccf5 /src/lib/libssl/tls13_internal.h | |
parent | d81e0a2e2b99c3aa745b51cb8193793f267d2a22 (diff) | |
download | openbsd-55bc1fb8c12e9ebee84e4f4cd679dc16b3000b2c.tar.gz openbsd-55bc1fb8c12e9ebee84e4f4cd679dc16b3000b2c.tar.bz2 openbsd-55bc1fb8c12e9ebee84e4f4cd679dc16b3000b2c.zip |
By design, our state machine is a DAG contrary to the state machine in
the spec. To avoid the obvious loop in the RFC's state machine, we added
a CLIENT_HELLO_RETRY state which is a second ClientHello with special
rules. There is, however, no state to react to this second client hello.
This adds a matching SERVER_HELLO_RETRY state to the handshakes table.
This means in particular that the WITH_HRR state cannot be set in
tls13_server_hello_recv(), so remove this now dead check.
ok jsing
Diffstat (limited to 'src/lib/libssl/tls13_internal.h')
-rw-r--r-- | src/lib/libssl/tls13_internal.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libssl/tls13_internal.h b/src/lib/libssl/tls13_internal.h index c9ef37a39f..1d7a7eb699 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.27 2019/04/04 16:53:57 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_internal.h,v 1.28 2019/04/05 20:23:38 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> |
@@ -229,6 +229,8 @@ int tls13_client_key_update_send(struct tls13_ctx *ctx); | |||
229 | int tls13_client_key_update_recv(struct tls13_ctx *ctx); | 229 | int tls13_client_key_update_recv(struct tls13_ctx *ctx); |
230 | int tls13_server_hello_recv(struct tls13_ctx *ctx); | 230 | int tls13_server_hello_recv(struct tls13_ctx *ctx); |
231 | int tls13_server_hello_send(struct tls13_ctx *ctx); | 231 | int tls13_server_hello_send(struct tls13_ctx *ctx); |
232 | int tls13_server_hello_retry_recv(struct tls13_ctx *ctx); | ||
233 | int tls13_server_hello_retry_send(struct tls13_ctx *ctx); | ||
232 | int tls13_server_encrypted_extensions_recv(struct tls13_ctx *ctx); | 234 | int tls13_server_encrypted_extensions_recv(struct tls13_ctx *ctx); |
233 | int tls13_server_encrypted_extensions_send(struct tls13_ctx *ctx); | 235 | int tls13_server_encrypted_extensions_send(struct tls13_ctx *ctx); |
234 | int tls13_server_certificate_recv(struct tls13_ctx *ctx); | 236 | int tls13_server_certificate_recv(struct tls13_ctx *ctx); |