mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Add an EnforceDistinctSubnets option so that clients who know what they are doing (mainly people with private testing networks) can disable our same-/16 detection.
svn:r8504
This commit is contained in:
@@ -152,6 +152,7 @@ static config_var_t _option_vars[] = {
|
||||
VAR("DirPort", UINT, DirPort, "0"),
|
||||
OBSOLETE("DirPostPeriod"),
|
||||
VAR("DirServer", LINELIST, DirServers, NULL),
|
||||
VAR("EnforceDistinctSubnets", BOOL, EnforceDistinctSubnets,"1"),
|
||||
VAR("EntryNodes", STRING, EntryNodes, NULL),
|
||||
VAR("ExcludeNodes", STRING, ExcludeNodes, NULL),
|
||||
VAR("ExitNodes", STRING, ExitNodes, NULL),
|
||||
|
||||
@@ -1581,6 +1581,8 @@ typedef struct {
|
||||
char *ServerDNSResolvConfFile; /**< If provided, we configure our internal
|
||||
* resolver from the file here rather than from
|
||||
* /etc/resolv.conf (Unix) or the registry (Windows). */
|
||||
int EnforceDistinctSubnets; /** If true, don't allow multiple routers in the
|
||||
* same network zone in the same circuit. */
|
||||
} or_options_t;
|
||||
|
||||
/** Persistent state for an onion router, as saved to disk. */
|
||||
|
||||
+3
-1
@@ -629,10 +629,12 @@ routerlist_add_family(smartlist_t *sl, routerinfo_t *router)
|
||||
{
|
||||
routerinfo_t *r;
|
||||
config_line_t *cl;
|
||||
or_options_t *options = get_options();
|
||||
|
||||
/* First, add any routers with similar network addresses.
|
||||
* XXX It's possible this will be really expensive; we'll see. */
|
||||
routerlist_add_network_family(sl, router);
|
||||
if (options->EnforceDistinctSubnets)
|
||||
routerlist_add_network_family(sl, router);
|
||||
|
||||
if (!router->declared_family)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user