Provide functions to write early data
[openssl.git] / ssl / statem / statem.c
index a1c5a2152297ca7f22d63561e68035b2373aa2d5..10d794ede7fdb35dce999690e6f597e570cb73a4 100644 (file)
@@ -313,7 +313,9 @@ static int state_machine(SSL *s, int server)
                 goto end;
             }
 
-        if (SSL_IS_FIRST_HANDSHAKE(s) || s->renegotiate) {
+        if ((SSL_IS_FIRST_HANDSHAKE(s)
+                    && s->early_data_state != SSL_EARLY_DATA_FINISHED_WRITING)
+                || s->renegotiate) {
             if (!tls_setup_handshake(s)) {
                 ossl_statem_set_error(s);
                 goto end;