diff --git a/programs/ssl/dtls_client.c b/programs/ssl/dtls_client.c index 6ac83d7bd1..0fedbc739a 100644 --- a/programs/ssl/dtls_client.c +++ b/programs/ssl/dtls_client.c @@ -71,11 +71,13 @@ int main( void ) #define DEBUG_LEVEL 0 -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { ((void) level); - mbedtls_fprintf( (FILE *) ctx, "%s", str ); + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); fflush( (FILE *) ctx ); } diff --git a/programs/ssl/dtls_server.c b/programs/ssl/dtls_server.c index 69da1d3812..ef7ce9405f 100644 --- a/programs/ssl/dtls_server.c +++ b/programs/ssl/dtls_server.c @@ -79,11 +79,13 @@ int main( void ) #define READ_TIMEOUT_MS 10000 /* 5 seconds */ #define DEBUG_LEVEL 0 -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { ((void) level); - mbedtls_fprintf( (FILE *) ctx, "%s", str ); + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); fflush( (FILE *) ctx ); } diff --git a/programs/ssl/ssl_client1.c b/programs/ssl/ssl_client1.c index c1da0a2ea0..c23c65323a 100644 --- a/programs/ssl/ssl_client1.c +++ b/programs/ssl/ssl_client1.c @@ -66,11 +66,13 @@ int main( void ) #define DEBUG_LEVEL 1 -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { ((void) level); - mbedtls_fprintf( (FILE *) ctx, "%s", str ); + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); fflush( (FILE *) ctx ); } diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c index b24d70437f..f8188d636f 100644 --- a/programs/ssl/ssl_client2.c +++ b/programs/ssl/ssl_client2.c @@ -311,11 +311,13 @@ struct options int etm; /* negotiate encrypt then mac? */ } opt; -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { ((void) level); - mbedtls_fprintf( (FILE *) ctx, "%s", str ); + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); fflush( (FILE *) ctx ); } diff --git a/programs/ssl/ssl_fork_server.c b/programs/ssl/ssl_fork_server.c index 26855a2d36..0984be1b16 100644 --- a/programs/ssl/ssl_fork_server.c +++ b/programs/ssl/ssl_fork_server.c @@ -83,13 +83,14 @@ int main( void ) #define DEBUG_LEVEL 0 -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { - if( level < DEBUG_LEVEL ) - { - mbedtls_fprintf( (FILE *) ctx, "%s", str ); - fflush( (FILE *) ctx ); - } + ((void) level); + + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); + fflush( (FILE *) ctx ); } int main( void ) diff --git a/programs/ssl/ssl_mail_client.c b/programs/ssl/ssl_mail_client.c index f16eb8731b..99325942e7 100644 --- a/programs/ssl/ssl_mail_client.c +++ b/programs/ssl/ssl_mail_client.c @@ -154,13 +154,14 @@ struct options int force_ciphersuite[2]; /* protocol/ciphersuite to use, or all */ } opt; -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { - if( level < opt.debug_level ) - { - mbedtls_fprintf( (FILE *) ctx, "%s", str ); - fflush( (FILE *) ctx ); - } + ((void) level); + + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); + fflush( (FILE *) ctx ); } static int do_handshake( mbedtls_ssl_context *ssl ) diff --git a/programs/ssl/ssl_pthread_server.c b/programs/ssl/ssl_pthread_server.c index 3a137e3153..7a4c2b27a1 100644 --- a/programs/ssl/ssl_pthread_server.c +++ b/programs/ssl/ssl_pthread_server.c @@ -89,14 +89,19 @@ int main( void ) mbedtls_threading_mutex_t debug_mutex; -static void my_mutexed_debug( void *ctx, int level, const char *str ) +static void my_mutexed_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { + long int thread_id = (long int) pthread_self(); + mbedtls_mutex_lock( &debug_mutex ); - if( level < DEBUG_LEVEL ) - { - mbedtls_fprintf( (FILE *) ctx, "%s", str ); - fflush( (FILE *) ctx ); - } + + ((void) level); + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: [ #%ld ] %s", + file, line, thread_id, str ); + fflush( (FILE *) ctx ); + mbedtls_mutex_unlock( &debug_mutex ); } diff --git a/programs/ssl/ssl_server.c b/programs/ssl/ssl_server.c index 6535ec9f4a..c009733fbc 100644 --- a/programs/ssl/ssl_server.c +++ b/programs/ssl/ssl_server.c @@ -78,11 +78,13 @@ int main( void ) #define DEBUG_LEVEL 0 -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { ((void) level); - mbedtls_fprintf( (FILE *) ctx, "%s", str ); + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); fflush( (FILE *) ctx ); } diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c index 763cccf607..a5c50d057c 100644 --- a/programs/ssl/ssl_server2.c +++ b/programs/ssl/ssl_server2.c @@ -390,11 +390,13 @@ struct options int badmac_limit; /* Limit of records with bad MAC */ } opt; -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { ((void) level); - mbedtls_fprintf( (FILE *) ctx, "%s", str ); + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); fflush( (FILE *) ctx ); } diff --git a/programs/x509/cert_app.c b/programs/x509/cert_app.c index bd5ccda981..dd398051cf 100644 --- a/programs/x509/cert_app.c +++ b/programs/x509/cert_app.c @@ -110,13 +110,14 @@ struct options int permissive; /* permissive parsing */ } opt; -static void my_debug( void *ctx, int level, const char *str ) +static void my_debug( void *ctx, int level, + const char *file, int line, + const char *str ) { - if( level < opt.debug_level ) - { - mbedtls_fprintf( (FILE *) ctx, "%s", str ); - fflush( (FILE *) ctx ); - } + ((void) level); + + mbedtls_fprintf( (FILE *) ctx, "%s:%04d: %s", file, line, str ); + fflush( (FILE *) ctx ); } static int my_verify( void *data, mbedtls_x509_crt *crt, int depth, uint32_t *flags )