Test and fix anti-replay functions
diff --git a/tests/suites/test_suite_ssl.function b/tests/suites/test_suite_ssl.function
new file mode 100644
index 0000000..f138c2f
--- /dev/null
+++ b/tests/suites/test_suite_ssl.function
@@ -0,0 +1,33 @@
+/* BEGIN_HEADER */
+#include <polarssl/ssl.h>
+/* END_HEADER */
+
+/* BEGIN_DEPENDENCIES
+ * depends_on:POLARSSL_SSL_TLS_C
+ * END_DEPENDENCIES
+ */
+
+/* BEGIN_CASE depends_on:POLARSSL_SSL_DTLS_ANTI_REPLAY */
+void ssl_dtls_replay( char *prevs, char *new, int ret )
+{
+ ssl_context ssl;
+ char *end_prevs = prevs + strlen( prevs ) + 1;
+
+ TEST_ASSERT( ssl_init( &ssl ) == 0 );
+ TEST_ASSERT( ssl_set_transport( &ssl, SSL_TRANSPORT_DATAGRAM ) == 0 );
+
+ /* Read previous record numbers */
+ for( ; end_prevs - prevs >= 13; prevs += 13 )
+ {
+ prevs[12] = '\0';
+ unhexify( ssl.in_ctr + 2, prevs );
+ ssl_dtls_replay_update( &ssl );
+ }
+
+ /* Check new number */
+ unhexify( ssl.in_ctr + 2, new );
+ TEST_ASSERT( ssl_dtls_replay_check( &ssl ) == ret );
+
+ ssl_free( &ssl );
+}
+/* END_CASE */