Opened 19 months ago

Last modified 5 months ago

#30267 assigned defect

Simplify the code logic of launching HS circuits

Reported by: asn Owned by: neel
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-hs refactoring tech-debt easy
Cc: neel Actual Points:
Parent ID: Points: 1
Reviewer: Sponsor:


The intro/rendezvous parts of circuit_get_open_circ_or_launch() are very complicated, and then they call circuit_get_open_circ_or_launch() which is also extremely complicated.

A minimal action item for improving the situation here would be to split the HS-parts of connection_ap_handshake_attach_circuit() which are already pretty disentangled into their own function. That's pretty easy to do.

The harder part of this would be to see if we can also split the HS parts of circuit_get_open_circ_or_launch() in some way.

Child Tickets

Change History (5)

comment:1 Changed 19 months ago by dgoulet

Agree +9000. Also, sending the INTRODUCE1 cell shouldn't be handled there but rather when the intro circuit state becomes open in the has_opened() function.

comment:2 Changed 18 months ago by neel

Cc: neel added
Owner: set to neel
Status: newassigned

comment:3 Changed 13 months ago by neel

Owner: neel deleted

comment:4 Changed 13 months ago by neel

Status: assignednew

comment:5 Changed 5 months ago by neel

Owner: set to neel
Status: newassigned
Note: See TracTickets for help on using tickets.