|
@@ -2187,31 +2187,41 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
|
|
|
rs->ipv6_orport = ri->ipv6_orport;
|
|
|
}
|
|
|
|
|
|
- /* 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)) {
|
|
|
- rs->is_exit = 1;
|
|
|
- } else if (options->TestingDirAuthVoteExitIsStrict) {
|
|
|
- rs->is_exit = 0;
|
|
|
- }
|
|
|
+ dirserv_set_routerstatus_testing(rs);
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- if (routerset_contains_routerstatus(options->TestingDirAuthVoteGuard,
|
|
|
- rs, 0)) {
|
|
|
- rs->is_possible_guard = 1;
|
|
|
- } else if (options->TestingDirAuthVoteGuardIsStrict) {
|
|
|
- rs->is_possible_guard = 0;
|
|
|
- }
|
|
|
+/** Use TestingDirAuthVoteExit, TestingDirAuthVoteGuard, and
|
|
|
+ * TestingDirAuthVoteHSDir to give out the Exit, Guard, and HSDir flags,
|
|
|
+ * respectively. But don't set the corresponding node flags.
|
|
|
+ * Should only be called if TestingTorNetwork is set. */
|
|
|
+STATIC void
|
|
|
+dirserv_set_routerstatus_testing(routerstatus_t *rs)
|
|
|
+{
|
|
|
+ const or_options_t *options = get_options();
|
|
|
|
|
|
- if (routerset_contains_routerstatus(options->TestingDirAuthVoteHSDir,
|
|
|
- rs, 0)) {
|
|
|
- rs->is_hs_dir = 1;
|
|
|
- } else if (options->TestingDirAuthVoteHSDirIsStrict) {
|
|
|
- rs->is_hs_dir = 0;
|
|
|
- }
|
|
|
+ tor_assert(options->TestingTorNetwork);
|
|
|
+
|
|
|
+ if (routerset_contains_routerstatus(options->TestingDirAuthVoteExit,
|
|
|
+ rs, 0)) {
|
|
|
+ rs->is_exit = 1;
|
|
|
+ } else if (options->TestingDirAuthVoteExitIsStrict) {
|
|
|
+ rs->is_exit = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (routerset_contains_routerstatus(options->TestingDirAuthVoteGuard,
|
|
|
+ rs, 0)) {
|
|
|
+ rs->is_possible_guard = 1;
|
|
|
+ } else if (options->TestingDirAuthVoteGuardIsStrict) {
|
|
|
+ rs->is_possible_guard = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (routerset_contains_routerstatus(options->TestingDirAuthVoteHSDir,
|
|
|
+ rs, 0)) {
|
|
|
+ rs->is_hs_dir = 1;
|
|
|
+ } else if (options->TestingDirAuthVoteHSDirIsStrict) {
|
|
|
+ rs->is_hs_dir = 0;
|
|
|
}
|
|
|
}
|
|
|
|