Opened 3 years ago

Closed 3 years ago

#23481 closed defect (implemented)

hs-v3: Client fails to reach service before 90% bootstrap

Reported by: dgoulet Owned by:
Priority: Medium Milestone: Tor: 0.3.2.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-client, tor-hs, prop224
Cc: Actual Points:
Parent ID: Points:
Reviewer: asn Sponsor:


It appears that between bootstrap 85% and 90%, it is when the consensus is fetch and we wait on it before trying to establish a first circuit which would bring us to 90%.

Before that, we have no live consensus so setting the hsdir index to a node_t fails because it requires a live consensus to do so. Because of that, a client just can't reach any service because it can not build an hashring.

I think we should require any client actions to have a live consensus which would mean to either stall the SOCKS request until we have it (seems to be around 90% bootstrap) or we close it right away and ask to come back later.

I would go for stalling and try once the live consensus is here.

Child Tickets

Change History (4)

comment:1 Changed 3 years ago by dgoulet

Reviewer: asn
Status: newneeds_review

@asn: Ok it seems to be working fine, let me know if you like the approach: bug23481_032_01

comment:2 Changed 3 years ago by asn

Status: needs_reviewmerge_ready

OK please check branch bug23481_032_01 in my repo for the latest version here.
This is ready for Nick's review.

Both me and David tested this by starting up Tor with a wiped data dir, and asking it to connect to an HS in various stages of bootstrapping.

comment:3 Changed 3 years ago by dgoulet


comment:4 Changed 3 years ago by nickm

Resolution: implemented
Status: merge_readyclosed

lgtm; merging

Note: See TracTickets for help on using tickets.