mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
Don't recreate descriptor on sighup
We used to regenerate our descriptor whenever we'd get a sighup. This was caused by a bug in options_transition_affects_workers() that would return true even if the options were exactly the same. Down the call path we'd call init_keys(), which made us make a new descriptor which the authorities would reject, and the node would subsequently fall out of the consensus. This patch fixes only the first part of this bug: options_transition_affects_workers() behaves correctly now. The second part still wants a fix.
This commit is contained in:
parent
b8ffb00cf1
commit
3ff7925a70
6
changes/bug1810
Normal file
6
changes/bug1810
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
o Major bugfixes:
|
||||||
|
- Don't decide to make a new descriptor when receiving a HUP signal.
|
||||||
|
This bug has caused a lot of relays to disappear from the consensus
|
||||||
|
periodically. Fixes the most common case of triggering bug 1810;
|
||||||
|
bugfix on 0.2.2.7-alpha.
|
||||||
|
|
@ -3809,7 +3809,7 @@ options_transition_affects_workers(or_options_t *old_options,
|
|||||||
old_options->ORPort != new_options->ORPort ||
|
old_options->ORPort != new_options->ORPort ||
|
||||||
old_options->ServerDNSSearchDomains !=
|
old_options->ServerDNSSearchDomains !=
|
||||||
new_options->ServerDNSSearchDomains ||
|
new_options->ServerDNSSearchDomains ||
|
||||||
old_options->SafeLogging != new_options->SafeLogging ||
|
old_options->_SafeLogging != new_options->_SafeLogging ||
|
||||||
old_options->ClientOnly != new_options->ClientOnly ||
|
old_options->ClientOnly != new_options->ClientOnly ||
|
||||||
public_server_mode(old_options) != public_server_mode(new_options) ||
|
public_server_mode(old_options) != public_server_mode(new_options) ||
|
||||||
!config_lines_eq(old_options->Logs, new_options->Logs) ||
|
!config_lines_eq(old_options->Logs, new_options->Logs) ||
|
||||||
|
Loading…
Reference in New Issue
Block a user