Opened 3 years ago

Last modified 2 years ago

#20188 new enhancement

hsfetch hs_desc FAILED with REASON missing

Reported by: grarpamp Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version: Tor: 0.2.8.7
Severity: Normal Keywords: tor-hs, spec, tor-control
Cc: Actual Points:
Parent ID: Points: 1
Reviewer: Sponsor:

Description

Controller...

hsfetch tries to fetch from up to 6 hsdirs. If for any reason,
such as network or hsdir appearing down anomalies, none of the 6
respond (or possibly even do not respond in a recognized manner),
hs_desc fails to print FAILURE, which means REASON is missing, and
anything using the controller is left ambiguous.

hs_desc event should print result of hsfetch in all cases.

Child Tickets

Change History (7)

comment:1 Changed 3 years ago by grarpamp

FAILURE REASON's BAD_DESC (parse garbage or minimum logical spec
issues) and NOT_FOUND (negative response) are from actual responses
received. For each of the 6, nonresponses also require FAILURE with
REASON tags. After all 6, hs_desc_content should set an appropriate
CONDITION. See https://trac.torproject.org/projects/tor/ticket/20169

Suggested new FAILURE REASON's ...

DIR_QUIET - A circuit tcp connection handshake state to this hsdir
was confirmed, the REQUEST may have been sent, but no data came
back. (Provided tor knows it reached such a state, and was able to
send REQUEST data under that state.)

DIR_CONN - The hsdir rejected, reset, or otherwise closed the
connection prior to providing data.

If tor doesn't track state, or the meta particulars of what was
sent / received, the above two reasons are moot.

TIMEOUT - No data came back from the HSDir in time (presumably since
each of the 6 hsdir are cycled through).


Under any of these REASON's the HS_DESC_CONTENT CONDITION is set
to FETCH_FAIL.

Version 1, edited 3 years ago by grarpamp (previous) (next) (diff)

comment:2 Changed 3 years ago by nickm

This would be good-to-have in 0.2.9 -- does anybody want to spec it up and implement it in the next 10 days? Else it will have to wait for 0.3.0

comment:3 Changed 3 years ago by dgoulet

Keywords: tor-hs controller spec added
Milestone: Tor: 0.2.9.x-finalTor: 0.3.0.x-final
Points: 1
Type: defectenhancement

I think this is a good idea but no chance we can make it in 029 for the freeze in few days. Would be really nice if anyone picks this one up for 030!

comment:4 Changed 3 years ago by dgoulet

Keywords: triage-out-030-201612 added
Milestone: Tor: 0.3.0.x-finalTor: unspecified

Triaged out on December 2016 from 030 to Unspecified.

comment:5 Changed 2 years ago by nickm

Keywords: triage-out-030-201612 removed

comment:6 Changed 2 years ago by dgoulet

Unify controller keyword to "tor-control".

comment:7 Changed 2 years ago by dgoulet

Keywords: tor-control added; controller removed

Unify "controller" keyword to "tor-control".

Note: See TracTickets for help on using tickets.