diff options
Diffstat (limited to 'src/lib/libssl/tls13_handshake.c')
-rw-r--r-- | src/lib/libssl/tls13_handshake.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/src/lib/libssl/tls13_handshake.c b/src/lib/libssl/tls13_handshake.c index bec55d8416..92780bb2f2 100644 --- a/src/lib/libssl/tls13_handshake.c +++ b/src/lib/libssl/tls13_handshake.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_handshake.c,v 1.14 2019/01/20 06:40:55 tb Exp $ */ | 1 | /* $OpenBSD: tls13_handshake.c,v 1.15 2019/01/21 06:58:44 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018-2019 Theo Buehler <tb@openbsd.org> | 3 | * Copyright (c) 2018-2019 Theo Buehler <tb@openbsd.org> |
4 | * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> | 4 | * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> |
@@ -27,17 +27,6 @@ | |||
27 | #define TLS13_HANDSHAKE 1 | 27 | #define TLS13_HANDSHAKE 1 |
28 | #define TLS13_APPLICATION_DATA 2 | 28 | #define TLS13_APPLICATION_DATA 2 |
29 | 29 | ||
30 | /* Indexing into the state machine */ | ||
31 | struct tls13_handshake { | ||
32 | uint8_t hs_type; | ||
33 | uint8_t message_number; | ||
34 | }; | ||
35 | |||
36 | struct tls13_ctx { | ||
37 | uint8_t mode; | ||
38 | struct tls13_handshake handshake; | ||
39 | }; | ||
40 | |||
41 | struct tls13_handshake_action { | 30 | struct tls13_handshake_action { |
42 | uint8_t record_type; | 31 | uint8_t record_type; |
43 | uint8_t handshake_type; | 32 | uint8_t handshake_type; |
@@ -266,7 +255,7 @@ static enum tls13_message_type handshakes[][TLS13_NUM_MESSAGE_TYPES] = { | |||
266 | enum tls13_message_type | 255 | enum tls13_message_type |
267 | tls13_handshake_active_state(struct tls13_ctx *ctx) | 256 | tls13_handshake_active_state(struct tls13_ctx *ctx) |
268 | { | 257 | { |
269 | struct tls13_handshake hs = ctx->handshake; | 258 | struct tls13_handshake_stage hs = ctx->handshake_stage; |
270 | 259 | ||
271 | if (hs.hs_type >= NUM_HANDSHAKES) | 260 | if (hs.hs_type >= NUM_HANDSHAKES) |
272 | return INVALID; | 261 | return INVALID; |
@@ -290,7 +279,7 @@ tls13_handshake_active_action(struct tls13_ctx *ctx) | |||
290 | int | 279 | int |
291 | tls13_handshake_advance_state_machine(struct tls13_ctx *ctx) | 280 | tls13_handshake_advance_state_machine(struct tls13_ctx *ctx) |
292 | { | 281 | { |
293 | if (++ctx->handshake.message_number >= TLS13_NUM_MESSAGE_TYPES) | 282 | if (++ctx->handshake_stage.message_number >= TLS13_NUM_MESSAGE_TYPES) |
294 | return 0; | 283 | return 0; |
295 | 284 | ||
296 | return 1; | 285 | return 1; |
@@ -472,7 +461,7 @@ tls13_client_key_update_recv(struct tls13_ctx *ctx) | |||
472 | int | 461 | int |
473 | tls13_server_hello_recv(struct tls13_ctx *ctx) | 462 | tls13_server_hello_recv(struct tls13_ctx *ctx) |
474 | { | 463 | { |
475 | ctx->handshake.hs_type |= NEGOTIATED; | 464 | ctx->handshake_stage.hs_type |= NEGOTIATED; |
476 | 465 | ||
477 | return 0; | 466 | return 0; |
478 | } | 467 | } |
@@ -480,7 +469,7 @@ tls13_server_hello_recv(struct tls13_ctx *ctx) | |||
480 | int | 469 | int |
481 | tls13_server_hello_send(struct tls13_ctx *ctx) | 470 | tls13_server_hello_send(struct tls13_ctx *ctx) |
482 | { | 471 | { |
483 | ctx->handshake.hs_type |= NEGOTIATED; | 472 | ctx->handshake_stage.hs_type |= NEGOTIATED; |
484 | 473 | ||
485 | return 0; | 474 | return 0; |
486 | } | 475 | } |
@@ -521,7 +510,7 @@ tls13_server_certificate_request_recv(struct tls13_ctx *ctx) | |||
521 | * switching state, to avoid advancing state. | 510 | * switching state, to avoid advancing state. |
522 | */ | 511 | */ |
523 | if (msg_type == TLS13_MT_CERTIFICATE) { | 512 | if (msg_type == TLS13_MT_CERTIFICATE) { |
524 | ctx->handshake.hs_type |= WITHOUT_CR; | 513 | ctx->handshake_stage.hs_type |= WITHOUT_CR; |
525 | return tls13_server_certificate_recv(ctx); | 514 | return tls13_server_certificate_recv(ctx); |
526 | } | 515 | } |
527 | 516 | ||