blob: f138c2f78e18b325aa0bce0c3c0aab1771ba4062 [file] [log] [blame]
Manuel Pégourié-Gonnard4956fd72014-09-24 11:13:44 +02001/* BEGIN_HEADER */
2#include <polarssl/ssl.h>
3/* END_HEADER */
4
5/* BEGIN_DEPENDENCIES
6 * depends_on:POLARSSL_SSL_TLS_C
7 * END_DEPENDENCIES
8 */
9
10/* BEGIN_CASE depends_on:POLARSSL_SSL_DTLS_ANTI_REPLAY */
11void ssl_dtls_replay( char *prevs, char *new, int ret )
12{
13 ssl_context ssl;
14 char *end_prevs = prevs + strlen( prevs ) + 1;
15
16 TEST_ASSERT( ssl_init( &ssl ) == 0 );
17 TEST_ASSERT( ssl_set_transport( &ssl, SSL_TRANSPORT_DATAGRAM ) == 0 );
18
19 /* Read previous record numbers */
20 for( ; end_prevs - prevs >= 13; prevs += 13 )
21 {
22 prevs[12] = '\0';
23 unhexify( ssl.in_ctr + 2, prevs );
24 ssl_dtls_replay_update( &ssl );
25 }
26
27 /* Check new number */
28 unhexify( ssl.in_ctr + 2, new );
29 TEST_ASSERT( ssl_dtls_replay_check( &ssl ) == ret );
30
31 ssl_free( &ssl );
32}
33/* END_CASE */