diff options
author | Nick Mathewson <nickm@torproject.org> | 2013-10-16 11:20:43 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-10-16 11:20:43 -0400 |
commit | 17d368281ad374908fb019e29f3f012659be010c (patch) | |
tree | a34ee421c26c1003f93b7928817699cc622c1933 | |
parent | 1129362bd7208413d93f7f8e1b4317883a5c7910 (diff) | |
parent | fab8fd2c18491440b37b71e140e23e6091bbbe32 (diff) | |
download | tor-17d368281ad374908fb019e29f3f012659be010c.tar tor-17d368281ad374908fb019e29f3f012659be010c.tar.gz |
Merge remote-tracking branch 'linus/bug9206_option'
-rw-r--r-- | changes/bug9206 | 6 | ||||
-rw-r--r-- | doc/tor.1.txt | 9 | ||||
-rw-r--r-- | src/or/config.c | 1 | ||||
-rw-r--r-- | src/or/dirserv.c | 6 | ||||
-rw-r--r-- | src/or/or.h | 4 |
5 files changed, 26 insertions, 0 deletions
diff --git a/changes/bug9206 b/changes/bug9206 new file mode 100644 index 000000000..7acb36699 --- /dev/null +++ b/changes/bug9206 @@ -0,0 +1,6 @@ + o Minor features (testing): + + - When bootstrapping a test network, few relays get the Guard + flag. There is now a new option, TestingDirAuthVoteGuard, which + can be used to specify a set of relays which should be voted + Guard regardless of uptime or bandwidth. Addresses ticket 9206. diff --git a/doc/tor.1.txt b/doc/tor.1.txt index 5fb256ac7..215ea0cf4 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -2145,6 +2145,15 @@ The following options are used for running a testing Tor network. Try this often to download a v3 authority certificate before giving up. Changing this requires that **TestingTorNetwork** is set. (Default: 8) +**TestingDirAuthVoteGuard** __node__,__node__,__...__:: + A list of identity fingerprints, nicknames, country codes and + address patterns of nodes to vote Guard for regardless of their + uptime and bandwidth. See the **ExcludeNodes** option for more + information on how to specify nodes. + + + In order for this option to have any effect, **TestingTorNetwork** + has to be set. + SIGNALS ------- diff --git a/src/or/config.c b/src/or/config.c index 89f9e9ba4..14e8f9ab3 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -458,6 +458,7 @@ static config_var_t option_vars_[] = { V(TestingDescriptorMaxDownloadTries, UINT, "8"), V(TestingMicrodescMaxDownloadTries, UINT, "8"), V(TestingCertMaxDownloadTries, UINT, "8"), + V(TestingDirAuthVoteGuard, ROUTERSET, NULL), VAR("___UsingTestNetworkDefaults", BOOL, UsingTestNetworkDefaults_, "0"), { NULL, CONFIG_TYPE_OBSOLETE, 0, NULL } diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 3243ac47c..d30a47436 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -26,6 +26,7 @@ #include "router.h" #include "routerlist.h" #include "routerparse.h" +#include "routerset.h" /** * \file dirserv.c @@ -2705,6 +2706,11 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs, } else { rs->is_possible_guard = 0; } + if (options->TestingTorNetwork && + routerset_contains_routerstatus(options->TestingDirAuthVoteGuard, + rs, 0)) { + rs->is_possible_guard = 1; + } rs->is_bad_directory = listbaddirs && node->is_bad_directory; rs->is_bad_exit = listbadexits && node->is_bad_exit; diff --git a/src/or/or.h b/src/or/or.h index adb4adf11..2f0f9eb6e 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -4065,6 +4065,10 @@ typedef struct { /** Minimum value for the Fast flag threshold on testing networks. */ uint64_t TestingMinFastFlagThreshold; + /** Relays in a testing network which should be voted Guard + * regardless of uptime and bandwidth. */ + routerset_t *TestingDirAuthVoteGuard; + /** If true, and we have GeoIP data, and we're a bridge, keep a per-country * count of how many client addresses have contacted us so that we can help * the bridge authority guess which countries have blocked access to us. */ |