summaryrefslogtreecommitdiff
path: root/src/lib/libssl/tls13_handshake.c
diff options
context:
space:
mode:
authortb <>2020-05-09 20:38:19 +0000
committertb <>2020-05-09 20:38:19 +0000
commit2a4fe9ed015f84f0020469e2ffae41ce8272e589 (patch)
tree1c2a03fa66763a699d83162b42558515f1d27581 /src/lib/libssl/tls13_handshake.c
parenta7d1d6888203cb7211c1423e27096fbea68be440 (diff)
downloadopenbsd-2a4fe9ed015f84f0020469e2ffae41ce8272e589.tar.gz
openbsd-2a4fe9ed015f84f0020469e2ffae41ce8272e589.tar.bz2
openbsd-2a4fe9ed015f84f0020469e2ffae41ce8272e589.zip
Back out server side CCS sending. It breaks TLSv1.3 client communication
with TLSv1.2 servers, since it makes clients send their dummy CCS too early... There's an obvious but dirty bandaid which I can't bring myself to applying - this business is already disgusting enough. Issue found the hard way by sthen
Diffstat (limited to 'src/lib/libssl/tls13_handshake.c')
-rw-r--r--src/lib/libssl/tls13_handshake.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/lib/libssl/tls13_handshake.c b/src/lib/libssl/tls13_handshake.c
index 1825bfbf6c..d3333a2e4a 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.58 2020/05/09 16:43:05 tb Exp $ */ 1/* $OpenBSD: tls13_handshake.c,v 1.59 2020/05/09 20:38:19 tb 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>
@@ -102,7 +102,6 @@ static const struct tls13_handshake_action state_machine[] = {
102 .sender = TLS13_HS_SERVER, 102 .sender = TLS13_HS_SERVER,
103 .send = tls13_server_hello_retry_request_send, 103 .send = tls13_server_hello_retry_request_send,
104 .recv = tls13_server_hello_retry_request_recv, 104 .recv = tls13_server_hello_retry_request_recv,
105 .sent = tls13_server_hello_retry_request_sent,
106 }, 105 },
107 [SERVER_ENCRYPTED_EXTENSIONS] = { 106 [SERVER_ENCRYPTED_EXTENSIONS] = {
108 .handshake_type = TLS13_MT_ENCRYPTED_EXTENSIONS, 107 .handshake_type = TLS13_MT_ENCRYPTED_EXTENSIONS,
@@ -374,12 +373,6 @@ tls13_handshake_send_action(struct tls13_ctx *ctx,
374 if (action->sent != NULL && !action->sent(ctx)) 373 if (action->sent != NULL && !action->sent(ctx))
375 return TLS13_IO_FAILURE; 374 return TLS13_IO_FAILURE;
376 375
377 if (ctx->send_dummy_ccs) {
378 if ((ret = tls13_send_dummy_ccs(ctx->rl)) != TLS13_IO_SUCCESS)
379 return ret;
380 ctx->send_dummy_ccs = 0;
381 }
382
383 return TLS13_IO_SUCCESS; 376 return TLS13_IO_SUCCESS;
384} 377}
385 378