mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-25 18:05:42 +01:00
Parse Signature Algorithm ext when renegotiating
Signature algorithm extension was skipped when renegotiation was in progress, causing the signature algorithm not to be known when renegotiating, and failing the handshake. Fix removes the renegotiation step check before parsing the extension.
This commit is contained in:
parent
8ca0e8fdff
commit
73a381772b
@ -11,6 +11,9 @@ Bugfix
|
|||||||
* Fix memory leak in mbedtls_ssl_set_hostname() when called multiple times.
|
* Fix memory leak in mbedtls_ssl_set_hostname() when called multiple times.
|
||||||
Found by projectgus and jethrogb, #836.
|
Found by projectgus and jethrogb, #836.
|
||||||
* Fix usage help in ssl_server2 example. Found and fixed by Bei Lin.
|
* Fix usage help in ssl_server2 example. Found and fixed by Bei Lin.
|
||||||
|
* Parse signature algorithm extension when renegotiating. Previously,
|
||||||
|
renegotiated handshakes would only accept signatures using SHA-1
|
||||||
|
regardless of the peer's preferences, or fail if SHA-1 was disabled.
|
||||||
|
|
||||||
= mbed TLS 2.6.0 branch released 2017-08-10
|
= mbed TLS 2.6.0 branch released 2017-08-10
|
||||||
|
|
||||||
|
@ -1694,11 +1694,8 @@ read_record_header:
|
|||||||
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \
|
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED)
|
defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED)
|
||||||
case MBEDTLS_TLS_EXT_SIG_ALG:
|
case MBEDTLS_TLS_EXT_SIG_ALG:
|
||||||
MBEDTLS_SSL_DEBUG_MSG( 3, ( "found signature_algorithms extension" ) );
|
MBEDTLS_SSL_DEBUG_MSG( 3, ( "found signature_algorithms extension" ) );
|
||||||
#if defined(MBEDTLS_SSL_RENEGOTIATION)
|
|
||||||
if( ssl->renego_status == MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS )
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
ret = ssl_parse_signature_algorithms_ext( ssl, ext + 4, ext_size );
|
ret = ssl_parse_signature_algorithms_ext( ssl, ext + 4, ext_size );
|
||||||
if( ret != 0 )
|
if( ret != 0 )
|
||||||
return( ret );
|
return( ret );
|
||||||
|
Loading…
Reference in New Issue
Block a user