Fix changing of the cipher state when dealing with early data
[openssl.git] / ssl / ssl_lib.c
index e3e7853d602997103ff1365d4ee8b8c38ef406f9..2f62f4b0e1bfa24854e54b1b1d5edc7d6e31d6ff 100644 (file)
@@ -1657,12 +1657,18 @@ int ssl_end_of_early_data_seen(SSL *s)
 {
     if (s->early_data_state == SSL_EARLY_DATA_READING) {
         s->early_data_state = SSL_EARLY_DATA_FINISHED_READING;
+        ossl_statem_finish_early_data(s);
         return 1;
     }
 
     return 0;
 }
 
+int SSL_get_early_data_status(SSL *s)
+{
+    return s->ext.early_data;
+}
+
 static int ssl_peek_internal(SSL *s, void *buf, size_t num, size_t *readbytes)
 {
     if (s->handshake_func == NULL) {