diff options
author | Nick Mathewson <nickm@torproject.org> | 2015-02-07 08:30:40 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2015-02-07 08:33:23 -0500 |
commit | 4beb83095351b46dcc26e0475341d6d96ce80fc5 (patch) | |
tree | c7780369888d7c84bb7191be29c9975102a3d8a0 /src/or | |
parent | b101f4e98ce811aee729c31f62ec5dd1cfe44e85 (diff) | |
download | tor-4beb83095351b46dcc26e0475341d6d96ce80fc5.tar.gz tor-4beb83095351b46dcc26e0475341d6d96ce80fc5.zip |
Split ROUTER_REQUIRED_MIN_BANDWIDTH into RELAY_ and BRIDGE_ variants
Also raise those minima from 20 to 75 and 50 respectively.
Closes ticket 13822.
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/config.c | 17 | ||||
-rw-r--r-- | src/or/dirserv.c | 2 | ||||
-rw-r--r-- | src/or/or.h | 3 |
3 files changed, 14 insertions, 8 deletions
diff --git a/src/or/config.c b/src/or/config.c index de0baa40d9..144499e00c 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -3180,19 +3180,24 @@ options_validate(or_options_t *old_options, or_options_t *options, options->RelayBandwidthRate = options->RelayBandwidthBurst; if (server_mode(options)) { + const unsigned ROUTER_REQUIRED_MIN_BANDWIDTH = // tolower XXXX + public_server_mode(options) ? + RELAY_REQUIRED_MIN_BANDWIDTH : BRIDGE_REQUIRED_MIN_BANDWIDTH; + const char * const optbridge = + public_server_mode(options) ? "" : "bridge "; if (options->BandwidthRate < ROUTER_REQUIRED_MIN_BANDWIDTH) { tor_asprintf(msg, "BandwidthRate is set to %d bytes/second. " - "For servers, it must be at least %d.", - (int)options->BandwidthRate, + "For %sservers, it must be at least %u.", + (int)options->BandwidthRate, optbridge, ROUTER_REQUIRED_MIN_BANDWIDTH); return -1; } else if (options->MaxAdvertisedBandwidth < ROUTER_REQUIRED_MIN_BANDWIDTH/2) { tor_asprintf(msg, "MaxAdvertisedBandwidth is set to %d bytes/second. " - "For servers, it must be at least %d.", - (int)options->MaxAdvertisedBandwidth, + "For %sservers, it must be at least %u.", + (int)options->MaxAdvertisedBandwidth, optbridge, ROUTER_REQUIRED_MIN_BANDWIDTH/2); return -1; } @@ -3200,8 +3205,8 @@ options_validate(or_options_t *old_options, or_options_t *options, options->RelayBandwidthRate < ROUTER_REQUIRED_MIN_BANDWIDTH) { tor_asprintf(msg, "RelayBandwidthRate is set to %d bytes/second. " - "For servers, it must be at least %d.", - (int)options->RelayBandwidthRate, + "For %sservers, it must be at least %u.", + (int)options->RelayBandwidthRate, optbridge, ROUTER_REQUIRED_MIN_BANDWIDTH); return -1; } diff --git a/src/or/dirserv.c b/src/or/dirserv.c index d90619520b..fe8196c3a7 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -1427,7 +1427,7 @@ dirserv_compute_performance_thresholds(routerlist_t *rl, /* The 12.5th percentile bandwidth is fast. */ fast_bandwidth_kb = find_nth_uint32(bandwidths_kb, n_active, n_active/8); /* (Now bandwidths is sorted.) */ - if (fast_bandwidth_kb < ROUTER_REQUIRED_MIN_BANDWIDTH/(2 * 1000)) + if (fast_bandwidth_kb < RELAY_REQUIRED_MIN_BANDWIDTH/(2 * 1000)) fast_bandwidth_kb = bandwidths_kb[n_active/4]; guard_bandwidth_including_exits_kb = third_quartile_uint32(bandwidths_kb, n_active); diff --git a/src/or/or.h b/src/or/or.h index 520b7dba89..5cea06f808 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -4937,7 +4937,8 @@ typedef struct dir_server_t { **/ } dir_server_t; -#define ROUTER_REQUIRED_MIN_BANDWIDTH (20*1024) +#define RELAY_REQUIRED_MIN_BANDWIDTH (75*1024) +#define BRIDGE_REQUIRED_MIN_BANDWIDTH (50*1024) #define ROUTER_MAX_DECLARED_BANDWIDTH INT32_MAX |