options_act(): Changed to using entry guards or bridges, or changed preferred or excluded node lists. Abandoning previous circuits.
options_act(): Worker-related options changed. Rotating workers.
They haven't. Tor 0.2.3 did not have this bug.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
What are you doing, and what is telling you those log messages, and what's the bug?
When I SIGHUP Tor it logs those messages and others to stdout. The bug is that it discards circuits when its configuration is reloaded, although nothing in it has changed. I'm using ExcludeNodes.
I just started a tor 0.2.4 client with a torrc consisting of a single ExcludeNodes line, and gave it a SIGHUP. It didn't tell me "Changed to using entry guards or bridges, or changed preferred or excluded node lists. Abandoning previous circuits.".
The relevant code here is:
if ((options->UseEntryGuards && !old_options->UseEntryGuards) || options->UseBridges != old_options->UseBridges || (options->UseBridges && !config_lines_eq(options->Bridges, old_options->Bridges)) || !routerset_equal(old_options->ExcludeNodes,options->ExcludeNodes) || !routerset_equal(old_options->ExcludeExitNodes, options->ExcludeExitNodes) || !routerset_equal(old_options->EntryNodes, options->EntryNodes) || !routerset_equal(old_options->ExitNodes, options->ExitNodes) || options->StrictNodes != old_options->StrictNodes) { log_info(LD_CIRC, "Changed to using entry guards or bridges, or changed " "preferred or excluded node lists. " "Abandoning previous circuits.");
The likeliest way I could see for a bug like this to happen would be if there's some code in Tor that's rewriting those options between SIGHUPs, or making them seem unequal every time we parse them; the next likeliest way would be if there's something making the torrc file look differently every time we reload it. (Any thoughts?)
If there are any ideas about how to reproduce this -- for example, what I need to put in my torrc to see this behavior -- that would help debug this one.
Trac: Status: new to needs_information Keywords: N/Adeleted, tor-client added
I just tried that a few times with current git master and it didn't work for me. Maybe I was picking the wrong CCs or guards? Maybe I need to wait longer or do more activity before I sighup?
Does a ‘routerset’ contain a set of routers and/or country codes, or does it only contain the set of routers? (If it's only a set of routers, then “{cc}” will be expanded at parse time, and that expansion can change over time.)
routerset_equal(), if I'm reading it right, checks whether the textual elements of routerset (that is, the strings separated by the commas) are equal. So the stuff to look for would be anything that modifies the routerset from containing the split-up elements of the CSV string.
Here's what modifies routerset_t.list:
routerset_union().
routerset_add_unknown_ccs()
routerset_parse().
I don't see an obvious reason that one of those would get called or not called differently after a sighup. Maybe there's a non-obvious reason.
See #7706 (moved) where this appeared. The comparison between old and new excluded routersets should be after unknown CCs have been added to the ones in torrc.