Add envirnonment variable for debug timestamps to roughly match

network timestamps (in tshark)
This commit is contained in:
Matt Johnston 2015-02-13 23:47:53 +08:00
parent 136188259e
commit 2c35f1c8fd
3 changed files with 22 additions and 4 deletions

View File

@ -53,6 +53,10 @@ int exitflag = 0; /* GLOBAL */
void common_session_init(int sock_in, int sock_out) {
time_t now;
#ifdef DEBUG_TRACE
debug_start_net();
#endif
TRACE(("enter session_init"))
ses.sock_in = sock_in;

View File

@ -151,19 +151,32 @@ void dropbear_log(int priority, const char* format, ...) {
#ifdef DEBUG_TRACE
static double debug_start_time = -1;
void debug_start_net()
{
if (getenv("DROPBEAR_DEBUG_NET_TIMESTAMP"))
{
/* Timestamps start from first network activity */
struct timeval tv;
gettimeofday(&tv, NULL);
debug_start_time = tv.tv_sec + (tv.tv_usec / 1000000.0);
TRACE(("Resetting Dropbear TRACE timestamps"))
}
}
static double time_since_start()
{
static double start_time = -1;
double nowf;
struct timeval tv;
gettimeofday(&tv, NULL);
nowf = tv.tv_sec + (tv.tv_usec / 1000000.0);
if (start_time < 0)
if (debug_start_time < 0)
{
start_time = nowf;
debug_start_time = nowf;
return 0;
}
return nowf - start_time;
return nowf - debug_start_time;
}
void dropbear_trace(const char* format, ...) {

View File

@ -58,6 +58,7 @@ void dropbear_trace(const char* format, ...) ATTRIB_PRINTF(1,2);
void dropbear_trace2(const char* format, ...) ATTRIB_PRINTF(1,2);
void printhex(const char * label, const unsigned char * buf, int len);
void printmpint(const char *label, mp_int *mp);
void debug_start_net();
extern int debug_trace;
#endif