mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 22:58:50 +01:00
Move AuthDirHasIPv6Connectivity into dirauth module.
This commit is contained in:
parent
bc0f1076d5
commit
eedab30a7b
6 changed files with 12 additions and 6 deletions
|
@ -336,7 +336,6 @@ static const config_var_t option_vars_[] = {
|
|||
OBSOLETE("AuthDirListBadDirs"),
|
||||
V(AuthDirListBadExits, BOOL, "0"),
|
||||
OBSOLETE("AuthDirMaxServersPerAuthAddr"),
|
||||
V(AuthDirHasIPv6Connectivity, BOOL, "0"),
|
||||
VAR("AuthoritativeDirectory", BOOL, AuthoritativeDir, "0"),
|
||||
V(AutomapHostsOnResolve, BOOL, "0"),
|
||||
V(AutomapHostsSuffixes, CSV, ".onion,.exit"),
|
||||
|
|
|
@ -459,7 +459,6 @@ struct or_options_t {
|
|||
|
||||
int AuthDirListBadExits; /**< True iff we should list bad exits,
|
||||
* and vote for all other exits as good. */
|
||||
int AuthDirHasIPv6Connectivity; /**< Boolean: are we on IPv6? */
|
||||
int AuthDirPinKeys; /**< Boolean: Do we enforce key-pinning? */
|
||||
|
||||
char *AccountingStart; /**< How long is the accounting interval, and when
|
||||
|
|
|
@ -20,6 +20,9 @@ CONF_VAR(AuthDirFastGuarantee, MEMUNIT, 0, "100 KB")
|
|||
* to satisfy the bandwidth requirement for the Guard flag. */
|
||||
CONF_VAR(AuthDirGuardBWGuarantee, MEMUNIT, 0, "2 MB")
|
||||
|
||||
/** Boolean: are we on IPv6? */
|
||||
CONF_VAR(AuthDirHasIPv6Connectivity, BOOL, 0, "0")
|
||||
|
||||
/** Do not permit more than this number of servers per IP address. */
|
||||
CONF_VAR(AuthDirMaxServersPerAddr, POSINT, 0, "2")
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "core/or/channeltls.h"
|
||||
#include "core/or/command.h"
|
||||
#include "feature/dirauth/authmode.h"
|
||||
#include "feature/dirauth/dirauth_sys.h"
|
||||
#include "feature/nodelist/describe.h"
|
||||
#include "feature/nodelist/nodelist.h"
|
||||
#include "feature/nodelist/routerinfo.h"
|
||||
|
@ -24,6 +25,7 @@
|
|||
#include "feature/nodelist/torcert.h"
|
||||
#include "feature/stats/rephist.h"
|
||||
|
||||
#include "feature/dirauth/dirauth_options_st.h"
|
||||
#include "feature/nodelist/node_st.h"
|
||||
#include "feature/nodelist/routerinfo_st.h"
|
||||
#include "feature/nodelist/routerlist_st.h"
|
||||
|
@ -154,7 +156,7 @@ dirserv_single_reachability_test(time_t now, routerinfo_t *router)
|
|||
if (chan) command_setup_channel(chan);
|
||||
|
||||
/* Possible IPv6. */
|
||||
if (get_options()->AuthDirHasIPv6Connectivity == 1 &&
|
||||
if (dirauth_get_options()->AuthDirHasIPv6Connectivity == 1 &&
|
||||
!tor_addr_is_null(&router->ipv6_addr)) {
|
||||
char addrstr[TOR_ADDR_BUF_LEN];
|
||||
log_debug(LD_OR, "Testing reachability of %s at %s:%u.",
|
||||
|
|
|
@ -485,6 +485,7 @@ dirserv_set_router_is_running(routerinfo_t *router, time_t now)
|
|||
*/
|
||||
int answer;
|
||||
const or_options_t *options = get_options();
|
||||
const dirauth_options_t *dirauth_options = dirauth_get_options();
|
||||
node_t *node = node_get_mutable_by_id(router->cache_info.identity_digest);
|
||||
tor_assert(node);
|
||||
|
||||
|
@ -511,7 +512,7 @@ dirserv_set_router_is_running(routerinfo_t *router, time_t now)
|
|||
IPv6 OR port since that'd kill all dual stack relays until a
|
||||
majority of the dir auths have IPv6 connectivity. */
|
||||
answer = (now < node->last_reachable + REACHABLE_TIMEOUT &&
|
||||
(options->AuthDirHasIPv6Connectivity != 1 ||
|
||||
(dirauth_options->AuthDirHasIPv6Connectivity != 1 ||
|
||||
tor_addr_is_null(&router->ipv6_addr) ||
|
||||
now < node->last_reachable6 + REACHABLE_TIMEOUT));
|
||||
}
|
||||
|
@ -542,7 +543,7 @@ static int
|
|||
should_publish_node_ipv6(const node_t *node, const routerinfo_t *ri,
|
||||
time_t now)
|
||||
{
|
||||
const or_options_t *options = get_options();
|
||||
const dirauth_options_t *options = dirauth_get_options();
|
||||
|
||||
return options->AuthDirHasIPv6Connectivity == 1 &&
|
||||
!tor_addr_is_null(&ri->ipv6_addr) &&
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "core/or/or.h"
|
||||
|
||||
#include "feature/dirauth/voteflags.h"
|
||||
#include "feature/dirauth/dirauth_options_st.h"
|
||||
#include "feature/nodelist/node_st.h"
|
||||
#include "feature/nodelist/routerstatus_st.h"
|
||||
#include "feature/nodelist/routerinfo_st.h"
|
||||
|
@ -15,6 +16,7 @@
|
|||
#include "app/config/config.h"
|
||||
|
||||
#include "test/test.h"
|
||||
#include "test/opts_test_helpers.h"
|
||||
|
||||
typedef struct {
|
||||
time_t now;
|
||||
|
@ -119,7 +121,7 @@ test_voting_flags_ipv6(void *arg)
|
|||
if (!check_result(cfg))
|
||||
goto done;
|
||||
|
||||
get_options_mutable()->AuthDirHasIPv6Connectivity = 1;
|
||||
get_dirauth_options(get_options_mutable())->AuthDirHasIPv6Connectivity = 1;
|
||||
// no change in expected results, since last_reachable6 won't be set.
|
||||
if (!check_result(cfg))
|
||||
goto done;
|
||||
|
|
Loading…
Add table
Reference in a new issue