Opened 7 years ago
Last modified 3 years ago
#7660 new enhancement
Refactor circuit cannibalization into one place
Reported by: | mikeperry | Owned by: | |
---|---|---|---|
Priority: | Medium | Milestone: | Tor: unspecified |
Component: | Core Tor/Tor | Version: | |
Severity: | Normal | Keywords: | tor-client codethulhu refactoring technical-debt |
Cc: | Actual Points: | ||
Parent ID: | Points: | ||
Reviewer: | Sponsor: |
Description
There's at least 2 different functions (and maybe many more places) where we cannibalize a circuit and add a hop. We should consolidate all of these places into a single helper function with consistent properties.
circuit_launch_by_extend_info() is one such place. circuit_extend_to_new_exit() is another.
Also, I found this old note file in my tor.git dir, which apparently I wrote some time ago while reviewing all the places we can add hops to circuits:
- Ways to add a new hop:
- onion_pick_cpath_exit
- onion_extend_cpath
- circuit_extend_to_new_exit
- circuit_append_new_exit
- onion_append_hop
- onion_append_to_cpath
- onion_append_hop
- circuit_append_new_exit
- rend_client_reextend_intro_circuit
- circuit_extend_to_new_exit2
- rend_client_receive_rendezvous
- onion_append_to_cpath
Not all of those are cannibalize code-paths, but they are worth grepping for to make sure they aren't used as such in some dark corner of the codebase.
Child Tickets
Change History (6)
comment:1 Changed 7 years ago by
Milestone: | → Tor: 0.2.5.x-final |
---|
comment:2 Changed 6 years ago by
Milestone: | Tor: 0.2.5.x-final → Tor: 0.2.??? |
---|
comment:3 Changed 3 years ago by
Milestone: | Tor: 0.2.??? → Tor: 0.3.??? |
---|
comment:4 Changed 3 years ago by
Keywords: | tor-03-unspecified-201612 added |
---|---|
Milestone: | Tor: 0.3.??? → Tor: unspecified |
Finally admitting that 0.3.??? was a euphemism for Tor: unspecified all along.
comment:5 Changed 3 years ago by
Keywords: | tor-03-unspecified-201612 removed |
---|
Remove an old triaging keyword.
comment:6 Changed 3 years ago by
Keywords: | codethulhu refactoring technical-debt added |
---|---|
Severity: | → Normal |
Milestone renamed