mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Split ROUTER_REQUIRED_MIN_BANDWIDTH into RELAY_ and BRIDGE_ variants
Also raise those minima from 20 to 75 and 50 respectively. Closes ticket 13822.
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
o Minor features:
|
||||
- Use separate minimum bandwidth values for the configurations of
|
||||
relays and bridges. Raise the minimum configured bandwidth for
|
||||
bridges to 50 KiB/sec and for relays to 75 KiB/sec. (The old
|
||||
values were 20 KiB/sec.) Closes ticket 13822.
|
||||
+11
-6
@@ -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;
|
||||
}
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user