diff options
author | Nick Mathewson <nickm@torproject.org> | 2010-06-29 19:55:10 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-06-29 19:55:10 -0400 |
commit | 741ab2a47abeba41223b908a71f10c80d6c18b6e (patch) | |
tree | a7cfff3fa8fabb0c6490c074df8f90246801d52c /src/or | |
parent | 485cab869d292becb62a43b2e33a399ebc671303 (diff) | |
download | tor-741ab2a47abeba41223b908a71f10c80d6c18b6e.tar tor-741ab2a47abeba41223b908a71f10c80d6c18b6e.tar.gz |
Fix bugs with assuming time_t can be implicitly cast to long
Many friendly operating systems have 64-bit times, and it's not nice
to pass them to an %ld format.
It's also extremely not-nice to write a time to the log as an
integer. Most people think it's 2010 June 29 23:57 UTC+epsilon, not
1277855805+epsilon.
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/circuitbuild.c | 12 | ||||
-rw-r--r-- | src/or/circuituse.c | 9 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 1d654f04c..6ee292188 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -946,11 +946,17 @@ circuit_build_times_network_close(circuit_build_times_t *cbt, if (cbt->liveness.network_last_live <= start_time && start_time <= (now - cbt->close_ms/1000.0)) { if (did_onehop) { + char last_live_buf[ISO_TIME_LEN+1]; + char start_time_buf[ISO_TIME_LEN+1]; + char now_buf[ISO_TIME_LEN+1]; + format_local_iso_time(last_live_buf, cbt->liveness.network_last_live); + format_local_iso_time(start_time_buf, start_time); + format_local_iso_time(now_buf, now); log_warn(LD_BUG, "Circuit somehow completed a hop while the network was " - "not live. Network was last live at %ld, but circuit launched " - "at %ld. It's now %ld.", cbt->liveness.network_last_live, - start_time, now); + "not live. Network was last live at %s, but circuit launched " + "at %s. It's now %s.", last_live_buf, start_time_buf, + now_buf); } cbt->liveness.nonlive_timeouts++; } diff --git a/src/or/circuituse.c b/src/or/circuituse.c index c1b39b18e..50800aec5 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -381,7 +381,8 @@ circuit_expire_building(time_t now) if (now - victim->timestamp_created > 2*circ_times.close_ms/1000+1) { log_notice(LD_CIRC, "Extremely large value for circuit build timeout: %lds. " - "Assuming clock jump.", now - victim->timestamp_created); + "Assuming clock jump.", + (long)(now - victim->timestamp_created)); } else if (circuit_build_times_count_close(&circ_times, first_hop_succeeded, victim->timestamp_created)) { @@ -727,15 +728,15 @@ circuit_expire_old_circuits_clientside(time_t now) circ->purpose <= CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED) || circ->purpose == CIRCUIT_PURPOSE_S_CONNECT_REND) { log_debug(LD_CIRC, - "Closing circuit that has been unused for %d seconds.", - (int)(now - circ->timestamp_created)); + "Closing circuit that has been unused for %ld seconds.", + (long)(now - circ->timestamp_created)); circuit_mark_for_close(circ, END_CIRC_REASON_FINISHED); } else if (!TO_ORIGIN_CIRCUIT(circ)->is_ancient) { log_notice(LD_CIRC, "Ancient non-dirty circuit %d is still around after " "%ld seconds. Purpose: %d", TO_ORIGIN_CIRCUIT(circ)->global_identifier, - now - circ->timestamp_created, + (long)(now - circ->timestamp_created), circ->purpose); TO_ORIGIN_CIRCUIT(circ)->is_ancient = 1; } |