mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
cac612af42
When a directory request fails, we flag the relay as non Running so we don't use it anymore. This can be problematic with onion services because there are cases where a tor instance could have a lot of services, ephemeral ones, and keeps failing to upload descriptors, let say due to a bad network, and thus flag a lot of nodes as non Running which then in turn can not be used for circuit building. This commit makes it that we never flag nodes as non Running on a onion service directory request (upload or fetch) failure as to keep the hashring intact and not affect other parts of tor. Fortunately, the onion service hashring is _not_ selected by looking at the Running flag but since we do a 3-hop circuit to the HSDir, other services on the same instance can influence each other by removing nodes from the consensus for path selection. This was made apparent with a small network that ran out of nodes to used due to rapid succession of onion services uploading and failing. See #40434 for details. Fixes #40434 Signed-off-by: David Goulet <dgoulet@torproject.org>
7 lines
381 B
Plaintext
7 lines
381 B
Plaintext
o Minor bugfix (onion service):
|
|
- Do not flag an HSDir as non-running in case the descriptor upload or
|
|
fetch fails. An onion service closes pending directory connections
|
|
before uploading a new descriptor which can thus lead to wrongly
|
|
flagging many relays and thus affecting circuit building path selection.
|
|
Fixes bug 40434; bugfix on 0.2.0.13-alpha.
|