Opened 10 years ago

Last modified 7 years ago

#1066 closed defect (Fixed)

Restarting all the authorities at once would halt all the clients.

Reported by: nickm Owned by: nickm
Priority: Low Milestone:
Component: Core Tor/Tor Version: 0.2.0.35
Severity: Keywords:
Cc: nickm, arma, karsten Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

For a while after an authority has started, it doesn't have any opinion about which routers are Running,
so it doesn't vote on that. But if every authority were restarted at once right before it was time to
vote, no authority would vote on the Running flag, and so no router would be listed as Running in the
next consensus. Clients would then think that all the routers were down.

Let's fix this DOS before it happens. One possible fix would be for authorities to refuse to build a consensus
if nobody has voted on certain essential flags, to include running. As a belt-and-suspenders approach, newer
clients could assume every router was Running if nobody voted on Running, rather than assuming no router was
Running.

[Automatically added by flyspray2trac: Operating System: All]

Child Tickets

Change History (3)

comment:1 Changed 10 years ago by karsten

Fixed in 4256a964: Authorities refuse to build a consensus if nobody has
voted on the Running flag. Once the current authorities are upgraded, the
bug will be gone.

We didn't make clients assume that every relay has the Running flag,
though. It seems that the first fix is sufficient, and that a second fix
would only add to code complexity.

comment:2 Changed 10 years ago by karsten

flyspray2trac: bug closed.

comment:3 Changed 7 years ago by nickm

Component: Tor RelayTor
Note: See TracTickets for help on using tickets.