diff options
| author | jsing <> | 2021-03-29 16:56:20 +0000 |
|---|---|---|
| committer | jsing <> | 2021-03-29 16:56:20 +0000 |
| commit | 2fc8ebed345c219f107e467a9280bd8d6b2f2c4a (patch) | |
| tree | 0e8c1ad71b36af9763e76c2ad66ecdd40ea78b30 /src | |
| parent | b0ad6a75e5cd47156d70adefc2b65728605ba944 (diff) | |
| download | openbsd-2fc8ebed345c219f107e467a9280bd8d6b2f2c4a.tar.gz openbsd-2fc8ebed345c219f107e467a9280bd8d6b2f2c4a.tar.bz2 openbsd-2fc8ebed345c219f107e467a9280bd8d6b2f2c4a.zip | |
Avoid transcript initialisation when sending a TLS HelloRequest.
When server side renegotiation is triggered, the TLSv1.2 state machine
sends a HelloRequest before going to ST_SW_FLUSH and ST_OK. In this case
we do not need the transcript and currently hit the sanity check in ST_OK
that ensures the transcript has been freed, breaking server initiated
renegotiation. We do however need the transcript in the DTLS case.
ok tb@
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libssl/ssl_srvr.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index aea8d67260..0f3572a678 100644 --- a/src/lib/libssl/ssl_srvr.c +++ b/src/lib/libssl/ssl_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_srvr.c,v 1.100 2021/03/27 17:56:28 tb Exp $ */ | 1 | /* $OpenBSD: ssl_srvr.c,v 1.101 2021/03/29 16:56:20 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -294,9 +294,11 @@ ssl3_accept(SSL *s) | |||
| 294 | S3I(s)->hs.state = SSL3_ST_SW_FLUSH; | 294 | S3I(s)->hs.state = SSL3_ST_SW_FLUSH; |
| 295 | s->internal->init_num = 0; | 295 | s->internal->init_num = 0; |
| 296 | 296 | ||
| 297 | if (!tls1_transcript_init(s)) { | 297 | if (SSL_is_dtls(s)) { |
| 298 | ret = -1; | 298 | if (!tls1_transcript_init(s)) { |
| 299 | goto end; | 299 | ret = -1; |
| 300 | goto end; | ||
| 301 | } | ||
| 300 | } | 302 | } |
| 301 | break; | 303 | break; |
| 302 | 304 | ||
