diff options
author | tb <> | 2020-05-09 20:38:19 +0000 |
---|---|---|
committer | tb <> | 2020-05-09 20:38:19 +0000 |
commit | 2a4fe9ed015f84f0020469e2ffae41ce8272e589 (patch) | |
tree | 1c2a03fa66763a699d83162b42558515f1d27581 /src/lib/libssl/tls13_handshake.c | |
parent | a7d1d6888203cb7211c1423e27096fbea68be440 (diff) | |
download | openbsd-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.c | 9 |
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 | ||