Zombies: old clients (0.3.5, 0.4.0, etc) can't fetch a consensus so they don't shut down

In Tor 0.4.1.1-alpha (May 2019) we implemented the authenticated sendme design, and in Tor 0.4.8.17 (June 2025) we changed directory authorities to vote to require FlowCtrl=1, aka now clients must send authenticated sendmes.

The idea with our 'required protocol' design (see Proposal 264) is that obsolete clients will see in the consensus that they don't support the protocols they are required to support, and give an error message and exit.

But to fetch a consensus, you need to fetch enough bytes that you will send some sendmes. The directory servers hear an old sendme and hang up on the request. So clients never get the consensus, never learn that they don't support the required proto versions, and never exit.

Edited Jan 08, 2026 by Roger Dingledine
Assignee Loading
Time tracking Loading