mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-01-22 11:51:04 +00:00
Merge remote-tracking branch 'public/pr/2907' into baremetal
This commit is contained in:
commit
aeecf04be3
|
@ -4918,6 +4918,25 @@ static inline uint64_t ssl_load_six_bytes( unsigned char *buf )
|
||||||
( (uint64_t) buf[5] ) );
|
( (uint64_t) buf[5] ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int mbedtls_ssl_dtls_record_replay_check( mbedtls_ssl_context *ssl, uint8_t *record_in_ctr )
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
unsigned char *original_in_ctr;
|
||||||
|
|
||||||
|
// save original in_ctr
|
||||||
|
original_in_ctr = ssl->in_ctr;
|
||||||
|
|
||||||
|
// use counter from record
|
||||||
|
ssl->in_ctr = record_in_ctr;
|
||||||
|
|
||||||
|
ret = mbedtls_ssl_dtls_replay_check( (mbedtls_ssl_context const *) ssl );
|
||||||
|
|
||||||
|
// restore the counter
|
||||||
|
ssl->in_ctr = original_in_ctr;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return 0 if sequence number is acceptable, -1 otherwise
|
* Return 0 if sequence number is acceptable, -1 otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -5433,7 +5452,8 @@ static int ssl_parse_record_header( mbedtls_ssl_context const *ssl,
|
||||||
#if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
|
#if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
|
||||||
/* For records from the correct epoch, check whether their
|
/* For records from the correct epoch, check whether their
|
||||||
* sequence number has been seen before. */
|
* sequence number has been seen before. */
|
||||||
else if( mbedtls_ssl_dtls_replay_check( ssl ) != 0 )
|
else if( mbedtls_ssl_dtls_record_replay_check( (mbedtls_ssl_context *) ssl,
|
||||||
|
&rec->ctr[0] ) != 0 )
|
||||||
{
|
{
|
||||||
MBEDTLS_SSL_DEBUG_MSG( 1, ( "replayed record" ) );
|
MBEDTLS_SSL_DEBUG_MSG( 1, ( "replayed record" ) );
|
||||||
return( MBEDTLS_ERR_SSL_UNEXPECTED_RECORD );
|
return( MBEDTLS_ERR_SSL_UNEXPECTED_RECORD );
|
||||||
|
|
Loading…
Reference in a new issue