diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libssl/tls13_handshake.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/lib/libssl/tls13_handshake.c b/src/lib/libssl/tls13_handshake.c index 9723edfea4..0dc2333708 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.72 2022/11/26 16:08:56 tb Exp $ */ | 1 | /* $OpenBSD: tls13_handshake.c,v 1.73 2024/02/03 19:57:14 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2018-2021 Theo Buehler <tb@openbsd.org> | 3 | * Copyright (c) 2018-2021 Theo Buehler <tb@openbsd.org> |
| 4 | * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> | 4 | * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> |
| @@ -546,22 +546,24 @@ tls13_handshake_recv_action(struct tls13_ctx *ctx, | |||
| 546 | return TLS13_IO_FAILURE; | 546 | return TLS13_IO_FAILURE; |
| 547 | 547 | ||
| 548 | ret = TLS13_IO_FAILURE; | 548 | ret = TLS13_IO_FAILURE; |
| 549 | if (action->recv(ctx, &cbs)) { | 549 | if (!action->recv(ctx, &cbs)) |
| 550 | if (CBS_len(&cbs) != 0) { | 550 | goto err; |
| 551 | tls13_set_errorx(ctx, TLS13_ERR_TRAILING_DATA, 0, | 551 | |
| 552 | "trailing data in handshake message", NULL); | 552 | if (CBS_len(&cbs) != 0) { |
| 553 | ctx->alert = TLS13_ALERT_DECODE_ERROR; | 553 | tls13_set_errorx(ctx, TLS13_ERR_TRAILING_DATA, 0, |
| 554 | } else { | 554 | "trailing data in handshake message", NULL); |
| 555 | ret = TLS13_IO_SUCCESS; | 555 | ctx->alert = TLS13_ALERT_DECODE_ERROR; |
| 556 | } | 556 | goto err; |
| 557 | } | 557 | } |
| 558 | 558 | ||
| 559 | ret = TLS13_IO_SUCCESS; | ||
| 560 | if (ctx->ssl->method->version < TLS1_3_VERSION) | ||
| 561 | ret = TLS13_IO_USE_LEGACY; | ||
| 562 | |||
| 563 | err: | ||
| 559 | tls13_handshake_msg_free(ctx->hs_msg); | 564 | tls13_handshake_msg_free(ctx->hs_msg); |
| 560 | ctx->hs_msg = NULL; | 565 | ctx->hs_msg = NULL; |
| 561 | 566 | ||
| 562 | if (ctx->ssl->method->version < TLS1_3_VERSION) | ||
| 563 | return TLS13_IO_USE_LEGACY; | ||
| 564 | |||
| 565 | return ret; | 567 | return ret; |
| 566 | } | 568 | } |
| 567 | 569 | ||
