Opened 3 years ago

Last modified 20 months ago

#17627 new enhancement

Add missing controller events so we can link every step of the HS dance

Reported by: robgjansen Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-hs, tor-spec, privcount-maybe
Cc: Actual Points:
Parent ID: Points: 3
Reviewer: Sponsor: SponsorQ-can

Description

For Sponsor R, we'd like to be able to collect async control events on a Tor client with setevents circ stream circ_minor hs_desc, log the raw output to file, and then later reconstruct the HS dance from that file to analyze performance/scalability problems. There is some missing information in these events that prevents us from fully reconstructing the dance.

  1. Cannot link HS_DESC events to the stream used to perform the lookup. The stream used for the lookup will go to a $XXX.exit and will have PURPOSE=DIR_FETCH.

This could be solved by adding the stream id to the HS_DESC event, which would then also allow us to link it up to the circuit used for the directory fetch.

  1. Cannot link the HS directory stream/circuit to the rendezvous stream/circuit to the introduction circuit.

We could treat the RP stream as the "parent" stream and link it to the directory stream; then we could treat the circuit to which the RP stream is attached as the "parent" circuit and link it to the circuit used for the directory fetch as well as the circuit used for the introduction.

We could also add new type of HS event to handle these sorts of issues.

Humans make mistakes; please let me know if I am wrong about any of this.

See also Roger's HS walkthrough: https://trac.torproject.org/projects/tor/wiki/doc/TorControlPortWalkthrough-HS

Child Tickets

Change History (15)

comment:1 Changed 3 years ago by cypherpunks

BUt... why?! Because they want it? For the cash they'll pay? This is too weird and is lacking a plausible excuse for why users want this.

comment:2 in reply to:  1 ; Changed 3 years ago by dgoulet

Replying to cypherpunks:

BUt... why?! Because they want it? For the cash they'll pay? This is too weird and is lacking a plausible excuse for why users want this.

Not sure who you are thinking about "they" here ... but this is for performance measurement. This is important for us so we can scale and improve hidden services. This is a control event thus not enabled by default and should only be used for a specific purposes.

comment:3 in reply to:  2 Changed 3 years ago by cypherpunks

Replying to dgoulet:

Replying to cypherpunks:

BUt... why?! Because they want it? For the cash they'll pay? This is too weird and is lacking a plausible excuse for why users want this.

Not sure who you are thinking about "they" here ... but this is for performance measurement. This is important for us so we can scale and improve hidden services. This is a control event thus not enabled by default and should only be used for a specific purposes.

Sorry, I don't buy it. The rendezvous process is already almost as fast as it can be, and hidden services are scalable enough that facebook.com can use them.

comment:4 Changed 3 years ago by nickm

Milestone: Tor: 0.2.9.x-final

comment:5 Changed 3 years ago by nickm

Points: medium

comment:6 Changed 3 years ago by dgoulet

Sponsor: SponsorRSponsorR-must

comment:7 Changed 3 years ago by nickm

Keywords: needs-proposal added

comment:8 Changed 3 years ago by isabela

Points: medium3

comment:9 Changed 3 years ago by dgoulet

Milestone: Tor: 0.2.9.x-finalTor: 0.2.???

Postponing to other version. Rob has now someone to help with this so if a patch comes in _before_ 029 stable, great but else it's now "unknown".

comment:10 Changed 2 years ago by teor

Milestone: Tor: 0.2.???Tor: 0.3.???

Milestone renamed

comment:11 Changed 2 years ago by nickm

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:12 Changed 21 months ago by nickm

Keywords: tor-03-unspecified-201612 removed

Remove an old triaging keyword.

comment:13 Changed 21 months ago by dgoulet

Cc: dgoulet removed
Keywords: tor-hs tor-spec added; needs-proposal removed
Sponsor: SponsorR-mustSponsorR-can

comment:14 Changed 20 months ago by nickm

Keywords: privcount-maybe added

comment:15 Changed 20 months ago by nickm

Sponsor: SponsorR-canSponsorQ-can
Note: See TracTickets for help on using tickets.