blob: e7c2add2c5a6c901f458cd8734901247386772e2 [file] [log] [blame]
Paul Bakker33b43f12013-08-20 11:48:36 +02001/* BEGIN_HEADER */
Paul Bakker1f761152010-02-18 18:16:31 +00002#include <polarssl/debug.h>
3
4struct buffer_data
5{
6 char buf[2000];
7 char *ptr;
8};
9
Paul Bakkerff60ee62010-03-16 21:09:09 +000010void string_debug(void *data, int level, const char *str)
Paul Bakker1f761152010-02-18 18:16:31 +000011{
12 struct buffer_data *buffer = (struct buffer_data *) data;
Paul Bakker26b41a82011-07-13 14:53:58 +000013 ((void) level);
Paul Bakker1f761152010-02-18 18:16:31 +000014
15 memcpy(buffer->ptr, str, strlen(str));
16 buffer->ptr += strlen(str);
17}
Paul Bakker33b43f12013-08-20 11:48:36 +020018/* END_HEADER */
Paul Bakker1f761152010-02-18 18:16:31 +000019
Paul Bakker33b43f12013-08-20 11:48:36 +020020/* BEGIN_DEPENDENCIES
21 * depends_on:POLARSSL_DEBUG_C:POLARSSL_BIGNUM_C:POLARSSL_SSL_TLS_C:POLARSSL_RSA_C
22 * END_DEPENDENCIES
23 */
Paul Bakker5690efc2011-05-26 13:16:06 +000024
Paul Bakker36713e82013-09-17 13:25:29 +020025/* BEGIN_CASE depends_on:POLARSSL_FS_IO:POLARSSL_X509_CRT_PARSE_C */
Paul Bakker33b43f12013-08-20 11:48:36 +020026void debug_print_crt( char *crt_file, char *file, int line, char *prefix,
27 char *result_str )
Paul Bakker1f761152010-02-18 18:16:31 +000028{
Paul Bakkerc559c7a2013-09-18 14:13:26 +020029 x509_crt crt;
Paul Bakker1f761152010-02-18 18:16:31 +000030 ssl_context ssl;
31 struct buffer_data buffer;
32
Paul Bakker369d2eb2013-09-18 11:58:25 +020033 x509_crt_init( &crt );
Paul Bakker1f761152010-02-18 18:16:31 +000034 memset( &ssl, 0, sizeof( ssl_context ) );
35 memset( buffer.buf, 0, 2000 );
36 buffer.ptr = buffer.buf;
37
38 ssl_set_dbg(&ssl, string_debug, &buffer);
39
Paul Bakkerddf26b42013-09-18 13:46:23 +020040 TEST_ASSERT( x509_crt_parse_file( &crt, crt_file ) == 0 );
Paul Bakker33b43f12013-08-20 11:48:36 +020041 debug_print_crt( &ssl, 0, file, line, prefix, &crt);
Paul Bakker1f761152010-02-18 18:16:31 +000042
Paul Bakker33b43f12013-08-20 11:48:36 +020043 TEST_ASSERT( strcmp( buffer.buf, result_str ) == 0 );
Paul Bakker58ef6ec2013-01-03 11:33:48 +010044
Paul Bakker36713e82013-09-17 13:25:29 +020045 x509_crt_free( &crt );
Paul Bakker1f761152010-02-18 18:16:31 +000046}
Paul Bakker33b43f12013-08-20 11:48:36 +020047/* END_CASE */
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +000048
Paul Bakker33b43f12013-08-20 11:48:36 +020049/* BEGIN_CASE */
50void debug_print_mpi( int radix, char *value, char *file, int line,
51 char *prefix, char *result_str )
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +000052{
53 ssl_context ssl;
54 struct buffer_data buffer;
55 mpi val;
56
Paul Bakker6c591fa2011-05-05 11:49:20 +000057 mpi_init( &val );
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +000058
59 memset( &ssl, 0, sizeof( ssl_context ) );
60 memset( buffer.buf, 0, 2000 );
61 buffer.ptr = buffer.buf;
62
Paul Bakker33b43f12013-08-20 11:48:36 +020063 TEST_ASSERT( mpi_read_string( &val, radix, value ) == 0 );
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +000064 ssl_set_dbg(&ssl, string_debug, &buffer);
65
Paul Bakker33b43f12013-08-20 11:48:36 +020066 debug_print_mpi( &ssl, 0, file, line, prefix, &val);
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +000067
Paul Bakker33b43f12013-08-20 11:48:36 +020068 TEST_ASSERT( strcmp( buffer.buf, result_str ) == 0 );
Paul Bakker6c591fa2011-05-05 11:49:20 +000069
70 mpi_free( &val );
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +000071}
Paul Bakker33b43f12013-08-20 11:48:36 +020072/* END_CASE */