From 1bb5a1ffe3317a329f29b292845445b148460749 Mon Sep 17 00:00:00 2001 From: Jerry Yu Date: Sun, 30 Jan 2022 10:52:11 +0800 Subject: [PATCH] Implement received sig_algs check Signed-off-by: Jerry Yu --- library/ssl_misc.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/library/ssl_misc.h b/library/ssl_misc.h index 68971cd3f0..e4195bf4ba 100644 --- a/library/ssl_misc.h +++ b/library/ssl_misc.h @@ -1911,9 +1911,16 @@ static inline const void *mbedtls_ssl_get_sig_algs( static inline int mbedtls_ssl_sig_alg_is_received( const mbedtls_ssl_context *ssl, uint16_t own_sig_alg ) { - ((void) ssl); - ((void) own_sig_alg); - return( 1 ); + const uint16_t *sig_alg = ssl->handshake->received_sig_algs; + if( sig_alg == NULL ) + return( 0 ); + + for( ; *sig_alg != MBEDTLS_TLS1_3_SIG_NONE; sig_alg++ ) + { + if( *sig_alg == own_sig_alg ) + return( 1 ); + } + return( 0 ); } static inline int mbedtls_ssl_sig_alg_is_offered( const mbedtls_ssl_context *ssl,