Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#3601 closed defect (fixed)

UseMicrodescriptors 1 breaks hidden service connectivity

Reported by: Sebastian Owned by:
Priority: High Milestone: Tor: 0.2.3.x-final
Component: Core Tor/Tor Version: Tor: 0.2.3.1-alpha
Severity: Keywords: tor-client
Cc: Actual Points:
Parent ID: #1748 Points:
Reviewer: Sponsor:

Description

Making any kind of hidden service connection attempt gives an immediate "[scrubbed].onion': hidden service is unavailable (try again later)." log message, and the request fails.

Child Tickets

Change History (12)

comment:1 Changed 8 years ago by nickm

Parent ID: #1748

comment:2 Changed 8 years ago by nickm

Weird; I just tried the duckduckgo hidden service and it worked okay for me. Are there any other configuration issues going on? Is there anything suggestive in your info logs? Is there anything to suggest how far the connection is getting before it dies?

comment:3 Changed 8 years ago by Sebastian

You did this in a data directory that used to have a non-md tor in it, yes? If I do that then hidden services work for me too, but using a clear data directory makes it break. Investigating logs now

comment:4 Changed 8 years ago by nickm

Oh, right you are. When I delete cached-descriptors*, it stops working.

comment:5 Changed 8 years ago by nickm

Jul 15 18:35:04.000 [info] connection_ap_handshake_rewrite_and_attach(): Got a hidden service request for ID '3g2upl4pq6kufc4m'
Jul 15 18:35:04.000 [info] connection_ap_handshake_rewrite_and_attach(): Unknown descriptor 3g2upl4pq6kufc4m. Fetching.
Jul 15 18:35:04.000 [info] directory_get_from_hs_dir(): Could not pick one of the responsible hidden service directories, because we requested them all recently without success.
Jul 15 18:35:04.000 [info] directory_get_from_hs_dir(): Could not pick one of the responsible hidden service directories, because we requested them all recently without success.
Jul 15 18:35:04.000 [info] rend_client_refetch_v2_renddesc(): Could not pick one of the responsible hidden service directories to fetch descriptors, because we already tried them all unsuccessfully.

comment:6 Changed 8 years ago by nickm

Aha, the "router_get_by_id_digest()" in directory_get_from_hs_dir() is probably to blame. It should check for a usable node_t, not for a routerinfo.

comment:7 Changed 8 years ago by nickm

Oh hey; publishing hidden service descriptors has the same bug!

comment:8 Changed 8 years ago by nickm

Priority: normalmajor
Status: newneeds_review

See branch bug3601 in my public repository.

comment:9 Changed 8 years ago by Sebastian

Fix looks good. Tested it for the client use case, too.

comment:10 Changed 8 years ago by nickm

Resolution: fixed
Status: needs_reviewclosed

Great; I've merged it!

(thwunk)

comment:11 Changed 7 years ago by nickm

Keywords: tor-client added

comment:12 Changed 7 years ago by nickm

Component: Tor ClientTor
Note: See TracTickets for help on using tickets.