Add tests for record encryption/decryption
This commit adds tests exercising mutually inverse pairs of
record encryption and decryption transformations for the various
transformation types allowed in TLS: Stream, CBC, and AEAD.
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index b6567fb..274d004 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -1466,11 +1466,11 @@
add_data[12] = rec->data_len & 0xFF;
}
-static int ssl_encrypt_buf( mbedtls_ssl_context *ssl,
- mbedtls_ssl_transform *transform,
- mbedtls_record *rec,
- int (*f_rng)(void *, unsigned char *, size_t),
- void *p_rng )
+int mbedtls_ssl_encrypt_buf( mbedtls_ssl_context *ssl,
+ mbedtls_ssl_transform *transform,
+ mbedtls_record *rec,
+ int (*f_rng)(void *, unsigned char *, size_t),
+ void *p_rng )
{
mbedtls_cipher_mode_t mode;
int auth_done = 0;
@@ -1479,7 +1479,7 @@
size_t post_avail;
/* The SSL context is only used for debugging purposes! */
-#if !defined(MBEDTLS_SSL_DEBUG_C)
+#if !defined(MBEDTLS_DEBUG_C)
((void) ssl);
#endif
@@ -1858,9 +1858,9 @@
return( 0 );
}
-static int ssl_decrypt_buf( mbedtls_ssl_context *ssl,
- mbedtls_ssl_transform *transform,
- mbedtls_record *rec )
+int mbedtls_ssl_decrypt_buf( mbedtls_ssl_context *ssl,
+ mbedtls_ssl_transform *transform,
+ mbedtls_record *rec )
{
size_t olen;
mbedtls_cipher_mode_t mode;
@@ -1871,7 +1871,7 @@
unsigned char* data;
unsigned char add_data[13];
-#if !defined(MBEDTLS_SSL_DEBUG_C)
+#if !defined(MBEDTLS_DEBUG_C)
((void) ssl);
#endif
@@ -3451,7 +3451,7 @@
ssl->conf->transport, rec.ver );
rec.type = ssl->out_msgtype;
- if( ( ret = ssl_encrypt_buf( ssl, ssl->transform_out, &rec,
+ if( ( ret = mbedtls_ssl_encrypt_buf( ssl, ssl->transform_out, &rec,
ssl->conf->f_rng, ssl->conf->p_rng ) ) != 0 )
{
MBEDTLS_SSL_DEBUG_RET( 1, "ssl_encrypt_buf", ret );
@@ -4333,7 +4333,8 @@
mbedtls_ssl_write_version( ssl->major_ver, ssl->minor_ver,
ssl->conf->transport, rec.ver );
rec.type = ssl->in_msgtype;
- if( ( ret = ssl_decrypt_buf( ssl, ssl->transform_in, &rec ) ) != 0 )
+ if( ( ret = mbedtls_ssl_decrypt_buf( ssl, ssl->transform_in,
+ &rec ) ) != 0 )
{
MBEDTLS_SSL_DEBUG_RET( 1, "ssl_decrypt_buf", ret );
return( ret );
@@ -6783,7 +6784,7 @@
#endif
}
-static void ssl_transform_init( mbedtls_ssl_transform *transform )
+void mbedtls_ssl_transform_init( mbedtls_ssl_transform *transform )
{
memset( transform, 0, sizeof(mbedtls_ssl_transform) );
@@ -6850,7 +6851,7 @@
/* Initialize structures */
mbedtls_ssl_session_init( ssl->session_negotiate );
- ssl_transform_init( ssl->transform_negotiate );
+ mbedtls_ssl_transform_init( ssl->transform_negotiate );
ssl_handshake_params_init( ssl->handshake );
#if defined(MBEDTLS_SSL_PROTO_DTLS)