summaryrefslogtreecommitdiffstats
path: root/ssl/statem/statem.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2017-02-25 15:34:07 +0000
committerMatt Caswell <matt@openssl.org>2017-03-02 17:44:16 +0000
commit564547e482406c2d4c56a59e288b3a479dac2d74 (patch)
tree10ffc53f0749d268456c3d4ea534ae2d38e2f9c0 /ssl/statem/statem.c
parent4004ce5f6cd6540a07d6d1a4cef7138821d5e596 (diff)
Enable the client to call SSL_read() without stopping the ability to call SSL_write_early()
Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2737)
Diffstat (limited to 'ssl/statem/statem.c')
-rw-r--r--ssl/statem/statem.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ssl/statem/statem.c b/ssl/statem/statem.c
index 2c202f4deb..a1807f2a40 100644
--- a/ssl/statem/statem.c
+++ b/ssl/statem/statem.c
@@ -168,6 +168,13 @@ int ossl_statem_skip_early_data(SSL *s)
return 1;
}
+void ossl_statem_check_finish_init(SSL *s, int send)
+{
+ if ((send && s->statem.hand_state == TLS_ST_CW_PENDING_EARLY_DATA_END)
+ || (!send && s->statem.hand_state == TLS_ST_CW_EARLY_DATA))
+ ossl_statem_set_in_init(s, 1);
+}
+
void ossl_statem_set_hello_verify_done(SSL *s)
{
s->statem.state = MSG_FLOW_UNINITED;