Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Mike Perry
Tor
Commits
33ced735
Commit
33ced735
authored
Jun 20, 2008
by
Karsten Loesing
Browse files
Added prefixes to testing-network-only configuration options.
svn:r15375
parent
a2a3d1e3
Changes
7
Hide whitespace changes
Inline
Side-by-side
doc/spec/proposals/135-private-tor-networks.txt
View file @
33ced735
...
...
@@ -11,6 +11,7 @@ Change history:
29-Apr-2008 Initial proposal for or-dev
19-May-2008 Included changes based on comments by Nick to or-dev and
added a section for test cases.
18-Jun-2008 Changed testing-network-only configuration option names.
Overview:
...
...
@@ -52,13 +53,13 @@ Design:
V3AuthVotingInterval, V3AuthVoteDelay, and V3AuthDistDelay do not have an
effect on the _initial_ voting schedule, but only on the schedule that a
directory authority votes for). This can be achieved by introducing three
new configuration options: V3AuthInitialVotingInterval,
V3AuthInitialVoteDelay, and V3AuthInitialDistDelay.
new configuration options:
Testing
V3AuthInitialVotingInterval,
Testing
V3AuthInitialVoteDelay, and
Testing
V3AuthInitialDistDelay.
As first safeguards, Tor should only accept configuration values for
V3AuthInitialVotingInterval that divide evenly into the default
value of
30 minutes. The effect is that even if people misconfigured
their
directory authorities, they would meet at the default values at the
Testing
V3AuthInitialVotingInterval that divide evenly into the default
value of
30 minutes. The effect is that even if people misconfigured
their
directory authorities, they would meet at the default values at the
latest. The second safeguard is to allow configuration only when the
umbrella configuration option TestingTorNetwork is set.
...
...
@@ -75,12 +76,12 @@ Design:
* reachability information is not accurate. */
#define DIRSERV_TIME_TO_GET_REACHABILITY_INFO (30*60)
There should be another configuration option
DirTimeToLearnReachability with
a default value of 30 minutes that can be changed when running testing
Tor networks, e.g. to 0 minutes. The configuration value would simply
replace the quoted constant. Again,
changing this option could be
safeguarded by requiring the umbrella
configuration option
TestingTorNetwork to be set.
There should be another configuration option
TestingAuthDirTimeToLearnReachability with a default value of 30 minutes
that can be changed when running testing Tor networks, e.g. to 0 minutes.
The configuration value would simply
replace the quoted constant. Again,
changing this option could be
safeguarded by requiring the umbrella
configuration option
TestingTorNetwork to be set.
1.3. Reduce Estimated Descriptor Propagation Time
...
...
@@ -95,9 +96,9 @@ Design:
#define ESTIMATED_PROPAGATION_TIME (10*60)
We suggest to introduce a new config option
EstimatedDescriptorPropagationTime which defaults to 10 minutes,
but that
can be set to any lower non-negative value, e.g. 0 minutes. The
same
safeguards as in 1.2 could be used here, too.
Testing
EstimatedDescriptorPropagationTime which defaults to 10 minutes,
but that
can be set to any lower non-negative value, e.g. 0 minutes. The
same
safeguards as in 1.2 could be used here, too.
2. Umbrella Option for Setting Up Private Tor Networks
...
...
@@ -143,15 +144,15 @@ Design:
- V3AuthDistDelay 20 seconds
Accelerate voting schedule after first consensus has been reached.
- V3AuthInitialVotingInterval 5 minutes
- V3AuthInitialVoteDelay 20 seconds
- V3AuthInitialDistDelay 20 seconds
-
Testing
V3AuthInitialVotingInterval 5 minutes
-
Testing
V3AuthInitialVoteDelay 20 seconds
-
Testing
V3AuthInitialDistDelay 20 seconds
Accelerate initial voting schedule until first consensus is reached.
- DirTimeToLearnReachability 0 minutes
-
TestingAuth
DirTimeToLearnReachability 0 minutes
Consider routers as Running from the start of running an authority.
- EstimatedDescriptorPropagationTime 0 minutes
-
Testing
EstimatedDescriptorPropagationTime 0 minutes
Clients try downloading router descriptors from directory caches,
even when they are not 10 minutes old.
...
...
@@ -170,9 +171,9 @@ Test:
"mydir 127.0.0.1:1234 0000000000000000000000000000000000000000"
telnet 127.0.0.1 9051
AUTHENTICATE
GETCONF TestingTorNetwork DirTimeToLearnReachability
GETCONF TestingTorNetwork
TestingAuth
DirTimeToLearnReachability
250-TestingTorNetwork=1
250 DirTimeToLearnReachability=0
250
TestingAuth
DirTimeToLearnReachability=0
QUIT
2. Set TestingTorNetwork and a dependent configuration value to see if
...
...
@@ -180,12 +181,12 @@ Test:
tor DataDirectory . ControlPort 9051 TestingTorNetwork 1 DirServer \
"mydir 127.0.0.1:1234 0000000000000000000000000000000000000000" \
DirTimeToLearnReachability 5
TestingAuth
DirTimeToLearnReachability 5
telnet 127.0.0.1 9051
AUTHENTICATE
GETCONF TestingTorNetwork DirTimeToLearnReachability
GETCONF TestingTorNetwork
TestingAuth
DirTimeToLearnReachability
250-TestingTorNetwork=1
250 DirTimeToLearnReachability=5
250
TestingAuth
DirTimeToLearnReachability=5
QUIT
3. Start with TestingTorNetwork set and change a dependent configuration
...
...
@@ -195,9 +196,9 @@ Test:
"mydir 127.0.0.1:1234 0000000000000000000000000000000000000000"
telnet 127.0.0.1 9051
AUTHENTICATE
SETCONF DirTimeToLearnReachability=5
GETCONF DirTimeToLearnReachability
250 DirTimeToLearnReachability=5
SETCONF
TestingAuth
DirTimeToLearnReachability=5
GETCONF
TestingAuth
DirTimeToLearnReachability
250
TestingAuth
DirTimeToLearnReachability=5
QUIT
4. Start with TestingTorNetwork set and a dependent configuration value,
...
...
@@ -206,14 +207,14 @@ Test:
tor DataDirectory . ControlPort 9051 TestingTorNetwork 1 DirServer \
"mydir 127.0.0.1:1234 0000000000000000000000000000000000000000" \
DirTimeToLearnReachability 5
TestingAuth
DirTimeToLearnReachability 5
telnet 127.0.0.1 9051
AUTHENTICATE
GETCONF DirTimeToLearnReachability
250 DirTimeToLearnReachability=5
RESETCONF DirTimeToLearnReachability
GETCONF DirTimeToLearnReachability
250 DirTimeToLearnReachability=0
GETCONF
TestingAuth
DirTimeToLearnReachability
250
TestingAuth
DirTimeToLearnReachability=5
RESETCONF
TestingAuth
DirTimeToLearnReachability
GETCONF
TestingAuth
DirTimeToLearnReachability
250
TestingAuth
DirTimeToLearnReachability=0
QUIT
5. Leave TestingTorNetwork unset and check if dependent configuration
...
...
@@ -223,9 +224,9 @@ Test:
"mydir 127.0.0.1:1234 0000000000000000000000000000000000000000"
telnet 127.0.0.1 9051
AUTHENTICATE
GETCONF TestingTorNetwork DirTimeToLearnReachability
GETCONF TestingTorNetwork
TestingAuth
DirTimeToLearnReachability
250-TestingTorNetwork=0
250 DirTimeToLearnReachability=1800
250
TestingAuth
DirTimeToLearnReachability=1800
QUIT
6. Leave TestingTorNetwork unset, but set dependent configuration option
...
...
@@ -233,9 +234,10 @@ Test:
tor DataDirectory . ControlPort 9051 DirServer \
"mydir 127.0.0.1:1234 0000000000000000000000000000000000000000" \
DirTimeToLearnReachability 0
[warn] Failed to parse/validate config: DirTimeToLearnReachability may
only be changed in testing Tor networks!
TestingAuthDirTimeToLearnReachability 0
[warn] Failed to parse/validate config:
TestingAuthDirTimeToLearnReachability may only be changed in testing
Tor networks!
7. Start with TestingTorNetwork unset and change dependent configuration
option later on which should fail.
...
...
@@ -244,9 +246,9 @@ Test:
"mydir 127.0.0.1:1234 0000000000000000000000000000000000000000"
telnet 127.0.0.1 9051
AUTHENTICATE
SETCONF DirTimeToLearnReachability=0
513 Unacceptable option value: DirTimeToLearnReachability
may only be
changed in testing Tor networks!
SETCONF
TestingAuth
DirTimeToLearnReachability=0
513 Unacceptable option value:
TestingAuth
DirTimeToLearnReachability
may only be
changed in testing Tor networks!
8. Start with TestingTorNetwork unset and set it later on which should
fail.
...
...
@@ -267,8 +269,8 @@ Test:
telnet 127.0.0.1 9051
AUTHENTICATE
RESETCONF TestingTorNetwork
513 Unacceptable option value: V3AuthInitialVotingInterval may
only be
changed in testing Tor networks!
513 Unacceptable option value:
Testing
V3AuthInitialVotingInterval may
only be
changed in testing Tor networks!
10. Set TestingTorNetwork, but do not provide an alternate DirServer
which should fail.
...
...
doc/tor.1.in
View file @
33ced735
...
...
@@ -1318,41 +1318,41 @@ non-default set of DirServers is set. Cannot be unset while Tor is running.
.IP "V3AuthVotingInterval 5 minutes"
.IP "V3AuthVoteDelay 20 seconds"
.IP "V3AuthDistDelay 20 seconds"
.IP "V3AuthInitialVotingInterval 5 minutes"
.IP "V3AuthInitialVoteDelay 20 seconds"
.IP "V3AuthInitialDistDelay 20 seconds"
.IP "DirTimeToLearnReachability 0 minutes"
.IP "EstimatedDescriptorPropagationTime 0 minutes"
.IP "
Testing
V3AuthInitialVotingInterval 5 minutes"
.IP "
Testing
V3AuthInitialVoteDelay 20 seconds"
.IP "
Testing
V3AuthInitialDistDelay 20 seconds"
.IP "
TestingAuth
DirTimeToLearnReachability 0 minutes"
.IP "
Testing
EstimatedDescriptorPropagationTime 0 minutes"
.RE
.PD
.LP
.TP
\fBV3AuthInitialVotingInterval\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
\fB
Testing
V3AuthInitialVotingInterval\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
Like \fBV3AuthVotingInterval\fR, but for initial voting interval before the
first consensus has been created. Changing this requires that
\fBTestingTorNetwork\fR is set. (Default: 30 minutes)
.LP
.TP
\fBV3AuthInitialVoteDelay\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
Like \fBV3AuthInitialVoteDelay\fR, but for initial voting interval
before
the first consensus has been created. Changing this requires that
\fB
Testing
V3AuthInitialVoteDelay\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
Like \fB
Testing
V3AuthInitialVoteDelay\fR, but for initial voting interval
before
the first consensus has been created. Changing this requires that
\fBTestingTorNetwork\fR is set. (Default: 5 minutes)
.LP
.TP
\fBV3AuthInitialDistDelay\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
Like \fBV3AuthInitialDistDelay\fR, but for initial voting interval
before
the first consensus has been created. Changing this requires that
\fB
Testing
V3AuthInitialDistDelay\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
Like \fB
Testing
V3AuthInitialDistDelay\fR, but for initial voting interval
before
the first consensus has been created. Changing this requires that
\fBTestingTorNetwork\fR is set. (Default: 5 minutes)
.LP
.TP
\fBDirTimeToLearnReachability\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
\fB
TestingAuth
DirTimeToLearnReachability\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
After starting as an authority, do not make claims about whether routers are
Running until this much time has passed.
Changing this requires that\fBTestingTorNetwork\fR is set.
(Default: 30 minutes)
.LP
.TP
\fBEstimatedDescriptorPropagationTime\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
\fB
Testing
EstimatedDescriptorPropagationTime\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
Clients try downloading router descriptors from directory caches after this
time. Changing this requires that \fBTestingTorNetwork\fR is set.
(Default: 10 minutes)
...
...
src/or/config.c
View file @
33ced735
...
...
@@ -175,7 +175,7 @@ static config_var_t _option_vars[] = {
V
(
DataDirectory
,
FILENAME
,
NULL
),
OBSOLETE
(
"DebugLogFile"
),
V
(
DirAllowPrivateAddresses
,
BOOL
,
NULL
),
V
(
DirTimeToLearnReachability
,
INTERVAL
,
"30 minutes"
),
V
(
TestingAuth
DirTimeToLearnReachability
,
INTERVAL
,
"30 minutes"
),
V
(
DirListenAddress
,
LINELIST
,
NULL
),
OBSOLETE
(
"DirFetchPeriod"
),
V
(
DirPolicy
,
LINELIST
,
NULL
),
...
...
@@ -193,7 +193,7 @@ static config_var_t _option_vars[] = {
V
(
DownloadExtraInfo
,
BOOL
,
"0"
),
V
(
EnforceDistinctSubnets
,
BOOL
,
"1"
),
V
(
EntryNodes
,
STRING
,
NULL
),
V
(
EstimatedDescriptorPropagationTime
,
INTERVAL
,
"10 minutes"
),
V
(
Testing
EstimatedDescriptorPropagationTime
,
INTERVAL
,
"10 minutes"
),
V
(
ExcludeNodes
,
STRING
,
NULL
),
V
(
ExitNodes
,
STRING
,
NULL
),
V
(
ExitPolicy
,
LINELIST
,
NULL
),
...
...
@@ -312,9 +312,9 @@ static config_var_t _option_vars[] = {
VAR
(
"V1AuthoritativeDirectory"
,
BOOL
,
V1AuthoritativeDir
,
"0"
),
VAR
(
"V2AuthoritativeDirectory"
,
BOOL
,
V2AuthoritativeDir
,
"0"
),
VAR
(
"V3AuthoritativeDirectory"
,
BOOL
,
V3AuthoritativeDir
,
"0"
),
V
(
V3AuthInitialVotingInterval
,
INTERVAL
,
"30 minutes"
),
V
(
V3AuthInitialVoteDelay
,
INTERVAL
,
"5 minutes"
),
V
(
V3AuthInitialDistDelay
,
INTERVAL
,
"5 minutes"
),
V
(
Testing
V3AuthInitialVotingInterval
,
INTERVAL
,
"30 minutes"
),
V
(
Testing
V3AuthInitialVoteDelay
,
INTERVAL
,
"5 minutes"
),
V
(
Testing
V3AuthInitialDistDelay
,
INTERVAL
,
"5 minutes"
),
V
(
V3AuthVotingInterval
,
INTERVAL
,
"1 hour"
),
V
(
V3AuthVoteDelay
,
INTERVAL
,
"5 minutes"
),
V
(
V3AuthDistDelay
,
INTERVAL
,
"5 minutes"
),
...
...
@@ -345,11 +345,11 @@ static config_var_t testing_tor_network_defaults[] = {
V
(
V3AuthVotingInterval
,
INTERVAL
,
"5 minutes"
),
V
(
V3AuthVoteDelay
,
INTERVAL
,
"20 seconds"
),
V
(
V3AuthDistDelay
,
INTERVAL
,
"20 seconds"
),
V
(
V3AuthInitialVotingInterval
,
INTERVAL
,
"5 minutes"
),
V
(
V3AuthInitialVoteDelay
,
INTERVAL
,
"20 seconds"
),
V
(
V3AuthInitialDistDelay
,
INTERVAL
,
"20 seconds"
),
V
(
DirTimeToLearnReachability
,
INTERVAL
,
"0 minutes"
),
V
(
EstimatedDescriptorPropagationTime
,
INTERVAL
,
"0 minutes"
),
V
(
Testing
V3AuthInitialVotingInterval
,
INTERVAL
,
"5 minutes"
),
V
(
Testing
V3AuthInitialVoteDelay
,
INTERVAL
,
"20 seconds"
),
V
(
Testing
V3AuthInitialDistDelay
,
INTERVAL
,
"20 seconds"
),
V
(
TestingAuth
DirTimeToLearnReachability
,
INTERVAL
,
"0 minutes"
),
V
(
Testing
EstimatedDescriptorPropagationTime
,
INTERVAL
,
"0 minutes"
),
{
NULL
,
CONFIG_TYPE_OBSOLETE
,
0
,
NULL
}
};
#undef VAR
...
...
@@ -3392,57 +3392,58 @@ options_validate(or_options_t *old_options, or_options_t *options,
/* Keep changes to hard-coded values synchronous to man page and default
* values table. */
if
(
options
->
V3AuthInitialVotingInterval
!=
30
*
60
&&
if
(
options
->
Testing
V3AuthInitialVotingInterval
!=
30
*
60
&&
!
options
->
TestingTorNetwork
)
{
REJECT
(
"V3AuthInitialVotingInterval may only be changed in testing "
REJECT
(
"
Testing
V3AuthInitialVotingInterval may only be changed in testing "
"Tor networks!"
);
}
else
if
(
options
->
V3AuthInitialVotingInterval
<
MIN_VOTE_INTERVAL
)
{
REJECT
(
"V3AuthInitialVotingInterval is insanely low."
);
}
else
if
(((
30
*
60
)
%
options
->
V3AuthInitialVotingInterval
)
!=
0
)
{
REJECT
(
"V3AuthInitialVotingInterval does not divide evenly into "
}
else
if
(
options
->
Testing
V3AuthInitialVotingInterval
<
MIN_VOTE_INTERVAL
)
{
REJECT
(
"
Testing
V3AuthInitialVotingInterval is insanely low."
);
}
else
if
(((
30
*
60
)
%
options
->
Testing
V3AuthInitialVotingInterval
)
!=
0
)
{
REJECT
(
"
Testing
V3AuthInitialVotingInterval does not divide evenly into "
"30 minutes."
);
}
if
(
options
->
V3AuthInitialVoteDelay
!=
5
*
60
&&
if
(
options
->
Testing
V3AuthInitialVoteDelay
!=
5
*
60
&&
!
options
->
TestingTorNetwork
)
{
REJECT
(
"V3AuthInitialVoteDelay may only be changed in testing "
REJECT
(
"
Testing
V3AuthInitialVoteDelay may only be changed in testing "
"Tor networks!"
);
}
else
if
(
options
->
V3AuthInitialVoteDelay
<
MIN_VOTE_SECONDS
)
{
REJECT
(
"V3AuthInitialVoteDelay is way too low."
);
}
else
if
(
options
->
Testing
V3AuthInitialVoteDelay
<
MIN_VOTE_SECONDS
)
{
REJECT
(
"
Testing
V3AuthInitialVoteDelay is way too low."
);
}
if
(
options
->
V3AuthInitialDistDelay
!=
5
*
60
&&
if
(
options
->
Testing
V3AuthInitialDistDelay
!=
5
*
60
&&
!
options
->
TestingTorNetwork
)
{
REJECT
(
"V3AuthInitialDistDelay may only be changed in testing "
REJECT
(
"
Testing
V3AuthInitialDistDelay may only be changed in testing "
"Tor networks!"
);
}
else
if
(
options
->
V3AuthInitialDistDelay
<
MIN_DIST_SECONDS
)
{
REJECT
(
"V3AuthInitialDistDelay is way too low."
);
}
else
if
(
options
->
Testing
V3AuthInitialDistDelay
<
MIN_DIST_SECONDS
)
{
REJECT
(
"
Testing
V3AuthInitialDistDelay is way too low."
);
}
if
(
options
->
V3AuthInitialVoteDelay
+
options
->
V3AuthInitialDistDelay
>=
options
->
V3AuthInitialVotingInterval
/
2
)
{
REJECT
(
"V3AuthInitialVoteDelay plus V3AuthInitialDistDelay must be "
"less than half V3AuthInitialVotingInterval"
);
if
(
options
->
TestingV3AuthInitialVoteDelay
+
options
->
TestingV3AuthInitialDistDelay
>=
options
->
TestingV3AuthInitialVotingInterval
/
2
)
{
REJECT
(
"TestingV3AuthInitialVoteDelay plus TestingV3AuthInitialDistDelay "
"must be less than half TestingV3AuthInitialVotingInterval"
);
}
if
(
options
->
DirTimeToLearnReachability
!=
30
*
60
&&
if
(
options
->
TestingAuth
DirTimeToLearnReachability
!=
30
*
60
&&
!
options
->
TestingTorNetwork
)
{
REJECT
(
"DirTimeToLearnReachability may only be changed in
testing
"
"Tor networks!"
);
}
else
if
(
options
->
DirTimeToLearnReachability
<
0
)
{
REJECT
(
"DirTimeToLearnReachability must be non-negative."
);
}
else
if
(
options
->
DirTimeToLearnReachability
>
2
*
60
*
60
)
{
COMPLAIN
(
"DirTimeToLearnReachability is insanely high."
);
REJECT
(
"
TestingAuth
DirTimeToLearnReachability may only be changed in "
"
testing
Tor networks!"
);
}
else
if
(
options
->
TestingAuth
DirTimeToLearnReachability
<
0
)
{
REJECT
(
"
TestingAuth
DirTimeToLearnReachability must be non-negative."
);
}
else
if
(
options
->
TestingAuth
DirTimeToLearnReachability
>
2
*
60
*
60
)
{
COMPLAIN
(
"
TestingAuth
DirTimeToLearnReachability is insanely high."
);
}
if
(
options
->
EstimatedDescriptorPropagationTime
!=
10
*
60
&&
if
(
options
->
Testing
EstimatedDescriptorPropagationTime
!=
10
*
60
&&
!
options
->
TestingTorNetwork
)
{
REJECT
(
"EstimatedDescriptorPropagationTime may only be changed in "
REJECT
(
"
Testing
EstimatedDescriptorPropagationTime may only be changed in "
"testing Tor networks!"
);
}
else
if
(
options
->
EstimatedDescriptorPropagationTime
<
0
)
{
REJECT
(
"EstimatedDescriptorPropagationTime must be non-negative."
);
}
else
if
(
options
->
EstimatedDescriptorPropagationTime
>
60
*
60
)
{
COMPLAIN
(
"EstimatedDescriptorPropagationTime is insanely high."
);
}
else
if
(
options
->
Testing
EstimatedDescriptorPropagationTime
<
0
)
{
REJECT
(
"
Testing
EstimatedDescriptorPropagationTime must be non-negative."
);
}
else
if
(
options
->
Testing
EstimatedDescriptorPropagationTime
>
60
*
60
)
{
COMPLAIN
(
"
Testing
EstimatedDescriptorPropagationTime is insanely high."
);
}
if
(
options
->
TestingTorNetwork
)
{
...
...
src/or/dirserv.c
View file @
33ced735
...
...
@@ -2154,7 +2154,8 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
tor_assert
(
private_key
);
tor_assert
(
cert
);
if
(
now
-
time_of_process_start
<
options
->
DirTimeToLearnReachability
)
if
(
now
-
time_of_process_start
<
options
->
TestingAuthDirTimeToLearnReachability
)
vote_on_reachability
=
0
;
if
(
resolve_my_address
(
LOG_WARN
,
options
,
&
addr
,
&
hostname
)
<
0
)
{
...
...
@@ -2240,7 +2241,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
last_consensus_interval
=
current_consensus
->
fresh_until
-
current_consensus
->
valid_after
;
else
last_consensus_interval
=
options
->
V3AuthInitialVotingInterval
;
last_consensus_interval
=
options
->
Testing
V3AuthInitialVotingInterval
;
v3_out
->
valid_after
=
dirvote_get_start_of_next_interval
(
now
,
(
int
)
last_consensus_interval
);
format_iso_time
(
tbuf
,
v3_out
->
valid_after
);
...
...
src/or/dirvote.c
View file @
33ced735
...
...
@@ -1308,9 +1308,9 @@ dirvote_recalculate_timing(or_options_t *options, time_t now)
vote_delay
=
consensus
->
vote_seconds
;
dist_delay
=
consensus
->
dist_seconds
;
}
else
{
interval
=
options
->
V3AuthInitialVotingInterval
;
vote_delay
=
options
->
V3AuthInitialVoteDelay
;
dist_delay
=
options
->
V3AuthInitialDistDelay
;
interval
=
options
->
Testing
V3AuthInitialVotingInterval
;
vote_delay
=
options
->
Testing
V3AuthInitialVoteDelay
;
dist_delay
=
options
->
Testing
V3AuthInitialDistDelay
;
}
tor_assert
(
interval
>
0
);
...
...
src/or/or.h
View file @
33ced735
...
...
@@ -2355,31 +2355,27 @@ typedef struct {
* migration purposes? */
int
V3AuthUseLegacyKey
;
/*XXXX021 I think all these "Testing Networks only" options should perhaps
* have a common prefix. -NM */
/** The length of time that we think an initial consensus should be fresh.
* Only altered on testing networks. */
int
V3AuthInitialVotingInterval
;
int
Testing
V3AuthInitialVotingInterval
;
/** The length of time we think it will take to distribute initial votes.
* Only altered on testing networks. */
int
V3AuthInitialVoteDelay
;
int
Testing
V3AuthInitialVoteDelay
;
/** The length of time we think it will take to distribute initial
* signatures. Only altered on testing networks.*/
int
V3AuthInitialDistDelay
;
int
Testing
V3AuthInitialDistDelay
;
/*XXXX021 why is this not prefixed to indicate that it's an authority
* option? */
/** If an authority has been around for less than this amount of time, it
* does not believe its reachability information is accurate. Only
* altered on testing networks. */
int
DirTimeToLearnReachability
;
int
TestingAuth
DirTimeToLearnReachability
;
/** Clients don't download any descriptor this recent, since it will
* probably not have propagated to enough caches. Only altered on testing
* networks. */
int
EstimatedDescriptorPropagationTime
;
int
Testing
EstimatedDescriptorPropagationTime
;
/** If true, we take part in a testing network. Change the defaults of a
* couple of other configuration options and allow to change the values
...
...
src/or/routerlist.c
View file @
33ced735
...
...
@@ -3729,7 +3729,8 @@ client_would_use_router(routerstatus_t *rs, time_t now, or_options_t *options)
* But, if we want to have a complete list, fetch it anyway. */
return
0
;
}
if
(
rs
->
published_on
+
options
->
EstimatedDescriptorPropagationTime
>
now
)
{
if
(
rs
->
published_on
+
options
->
TestingEstimatedDescriptorPropagationTime
>
now
)
{
/* Most caches probably don't have this descriptor yet. */
return
0
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment