mirror of
https://github.com/clearml/dropbear
synced 2025-04-07 14:14:19 +00:00
Added DEBUG1,DEBUG2,DEBUG3 to separate functions while keeping TRACE and TRACE2.
This commit is contained in:
parent
098263950f
commit
9ea30b8932
53
dbutil.c
53
dbutil.c
@ -185,21 +185,52 @@ static double time_since_start()
|
|||||||
return nowf - debug_start_time;
|
return nowf - debug_start_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
void dropbear_trace(const char* format, ...) {
|
static void dropbear_tracelevel(int level, const char *format, va_list param)
|
||||||
va_list param;
|
{
|
||||||
|
if (debug_trace==0 || debug_trace < level) {
|
||||||
if (!debug_trace) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
va_start(param, format);
|
fprintf(stderr, "TRACE%d (%d) %f: ", level, getpid(), time_since_start());
|
||||||
fprintf(stderr, "TRACE (%d) %f: ", getpid(), time_since_start());
|
|
||||||
vfprintf(stderr, format, param);
|
vfprintf(stderr, format, param);
|
||||||
fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
|
}
|
||||||
|
void dropbear_trace1(const char* format, ...) {
|
||||||
|
va_list param;
|
||||||
|
|
||||||
|
va_start(param, format);
|
||||||
|
dropbear_tracelevel(1,format, param);
|
||||||
va_end(param);
|
va_end(param);
|
||||||
}
|
}
|
||||||
|
#if (DEBUG_TRACE>1)
|
||||||
void dropbear_trace2(const char* format, ...) {
|
void dropbear_trace2(const char* format, ...) {
|
||||||
|
va_list param;
|
||||||
|
|
||||||
|
va_start(param, format);
|
||||||
|
dropbear_tracelevel(2,format,param);
|
||||||
|
va_end(param);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if (DEBUG_TRACE>2)
|
||||||
|
void dropbear_trace3(const char* format, ...) {
|
||||||
|
va_list param;
|
||||||
|
|
||||||
|
va_start(param, format);
|
||||||
|
dropbear_tracelevel(3,format,param);
|
||||||
|
va_end(param);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if (DEBUG_TRACE>3)
|
||||||
|
void dropbear_trace4(const char* format, ...) {
|
||||||
|
va_list param;
|
||||||
|
|
||||||
|
va_start(param, format);
|
||||||
|
dropbear_tracelevel(4,format,param);
|
||||||
|
va_end(param);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if (DEBUG_TRACE>4)
|
||||||
|
void dropbear_trace5(const char* format, ...) {
|
||||||
static int trace_env = -1;
|
static int trace_env = -1;
|
||||||
va_list param;
|
va_list param;
|
||||||
|
|
||||||
@ -212,12 +243,12 @@ void dropbear_trace2(const char* format, ...) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
va_start(param, format);
|
va_start(param, format);
|
||||||
fprintf(stderr, "TRACE2 (%d) %f: ", getpid(), time_since_start());
|
dropbear_tracelevel(5,format,param);
|
||||||
vfprintf(stderr, format, param);
|
|
||||||
fprintf(stderr, "\n");
|
|
||||||
va_end(param);
|
va_end(param);
|
||||||
}
|
}
|
||||||
#endif /* DEBUG_TRACE */
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Connect to a given unix socket. The socket is blocking */
|
/* Connect to a given unix socket. The socket is blocking */
|
||||||
#if ENABLE_CONNECT_UNIX
|
#if ENABLE_CONNECT_UNIX
|
||||||
|
5
dbutil.h
5
dbutil.h
@ -47,8 +47,11 @@ void dropbear_log(int priority, const char* format, ...) ATTRIB_PRINTF(2,3) ;
|
|||||||
void fail_assert(const char* expr, const char* file, int line) ATTRIB_NORETURN;
|
void fail_assert(const char* expr, const char* file, int line) ATTRIB_NORETURN;
|
||||||
|
|
||||||
#if DEBUG_TRACE
|
#if DEBUG_TRACE
|
||||||
void dropbear_trace(const char* format, ...) ATTRIB_PRINTF(1,2);
|
void dropbear_trace1(const char* format, ...) ATTRIB_PRINTF(1,2);
|
||||||
void dropbear_trace2(const char* format, ...) ATTRIB_PRINTF(1,2);
|
void dropbear_trace2(const char* format, ...) ATTRIB_PRINTF(1,2);
|
||||||
|
void dropbear_trace3(const char* format, ...) ATTRIB_PRINTF(1,2);
|
||||||
|
void dropbear_trace4(const char* format, ...) ATTRIB_PRINTF(1,2);
|
||||||
|
void dropbear_trace5(const char* format, ...) ATTRIB_PRINTF(1,2);
|
||||||
void printhex(const char * label, const unsigned char * buf, int len);
|
void printhex(const char * label, const unsigned char * buf, int len);
|
||||||
void printmpint(const char *label, mp_int *mp);
|
void printmpint(const char *label, mp_int *mp);
|
||||||
void debug_start_net(void);
|
void debug_start_net(void);
|
||||||
|
39
debug.h
39
debug.h
@ -48,15 +48,44 @@
|
|||||||
/*#define DEBUG_KEXHASH*/
|
/*#define DEBUG_KEXHASH*/
|
||||||
/*#define DEBUG_RSA*/
|
/*#define DEBUG_RSA*/
|
||||||
|
|
||||||
/* you don't need to touch this block */
|
|
||||||
#if DEBUG_TRACE
|
#if DEBUG_TRACE
|
||||||
extern int debug_trace;
|
extern int debug_trace;
|
||||||
#define TRACE(X) dropbear_trace X;
|
#endif
|
||||||
#define TRACE2(X) dropbear_trace2 X;
|
|
||||||
#else /*DEBUG_TRACE*/
|
/* you don't need to touch this block */
|
||||||
|
/* enable debug trace levels */
|
||||||
|
#if (DEBUG_TRACE==1)
|
||||||
|
#define DEBUG1(X) dropbear_trace1 X;
|
||||||
|
#define DEBUG2(X)
|
||||||
|
#define DEBUG3(X)
|
||||||
#define TRACE(X)
|
#define TRACE(X)
|
||||||
#define TRACE2(X)
|
#define TRACE2(X)
|
||||||
#endif /*DEBUG_TRACE*/
|
#elif (DEBUG_TRACE==2)
|
||||||
|
#define DEBUG1(X) dropbear_trace1 X;
|
||||||
|
#define DEBUG2(X) dropbear_trace2 X;
|
||||||
|
#define DEBUG3(X)
|
||||||
|
#define TRACE(X)
|
||||||
|
#define TRACE2(X)
|
||||||
|
#elif (DEBUG_TRACE==3)
|
||||||
|
#define DEBUG1(X) dropbear_trace1 X;
|
||||||
|
#define DEBUG2(X) dropbear_trace2 X;
|
||||||
|
#define DEBUG3(X) dropbear_trace3 X;
|
||||||
|
#define TRACE(X)
|
||||||
|
#define TRACE2(X)
|
||||||
|
#elif (DEBUG_TRACE==4)
|
||||||
|
#define DEBUG1(X) dropbear_trace1 X;
|
||||||
|
#define DEBUG2(X) dropbear_trace2 X;
|
||||||
|
#define DEBUG3(X) dropbear_trace3 X;
|
||||||
|
#define TRACE(X) dropbear_trace4 X;
|
||||||
|
#define TRACE2(X)
|
||||||
|
#elif (DEBUG_TRACE==5)
|
||||||
|
#define DEBUG1(X) dropbear_trace1 X;
|
||||||
|
#define DEBUG2(X) dropbear_trace2 X;
|
||||||
|
#define DEBUG3(X) dropbear_trace3 X;
|
||||||
|
#define TRACE(X) dropbear_trace4 X;
|
||||||
|
#define TRACE2(X) dropbear_trace5 X;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* To debug with GDB it is easier to run with no forking of child processes.
|
/* To debug with GDB it is easier to run with no forking of child processes.
|
||||||
You will need to pass "-F" as well. */
|
You will need to pass "-F" as well. */
|
||||||
|
Loading…
Reference in New Issue
Block a user