Refactor circuit cannibalization into one place
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 - 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.
issue