Fix TestingMinExitFlagThreshold 0

Stop requiring exits to have non-zero bandwithcapacity in a
TestingTorNetwork. Instead, when TestingMinExitFlagThreshold is 0,
ignore exit bandwidthcapacity.

This assists in bootstrapping a testing Tor network.
Fixes bugs 13718 & 13839.
Makes bug 13161's TestingDirAuthVoteExit non-essential.
This commit is contained in:
teor 2014-12-20 21:42:28 +11:00
parent f7e8bc2b4b
commit 083c58f126
2 changed files with 26 additions and 5 deletions

View File

@ -0,0 +1,7 @@
o Minor bugfixes:
- Stop requiring exits to have non-zero bandwithcapacity in a
TestingTorNetwork. Instead, when TestingMinExitFlagThreshold is 0,
ignore exit bandwidthcapacity.
This assists in bootstrapping a testing Tor network.
Fixes bugs 13718 & 13839.
Makes bug 13161's TestingDirAuthVoteExit non-essential.

View File

@ -887,12 +887,26 @@ static int
router_is_active(const routerinfo_t *ri, const node_t *node, time_t now)
{
time_t cutoff = now - ROUTER_MAX_AGE_TO_PUBLISH;
if (ri->cache_info.published_on < cutoff)
if (ri->cache_info.published_on < cutoff) {
return 0;
if (!node->is_running || !node->is_valid || ri->is_hibernating)
}
if (!node->is_running || !node->is_valid || ri->is_hibernating) {
return 0;
if (!ri->bandwidthcapacity)
}
/* Only require bandwith capacity in non-test networks, or
* if TestingTorNetwork, and TestingMinExitFlagThreshold is non-zero */
if (!ri->bandwidthcapacity) {
if (get_options()->TestingTorNetwork) {
if (get_options()->TestingMinExitFlagThreshold > 0) {
/* If we're in a TestingTorNetwork, and TestingMinExitFlagThreshold is,
* then require bandwidthcapacity */
return 0;
}
} else {
/* If we're not in a TestingTorNetwork, then require bandwidthcapacity */
return 0;
}
}
return 1;
}
@ -1037,7 +1051,7 @@ directory_fetches_dir_info_later(const or_options_t *options)
}
/** Return true iff we want to fetch and keep certificates for authorities
* that we don't acknowledge as aurthorities ourself.
* that we don't acknowledge as authorities ourself.
*/
int
directory_caches_unknown_auth_certs(const or_options_t *options)
@ -1498,7 +1512,7 @@ dirserv_compute_performance_thresholds(routerlist_t *rl,
(unsigned long)guard_tk,
(unsigned long)guard_bandwidth_including_exits_kb,
(unsigned long)guard_bandwidth_excluding_exits_kb,
enough_mtbf_info ? "" : " don't ");
enough_mtbf_info ? "" : " don't");
tor_free(uptimes);
tor_free(mtbfs);