--- dsniff-2.4b1.orig/sshow.c +++ dsniff-2.4b1/sshow.c @@ -85,6 +85,21 @@ usage(void) exit(1); } +static long clk_tck(void) +{ + static long t = 0; + + if (t) + return t; + +#if defined(_SC_CLK_TCK) || !defined(CLK_TCK) + t = sysconf(_SC_CLK_TCK); +#else + t = CLK_TCK; +#endif + return t; +} + static clock_t add_history(struct session *session, int direction, u_int cipher_size, range *plain_range) @@ -222,7 +237,7 @@ client_to_server(struct tcp_stream *ts, if (debug) printf("- %s -> %s: DATA (%s bytes, %.2f seconds)\n", s_saddr(ts), s_daddr(ts), s_range(plain_range), - (float)delay / CLK_TCK); + (float)delay / clk_tck()); if (debug > 1) print_data(&ts->server, cipher_size); @@ -270,7 +285,7 @@ server_to_client(struct tcp_stream *ts, if (debug) printf("- %s <- %s: DATA (%s bytes, %.2f seconds)\n", s_saddr(ts), s_daddr(ts), s_range(plain_range), - (float)delay / CLK_TCK); + (float)delay / clk_tck()); if (debug > 1) print_data(&ts->client, cipher_size); @@ -299,7 +314,7 @@ server_to_client(struct tcp_stream *ts, if (session->state == 1 && #ifdef USE_TIMING - now - get_history(session, 2)->timestamp >= CLK_TCK && + now - get_history(session, 2)->timestamp >= clk_tck() && #endif session->protocol == 1 && (session->history.directions & 7) == 5 &&