diff options
author | tb <> | 2020-01-22 05:06:23 +0000 |
---|---|---|
committer | tb <> | 2020-01-22 05:06:23 +0000 |
commit | 0cbc880fa36f08c10caa253c5b025333c684fa2f (patch) | |
tree | f5dc757ef7c1ccce03be8af3c9c22f746cace496 /src/lib/libssl/tls13_server.c | |
parent | aa63e39fdcbb655a32b0cd7bf602f7f051f03e52 (diff) | |
download | openbsd-0cbc880fa36f08c10caa253c5b025333c684fa2f.tar.gz openbsd-0cbc880fa36f08c10caa253c5b025333c684fa2f.tar.bz2 openbsd-0cbc880fa36f08c10caa253c5b025333c684fa2f.zip |
After the ClientHello has been sent or received and before the peer's
Finished message has been received, a change cipher spec may be received
and must be ignored. Add a flag to the record layer struct and set it at
the appropriate moments during the handshake so that we will ignore it.
ok jsing
Diffstat (limited to 'src/lib/libssl/tls13_server.c')
-rw-r--r-- | src/lib/libssl/tls13_server.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/libssl/tls13_server.c b/src/lib/libssl/tls13_server.c index 10d85a62b3..fc3e80ad58 100644 --- a/src/lib/libssl/tls13_server.c +++ b/src/lib/libssl/tls13_server.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_server.c,v 1.4 2020/01/22 02:21:05 beck Exp $ */ | 1 | /* $OpenBSD: tls13_server.c,v 1.5 2020/01/22 05:06:23 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -81,6 +81,8 @@ tls13_legacy_accept(SSL *ssl) | |||
81 | int | 81 | int |
82 | tls13_client_hello_recv(struct tls13_ctx *ctx) | 82 | tls13_client_hello_recv(struct tls13_ctx *ctx) |
83 | { | 83 | { |
84 | tls13_record_layer_allow_ccs(ctx->rl, 1); | ||
85 | |||
84 | return 0; | 86 | return 0; |
85 | } | 87 | } |
86 | 88 | ||
@@ -135,6 +137,8 @@ tls13_client_certificate_verify_recv(struct tls13_ctx *ctx) | |||
135 | int | 137 | int |
136 | tls13_client_finished_recv(struct tls13_ctx *ctx) | 138 | tls13_client_finished_recv(struct tls13_ctx *ctx) |
137 | { | 139 | { |
140 | tls13_record_layer_allow_ccs(ctx->rl, 0); | ||
141 | |||
138 | return 0; | 142 | return 0; |
139 | } | 143 | } |
140 | 144 | ||