Don't wait for dry at the end of a handshake
authorMatt Caswell <matt@openssl.org>
Tue, 16 Jan 2018 11:26:50 +0000 (11:26 +0000)
committerMatt Caswell <matt@openssl.org>
Wed, 21 Mar 2018 10:27:29 +0000 (10:27 +0000)
commit424afe931e7d813f75c7d1eacad7a5cd946c6456
tree474015b75281580eb04ecca919c46c4afb193932
parent2e92af5ea5987354fd7fe582a07440ff7aca01f4
Don't wait for dry at the end of a handshake

For DTLS/SCTP we were waiting for a dry event during the call to
tls_finish_handshake(). This function just tidies up various internal
things, and after it completes the handshake is over. I can find no good
reason for waiting for a dry event here, and nothing in RFC6083 suggests
to me that we should need to. More importantly though it seems to be
wrong. It is perfectly possible for a peer to send app data/alerts/new
handshake while we are still cleaning up our handshake. If this happens
then we will never get the dry event and so we cannot continue.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5084)
ssl/statem/statem_lib.c