#34200: Refactor tor's circuit path node selection checks -------------------------------------------------+------------------------- Reporter: teor | Owner: teor Type: defect | Status: | needs_review Priority: Medium | Milestone: Tor: | 0.4.4.x-final Component: Core Tor/Tor | Version: Severity: Normal | Resolution: Keywords: ipv6,extra-review, prop311, | Actual Points: 1.5 technical-debt, extra-review | Parent ID: #33221 | Points: 1 Reviewer: nickm | Sponsor: | Sponsor55-can -------------------------------------------------+------------------------- Changes (by teor):
* keywords: ipv6, prop311, technical-debt => ipv6,extra-review, prop311, technical-debt, extra-review * reviewer: => nickm * actualpoints: 1 => 1.5 Comment: I have rebased this PR on top of #33222, and added a changes file: * master: https://github.com/torproject/tor/pull/1888 To see the changes without #33222: * https://github.com/teor2345/tor/pull/2 This PR makes some of tor's node selection code a lot simpler. It fixes a bunch of subtle bugs and edge cases. The code was almost impossible to unit test before the refactor. After the refactor, it's a lot more consistent and modular. Here are the features and functions that don't have unit tests: * node selection * choose_good_exit_server_general() * count_acceptable_nodes() * router_choose_random_node_helper() * router_choose_random_node() * router_can_choose_node() * router_add_running_nodes_to_smartlist() Some of these functions are also modified in #33222. It should be easier to write the #33222 node selection unit tests on top of this refactor. This code also runs in chutney, as part of Tor's CI. But chutney doesn't fully test node selection. I suggest that we manually review the refactoring in this PR. We should also write unit tests for these functions (or open another ticket for the unit tests). -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/34200#comment:2> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs