mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Create TestingDirAuthVoteHSDir like TestingDirAuthVoteExit/Guard
TestingDirAuthVoteHSDir ensures that authorities vote the HSDir flag for the listed relays regardless of uptime or ORPort connectivity. Respects the value of VoteOnHidServDirectoriesV2. Partial fix for bug 14067.
This commit is contained in:
parent
e136606fe8
commit
f9d57473e1
6
changes/bug14067-TestingDirAuthVoteHSDir
Normal file
6
changes/bug14067-TestingDirAuthVoteHSDir
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor features (authorities, testing):
|
||||
- Create TestingDirAuthVoteHSDir like TestingDirAuthVoteExit/Guard.
|
||||
Ensures that authorities vote the HSDir flag for the listed
|
||||
relays regardless of uptime or ORPort connectivity.
|
||||
Respects the value of VoteOnHidServDirectoriesV2.
|
||||
Partial fix for bug 14067. Patch by "teor".
|
@ -2245,6 +2245,15 @@ The following options are used for running a testing Tor network.
|
||||
In order for this option to have any effect, **TestingTorNetwork**
|
||||
has to be set.
|
||||
|
||||
[[TestingDirAuthVoteHSDir]] **TestingDirAuthVoteHSDir** __node__,__node__,__...__::
|
||||
A list of identity fingerprints and country codes and
|
||||
address patterns of nodes to vote HSDir for regardless of their
|
||||
uptime and ORPort connectivity. See the **ExcludeNodes** option for more
|
||||
information on how to specify nodes.
|
||||
+
|
||||
In order for this option to have any effect, **TestingTorNetwork**
|
||||
and **VoteOnHidServDirectoriesV2** both have to be set.
|
||||
|
||||
[[TestingEnableConnBwEvent]] **TestingEnableConnBwEvent** **0**|**1**::
|
||||
If this option is set, then Tor controllers may register for CONN_BW
|
||||
events. Changing this requires that **TestingTorNetwork** is set.
|
||||
|
@ -448,6 +448,7 @@ static config_var_t option_vars_[] = {
|
||||
V(TestingCertMaxDownloadTries, UINT, "8"),
|
||||
V(TestingDirAuthVoteExit, ROUTERSET, NULL),
|
||||
V(TestingDirAuthVoteGuard, ROUTERSET, NULL),
|
||||
V(TestingDirAuthVoteHSDir, ROUTERSET, NULL),
|
||||
VAR("___UsingTestNetworkDefaults", BOOL, UsingTestNetworkDefaults_, "0"),
|
||||
|
||||
{ NULL, CONFIG_TYPE_OBSOLETE, 0, NULL }
|
||||
|
@ -2113,9 +2113,10 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
|
||||
rs->ipv6_orport = ri->ipv6_orport;
|
||||
}
|
||||
|
||||
/* Iff we are in a testing network, use TestingDirAuthVoteExit to
|
||||
give out Exit flags, and TestingDirAuthVoteGuard to
|
||||
give out Guard flags. */
|
||||
/* Iff we are in a testing network, use TestingDirAuthVoteExit,
|
||||
TestingDirAuthVoteGuard, and TestingDirAuthVoteHSDir to
|
||||
give out the Exit, Guard, and HSDir flags, respectively.
|
||||
But don't set the corresponding node flags. */
|
||||
if (options->TestingTorNetwork) {
|
||||
if (routerset_contains_routerstatus(options->TestingDirAuthVoteExit,
|
||||
rs, 0)) {
|
||||
@ -2126,6 +2127,12 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
|
||||
rs, 0)) {
|
||||
rs->is_possible_guard = 1;
|
||||
}
|
||||
|
||||
if (routerset_contains_routerstatus(options->TestingDirAuthVoteHSDir,
|
||||
rs, 0)) {
|
||||
/* TestingDirAuthVoteHSDir respects VoteOnHidServDirectoriesV2 */
|
||||
rs->is_hs_dir = vote_on_hsdirs;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4105,6 +4105,11 @@ typedef struct {
|
||||
* regardless of uptime and bandwidth. */
|
||||
routerset_t *TestingDirAuthVoteGuard;
|
||||
|
||||
/** Relays in a testing network which should be voted HSDir
|
||||
* regardless of uptime and ORPort connectivity.
|
||||
* Respects VoteOnHidServDirectoriesV2. */
|
||||
routerset_t *TestingDirAuthVoteHSDir;
|
||||
|
||||
/** Enable CONN_BW events. Only altered on testing networks. */
|
||||
int TestingEnableConnBwEvent;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user