Introduce SSL helper function to mark pending alerts
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index fc7ece7..8e394cf 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -7983,6 +7983,9 @@
if( ( ret = ssl_handshake_init( ssl ) ) != 0 )
goto error;
+ ssl->pend_alert_msg = MBEDTLS_SSL_ALERT_MSG_NONE;
+ ssl->pend_alert_level = MBEDTLS_SSL_ALERT_LEVEL_FATAL;
+
return( 0 );
error:
@@ -9835,6 +9838,14 @@
ret = mbedtls_ssl_handshake_server_step( ssl );
#endif
+ if( ssl->pend_alert_msg != MBEDTLS_SSL_ALERT_MSG_NONE )
+ {
+ mbedtls_ssl_send_alert_message( ssl,
+ ssl->pend_alert_level,
+ ssl->pend_alert_msg );
+ ssl->pend_alert_msg = MBEDTLS_SSL_ALERT_MSG_NONE;
+ ssl->pend_alert_level = MBEDTLS_SSL_ALERT_LEVEL_FATAL;
+ }
return( ret );
}