From: Nick Mathewson Date: Tue, 15 Dec 2009 20:46:25 +0000 (-0500) Subject: Stop using lround in or.h, and check for bad values of RECENT_CIRCUITS X-Git-Tag: tor-0.2.2.7-alpha~49 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b896195cb1cd3bded9eb503b33c10bf0eeeaf68;p=thirdparty%2Ftor.git Stop using lround in or.h, and check for bad values of RECENT_CIRCUITS --- diff --git a/src/or/or.h b/src/or/or.h index a51fdd39bf..40bf74e260 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -3002,7 +3002,7 @@ typedef uint32_t build_time_t; * at which point we switch back to computing the timeout from * our saved history. */ -#define NETWORK_NONLIVE_TIMEOUT_COUNT (tor_lround(RECENT_CIRCUITS*0.15)) +#define NETWORK_NONLIVE_TIMEOUT_COUNT (RECENT_CIRCUITS*3/20) /** * This tells us when to toss out the last streak of N timeouts. @@ -3010,8 +3010,7 @@ typedef uint32_t build_time_t; * If instead we start getting cells, we switch back to computing the timeout * from our saved history. */ -#define NETWORK_NONLIVE_DISCARD_COUNT \ - (tor_lround(NETWORK_NONLIVE_TIMEOUT_COUNT*2)) +#define NETWORK_NONLIVE_DISCARD_COUNT (NETWORK_NONLIVE_TIMEOUT_COUNT*2) /** * Maximum count of timeouts that finish the first hop in the past @@ -3020,7 +3019,12 @@ typedef uint32_t build_time_t; * This tells us to abandon timeout history and set * the timeout back to BUILD_TIMEOUT_INITIAL_VALUE. */ -#define MAX_RECENT_TIMEOUT_COUNT (tor_lround(RECENT_CIRCUITS*0.8)) +#define MAX_RECENT_TIMEOUT_COUNT (RECENT_CIRCUITS*4/5) + +#if MAX_RECENT_TIMEOUT_COUNT < 1 || NETWORK_NONLIVE_DISCARD_COUNT < 1 || \ + NETWORK_NONLIVE_TIMEOUT_COUNT < 1 +#error "RECENT_CIRCUITS is set too low." +#endif /** Information about the state of our local network connection */ typedef struct {