Add debug_set_threshold() and thresholding of messages
diff --git a/programs/ssl/ssl_client1.c b/programs/ssl/ssl_client1.c
index 270bb62..a61ae64 100644
--- a/programs/ssl/ssl_client1.c
+++ b/programs/ssl/ssl_client1.c
@@ -29,6 +29,7 @@
 #include <stdio.h>
 
 #include "polarssl/net.h"
+#include "polarssl/debug.h"
 #include "polarssl/ssl.h"
 #include "polarssl/entropy.h"
 #include "polarssl/ctr_drbg.h"
@@ -61,11 +62,10 @@
 
 static void my_debug( void *ctx, int level, const char *str )
 {
-    if( level < DEBUG_LEVEL )
-    {
-        fprintf( (FILE *) ctx, "%s", str );
-        fflush(  (FILE *) ctx  );
-    }
+    ((void) level);
+
+    fprintf( (FILE *) ctx, "%s", str );
+    fflush(  (FILE *) ctx  );
 }
 
 int main( int argc, char *argv[] )
@@ -82,6 +82,10 @@
     ((void) argc);
     ((void) argv);
 
+#if defined(POLARSSL_DEBUG_C)
+    debug_set_threshold( DEBUG_LEVEL );
+#endif
+
     /*
      * 0. Initialize the RNG and the session data
      */
diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c
index 7c043eb..012403a 100644
--- a/programs/ssl/ssl_client2.c
+++ b/programs/ssl/ssl_client2.c
@@ -36,6 +36,7 @@
 #include "polarssl/certs.h"
 #include "polarssl/x509.h"
 #include "polarssl/error.h"
+#include "polarssl/debug.h"
 
 #if defined(POLARSSL_TIMING_C)
 #include "polarssl/timing.h"
@@ -112,11 +113,10 @@
 
 static void my_debug( void *ctx, int level, const char *str )
 {
-    if( level < opt.debug_level )
-    {
-        fprintf( (FILE *) ctx, "%s", str );
-        fflush(  (FILE *) ctx  );
-    }
+    ((void) level);
+
+    fprintf( (FILE *) ctx, "%s", str );
+    fflush(  (FILE *) ctx  );
 }
 
 /*
@@ -589,6 +589,10 @@
             goto usage;
     }
 
+#if defined(POLARSSL_DEBUG_C)
+    debug_set_threshold( opt.debug_level );
+#endif
+
     if( opt.force_ciphersuite[0] > 0 )
     {
         const ssl_ciphersuite_t *ciphersuite_info;
diff --git a/programs/ssl/ssl_server.c b/programs/ssl/ssl_server.c
index 49c3965..5b86f9b 100644
--- a/programs/ssl/ssl_server.c
+++ b/programs/ssl/ssl_server.c
@@ -40,6 +40,7 @@
 #include "polarssl/ssl.h"
 #include "polarssl/net.h"
 #include "polarssl/error.h"
+#include "polarssl/debug.h"
 
 #if defined(POLARSSL_SSL_CACHE_C)
 #include "polarssl/ssl_cache.h"
@@ -73,11 +74,10 @@
 
 static void my_debug( void *ctx, int level, const char *str )
 {
-    if( level < DEBUG_LEVEL )
-    {
-        fprintf( (FILE *) ctx, "%s", str );
-        fflush(  (FILE *) ctx  );
-    }
+    ((void) level);
+
+    fprintf( (FILE *) ctx, "%s", str );
+    fflush(  (FILE *) ctx  );
 }
 
 int main( int argc, char *argv[] )
@@ -108,6 +108,10 @@
     pk_init( &pkey );
     entropy_init( &entropy );
 
+#if defined(POLARSSL_DEBUG_C)
+    debug_set_threshold( DEBUG_LEVEL );
+#endif
+
     /*
      * 1. Load the certificates and private RSA key
      */
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index c578c5b..44f04a4 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -51,6 +51,7 @@
 #include "polarssl/certs.h"
 #include "polarssl/x509.h"
 #include "polarssl/error.h"
+#include "polarssl/debug.h"
 
 #if defined(POLARSSL_SSL_CACHE_C)
 #include "polarssl/ssl_cache.h"
@@ -137,11 +138,10 @@
 
 static void my_debug( void *ctx, int level, const char *str )
 {
-    if( level < opt.debug_level )
-    {
-        fprintf( (FILE *) ctx, "%s", str );
-        fflush(  (FILE *) ctx  );
-    }
+    ((void) level);
+
+    fprintf( (FILE *) ctx, "%s", str );
+    fflush(  (FILE *) ctx  );
 }
 
 /*
@@ -721,6 +721,10 @@
             goto usage;
     }
 
+#if defined(POLARSSL_DEBUG_C)
+    debug_set_threshold( opt.debug_level );
+#endif
+
     if( opt.force_ciphersuite[0] > 0 )
     {
         const ssl_ciphersuite_t *ciphersuite_info;