diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/libssl/tls13_legacy.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/lib/libssl/tls13_legacy.c b/src/lib/libssl/tls13_legacy.c index e9e17293e1..943e2db9a1 100644 --- a/src/lib/libssl/tls13_legacy.c +++ b/src/lib/libssl/tls13_legacy.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_legacy.c,v 1.15 2020/10/07 10:14:45 tb Exp $ */ | 1 | /* $OpenBSD: tls13_legacy.c,v 1.16 2020/10/11 02:22:27 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -302,6 +302,8 @@ tls13_use_legacy_stack(struct tls13_ctx *ctx) | |||
302 | 302 | ||
303 | memset(&cbb, 0, sizeof(cbb)); | 303 | memset(&cbb, 0, sizeof(cbb)); |
304 | 304 | ||
305 | s->method = tls_legacy_method(); | ||
306 | |||
305 | if (!ssl3_setup_init_buffer(s)) | 307 | if (!ssl3_setup_init_buffer(s)) |
306 | goto err; | 308 | goto err; |
307 | if (!ssl3_setup_buffers(s)) | 309 | if (!ssl3_setup_buffers(s)) |
@@ -359,13 +361,12 @@ tls13_use_legacy_client(struct tls13_ctx *ctx) | |||
359 | { | 361 | { |
360 | SSL *s = ctx->ssl; | 362 | SSL *s = ctx->ssl; |
361 | 363 | ||
362 | s->method = tls_legacy_client_method(); | ||
363 | s->internal->handshake_func = s->method->internal->ssl_connect; | ||
364 | s->client_version = s->version = s->method->internal->max_version; | ||
365 | |||
366 | if (!tls13_use_legacy_stack(ctx)) | 364 | if (!tls13_use_legacy_stack(ctx)) |
367 | return 0; | 365 | return 0; |
368 | 366 | ||
367 | s->internal->handshake_func = s->method->internal->ssl_connect; | ||
368 | s->client_version = s->version = s->method->internal->max_version; | ||
369 | |||
369 | S3I(s)->hs.state = SSL3_ST_CR_SRVR_HELLO_A; | 370 | S3I(s)->hs.state = SSL3_ST_CR_SRVR_HELLO_A; |
370 | 371 | ||
371 | return 1; | 372 | return 1; |
@@ -376,14 +377,13 @@ tls13_use_legacy_server(struct tls13_ctx *ctx) | |||
376 | { | 377 | { |
377 | SSL *s = ctx->ssl; | 378 | SSL *s = ctx->ssl; |
378 | 379 | ||
379 | s->method = tls_legacy_server_method(); | 380 | if (!tls13_use_legacy_stack(ctx)) |
381 | return 0; | ||
382 | |||
380 | s->internal->handshake_func = s->method->internal->ssl_accept; | 383 | s->internal->handshake_func = s->method->internal->ssl_accept; |
381 | s->client_version = s->version = s->method->internal->max_version; | 384 | s->client_version = s->version = s->method->internal->max_version; |
382 | s->server = 1; | 385 | s->server = 1; |
383 | 386 | ||
384 | if (!tls13_use_legacy_stack(ctx)) | ||
385 | return 0; | ||
386 | |||
387 | S3I(s)->hs.state = SSL3_ST_SR_CLNT_HELLO_A; | 387 | S3I(s)->hs.state = SSL3_ST_SR_CLNT_HELLO_A; |
388 | 388 | ||
389 | return 1; | 389 | return 1; |