[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #34200 [Core Tor/Tor]: Refactor tor's circuit path node selection checks
#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@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs