mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Merge remote-tracking branches 'teor/issue-13161-test-network' and 'teor/issue-13161-TestingDirAuthVoteExit'
This commit is contained in:
commit
cc5571e1f1
3
changes/bug13161-test-network-echo-n
Normal file
3
changes/bug13161-test-network-echo-n
Normal file
@ -0,0 +1,3 @@
|
||||
o Minor bugfixes:
|
||||
- Stop using "echo -n", as some shells' built-in echo doesn't support
|
||||
"-n". Instead, use "/bin/echo -n". Partially fixes bug 13161.
|
7
changes/feature13161-TestingDirAuthVoteExit
Normal file
7
changes/feature13161-TestingDirAuthVoteExit
Normal file
@ -0,0 +1,7 @@
|
||||
o Minor features (testing):
|
||||
- Add the TestingDirAuthVoteExit option, a list of nodes to vote
|
||||
Exit for regardless of their uptime, bandwidth, or exit policy.
|
||||
TestingTorNetwork must be set for this option to have any effect.
|
||||
Works around an issue where authorities would take up to 35 minutes
|
||||
to give nodes the Exit flag in a test network, despite short
|
||||
consensus intervals. Partially implements ticket 13161.
|
4
changes/feature13161-test-network-delay-option
Normal file
4
changes/feature13161-test-network-delay-option
Normal file
@ -0,0 +1,4 @@
|
||||
o Minor features (testing):
|
||||
- Add a --delay option to test-network.sh, which configures the delay
|
||||
before the chutney network tests for data transmission.
|
||||
Partially implements ticket 13161.
|
@ -2197,6 +2197,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)
|
||||
|
||||
[[TestingDirAuthVoteExit]] **TestingDirAuthVoteExit** __node__,__node__,__...__::
|
||||
A list of identity fingerprints, nicknames, country codes and
|
||||
address patterns of nodes to vote Exit for regardless of their
|
||||
uptime, bandwidth, or exit policy. 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.
|
||||
|
||||
[[TestingDirAuthVoteGuard]] **TestingDirAuthVoteGuard** __node__,__node__,__...__::
|
||||
A list of identity fingerprints, nicknames, country codes and
|
||||
address patterns of nodes to vote Guard for regardless of their
|
||||
|
@ -439,6 +439,7 @@ static config_var_t option_vars_[] = {
|
||||
V(TestingDescriptorMaxDownloadTries, UINT, "8"),
|
||||
V(TestingMicrodescMaxDownloadTries, UINT, "8"),
|
||||
V(TestingCertMaxDownloadTries, UINT, "8"),
|
||||
V(TestingDirAuthVoteExit, ROUTERSET, NULL),
|
||||
V(TestingDirAuthVoteGuard, ROUTERSET, NULL),
|
||||
VAR("___UsingTestNetworkDefaults", BOOL, UsingTestNetworkDefaults_, "0"),
|
||||
|
||||
|
@ -2169,13 +2169,20 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
|
||||
rs->ipv6_orport = ri->ipv6_orport;
|
||||
}
|
||||
|
||||
/* Iff we are in a testing network, use TestingDirAuthVoteGuard to
|
||||
/* Iff we are in a testing network, use TestingDirAuthVoteExit to
|
||||
give out Exit flags, and TestingDirAuthVoteGuard to
|
||||
give out Guard flags. */
|
||||
if (options->TestingTorNetwork &&
|
||||
routerset_contains_routerstatus(options->TestingDirAuthVoteGuard,
|
||||
if (options->TestingTorNetwork) {
|
||||
if (routerset_contains_routerstatus(options->TestingDirAuthVoteExit,
|
||||
rs, 0)) {
|
||||
rs->is_exit = 1;
|
||||
}
|
||||
|
||||
if (routerset_contains_routerstatus(options->TestingDirAuthVoteGuard,
|
||||
rs, 0)) {
|
||||
rs->is_possible_guard = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Routerstatus <b>rs</b> is part of a group of routers that are on
|
||||
|
@ -4056,6 +4056,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 Exit
|
||||
* regardless of exit policy. */
|
||||
routerset_t *TestingDirAuthVoteExit;
|
||||
|
||||
/** Relays in a testing network which should be voted Guard
|
||||
* regardless of uptime and bandwidth. */
|
||||
routerset_t *TestingDirAuthVoteGuard;
|
||||
|
@ -1,5 +1,7 @@
|
||||
#! /bin/sh
|
||||
|
||||
ECHO_N="/bin/echo -n"
|
||||
|
||||
until [ -z $1 ]
|
||||
do
|
||||
case $1 in
|
||||
@ -15,6 +17,10 @@ do
|
||||
export NETWORK_FLAVOUR="$2"
|
||||
shift
|
||||
;;
|
||||
--delay|--sleep|--bootstrap-time|--time)
|
||||
export BOOTSTRAP_TIME="$2"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
echo "Sorry, I don't know what to do with '$1'."
|
||||
exit 2
|
||||
@ -39,10 +45,10 @@ PATH="$TOR_DIR/src/or:$TOR_DIR/src/tools:$PATH"
|
||||
|
||||
# Sleep some, waiting for the network to bootstrap.
|
||||
# TODO: Add chutney command 'bootstrap-status' and use that instead.
|
||||
BOOTSTRAP_TIME=18
|
||||
echo -n "$myname: sleeping for $BOOTSTRAP_TIME seconds"
|
||||
BOOTSTRAP_TIME=${BOOTSTRAP_TIME:-18}
|
||||
$ECHO_N "$myname: sleeping for $BOOTSTRAP_TIME seconds"
|
||||
n=$BOOTSTRAP_TIME; while [ $n -gt 0 ]; do
|
||||
sleep 1; n=$(expr $n - 1); echo -n .
|
||||
sleep 1; n=$(expr $n - 1); $ECHO_N .
|
||||
done; echo ""
|
||||
./chutney verify $CHUTNEY_NETWORK
|
||||
VERIFY_EXIT_STATUS=$?
|
||||
|
Loading…
Reference in New Issue
Block a user