[tor-bugs] #2479 [Tor Relay]: be more lenient about changed descriptors
Tor Bug Tracker & Wiki
torproject-admin at torproject.org
Thu Feb 3 05:32:07 UTC 2011
#2479: be more lenient about changed descriptors
-----------------------+----------------------------------------------------
Reporter: arma | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Tor: 0.2.2.x-final
Component: Tor Relay | Version:
Keywords: | Points:
Parent: |
-----------------------+----------------------------------------------------
We have a series of bugs where relays publish a descriptor within 12 hours
of their last descriptor, but the authorities drop it because it's not
different "enough" from the last one and it's too close to the last one.
The original goal of this idea was to a) reduce the number of new
descriptors authorities accept (and thus have to store) and b) reduce the
total number of descriptors that clients and mirrors fetch. It's a defense
against bugs where relays publish a new descriptor every minute.
Now that we're putting out one consensus per hour, we're doing better at
the total damage that can be caused by 'b'.
There are broader-scale design changes that would help here, and we've had
a trac entry open for years about how relays should recognize that they're
not in the consensus, or recognize when their publish failed, and
republish sooner.
In the mean time, I think we should change some of the parameters to make
the problem less painful.
The first is
{{{
/** Any changes in a router descriptor's publication time larger than this
are
* automatically non-cosmetic. */
#define ROUTER_MAX_COSMETIC_TIME_DIFFERENCE (12*60*60)
}}}
Let's change that to 1 or 2 hours. That will reduce the number of times we
encounter this problem.
The second proposed parameter change is
{{{
/** How old can a router get before we (as a server) will no longer
* consider it live? In seconds. */
#define ROUTER_MAX_AGE_TO_PUBLISH (60*60*20)
}}}
I'd like to move that to 23 or 24 hours.
Ideally it should be in the 48 hour or longer range, since if a relay is
still getting the Running flag assigned to it, let's keep using it, and if
it's not, no harm in voting about it. But I worry that clients will fetch
a 36 hour old descriptor, drop it because it's old, and get into a cycle.
(I *think* we made it so they wouldn't get into such a cycle, but what do
I know.)
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/2479>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list