mirror of
https://github.com/openssl/openssl.git
synced 2025-01-30 14:01:55 +08:00
Improve the early data sanity check in SSL_do_handshake()
Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2737)
This commit is contained in:
parent
6437b802f1
commit
bc908c679b
@ -3232,9 +3232,15 @@ int SSL_do_handshake(SSL *s)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (s->early_data_state == SSL_EARLY_DATA_WRITE_RETRY
|
||||
|| s->early_data_state == SSL_EARLY_DATA_CONNECT_RETRY)
|
||||
return -1;
|
||||
if (s->early_data_state != SSL_EARLY_DATA_NONE
|
||||
&& s->early_data_state != SSL_EARLY_DATA_FINISHED_WRITING
|
||||
&& s->early_data_state != SSL_EARLY_DATA_FINISHED_READING
|
||||
&& s->early_data_state != SSL_EARLY_DATA_ACCEPTING
|
||||
&& s->early_data_state != SSL_EARLY_DATA_CONNECTING) {
|
||||
SSLerr(SSL_F_SSL_WRITE_INTERNAL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
s->method->ssl_renegotiate_check(s, 0);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user