Fixed behaviour in case of rejected renegotiation.
[BearSSL] / src / ssl / ssl_engine.c
index 7106a5e..529b107 100644 (file)
@@ -1253,8 +1253,11 @@ br_ssl_engine_close(br_ssl_engine_context *cc)
 int
 br_ssl_engine_renegotiate(br_ssl_engine_context *cc)
 {
+       size_t len;
+
        if (br_ssl_engine_closed(cc) || cc->reneg == 1
-               || (cc->flags & BR_OPT_NO_RENEGOTIATION) != 0)
+               || (cc->flags & BR_OPT_NO_RENEGOTIATION) != 0
+               || br_ssl_engine_recvapp_buf(cc, &len) != NULL)
        {
                return 0;
        }