If we receive an "update_requested" KeyUpdate then respond with a KeyUpdate
[openssl.git] / ssl / statem / statem_srvr.c
index 2a210010862e6a188a383c43c1d119d437ecd0f3..3007088b9bf6091d5c6534df29103acb36a771d4 100644 (file)
@@ -470,6 +470,12 @@ static WRITE_TRAN ossl_statem_server13_write_transition(SSL *s)
         return WRITE_TRAN_CONTINUE;
 
     case TLS_ST_SR_KEY_UPDATE:
+        if (s->key_update != SSL_KEY_UPDATE_NONE) {
+            st->hand_state = TLS_ST_SW_KEY_UPDATE;
+            return WRITE_TRAN_CONTINUE;
+        }
+        /* Fall through */
+
     case TLS_ST_SW_KEY_UPDATE:
     case TLS_ST_SW_SESSION_TICKET:
         st->hand_state = TLS_ST_OK;