summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2021-06-28 15:36:51 +0000
committertb <>2021-06-28 15:36:51 +0000
commitae04ae2ebac1029c925e431a99bae7f6e4ab2900 (patch)
treec8018c73f512e6f8a828e6b313e41a54439d86e0 /src
parentde2554facf2b2abbf75cfd7110e03bfafca9a740 (diff)
downloadopenbsd-ae04ae2ebac1029c925e431a99bae7f6e4ab2900.tar.gz
openbsd-ae04ae2ebac1029c925e431a99bae7f6e4ab2900.tar.bz2
openbsd-ae04ae2ebac1029c925e431a99bae7f6e4ab2900.zip
The state machine now takes care of setting the legacy state,
so it is no longer necessary in to do this by hand in various places of the code interfacing with the legacy stack. ok jsing
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/tls13_legacy.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/src/lib/libssl/tls13_legacy.c b/src/lib/libssl/tls13_legacy.c
index f71bac48cd..cd9ec9942d 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.24 2021/04/19 16:51:56 jsing Exp $ */ 1/* $OpenBSD: tls13_legacy.c,v 1.25 2021/06/28 15:36:51 tb 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 *
@@ -361,8 +361,6 @@ tls13_use_legacy_client(struct tls13_ctx *ctx)
361 s->internal->handshake_func = s->method->internal->ssl_connect; 361 s->internal->handshake_func = s->method->internal->ssl_connect;
362 s->client_version = s->version = s->method->internal->max_tls_version; 362 s->client_version = s->version = s->method->internal->max_tls_version;
363 363
364 ctx->hs->state = SSL3_ST_CR_SRVR_HELLO_A;
365
366 return 1; 364 return 1;
367} 365}
368 366
@@ -378,8 +376,6 @@ tls13_use_legacy_server(struct tls13_ctx *ctx)
378 s->client_version = s->version = s->method->internal->max_tls_version; 376 s->client_version = s->version = s->method->internal->max_tls_version;
379 s->server = 1; 377 s->server = 1;
380 378
381 ctx->hs->state = SSL3_ST_SR_CLNT_HELLO_A;
382
383 return 1; 379 return 1;
384} 380}
385 381
@@ -406,13 +402,10 @@ tls13_legacy_accept(SSL *ssl)
406 } 402 }
407 403
408 ERR_clear_error(); 404 ERR_clear_error();
409 ctx->hs->state = SSL_ST_ACCEPT;
410 405
411 ret = tls13_server_accept(ctx); 406 ret = tls13_server_accept(ctx);
412 if (ret == TLS13_IO_USE_LEGACY) 407 if (ret == TLS13_IO_USE_LEGACY)
413 return ssl->method->internal->ssl_accept(ssl); 408 return ssl->method->internal->ssl_accept(ssl);
414 if (ret == TLS13_IO_SUCCESS)
415 ctx->hs->state = SSL_ST_OK;
416 409
417 return tls13_legacy_return_code(ssl, ret); 410 return tls13_legacy_return_code(ssl, ret);
418} 411}
@@ -448,13 +441,10 @@ tls13_legacy_connect(SSL *ssl)
448 } 441 }
449 442
450 ERR_clear_error(); 443 ERR_clear_error();
451 ctx->hs->state = SSL_ST_CONNECT;
452 444
453 ret = tls13_client_connect(ctx); 445 ret = tls13_client_connect(ctx);
454 if (ret == TLS13_IO_USE_LEGACY) 446 if (ret == TLS13_IO_USE_LEGACY)
455 return ssl->method->internal->ssl_connect(ssl); 447 return ssl->method->internal->ssl_connect(ssl);
456 if (ret == TLS13_IO_SUCCESS)
457 ctx->hs->state = SSL_ST_OK;
458 448
459 return tls13_legacy_return_code(ssl, ret); 449 return tls13_legacy_return_code(ssl, ret);
460} 450}