Opened 9 years ago

Closed 8 years ago

Last modified 7 years ago

#1930 closed defect (fixed)

Hidden service fails after getting new v2 descriptor

Reported by: arma Owned by: rransom
Priority: High Milestone: Tor: 0.2.2.x-final
Component: Core Tor/Tor Version: Tor: 0.2.2.15-alpha
Severity: Keywords: tor-hs
Cc: Actual Points:
Parent ID: #2552 Points:
Reviewer: Sponsor:

Description

Tried to access a hidden service when my Tor didn't have any circuits ready (I hadn't used it for an hour), and my Tor refused:

Sep 10 15:12:48.558 [info] connection_ap_handshake_rewrite_and_attach(): Got a hidden service request for ID 'sw4...'
Sep 10 15:12:48.559 [info] connection_ap_handshake_rewrite_and_attach(): Descriptor is here. Great.
Sep 10 15:12:48.559 [debug] circuit_find_to_cannibalize(): Hunting for a circ to cannibalize: purpose 9, uptime 0, capacity 1, internal 1
Sep 10 15:12:48.559 [debug] new_route_len(): Chosen route length 3 (1934/2502 routers suitable).
^^^ that's the rendezvous circuit
...
Sep 10 15:12:48.571 [info] circuit_get_open_circ_or_launch(): Chose '$99C353AAA6C3BCEBDEA60C26F41A712F7EC444FF...' as intro point for 'sw4...'.
Sep 10 15:12:48.571 [debug] circuit_find_to_cannibalize(): Hunting for a circ to cannibalize: purpose 6, uptime 0, capacity 1, internal 1
Sep 10 15:12:48.571 [debug] new_route_len(): Chosen route length 4 (1934/2502 routers suitable).
^^^ that's the introduction circuit
...
Sep 10 15:12:51.054 [info] connection_ap_handshake_attach_circuit(): found open intro circ 39366 (rend 39365); sending introduction. (stream 3 sec old)
Sep 10 15:12:51.065 [info] rend_client_send_introduction(): Sending an INTRODUCE1 cell
...
Sep 10 15:12:52.280 [info] rend_client_remove_intro_point(): 2 options left for "sw4...".
Sep 10 15:12:52.280 [info] rend_client_introduction_acked(): Got nack for "sw4..." from $99C353AAA6C3BCEBDEA60C26F41A712F7EC444FF. Re-extending circ 39366, this time to $CF91FBA32FDAC4C500F3A3565591F144D5074820.
...
Sep 10 15:12:53.268 [info] rend_client_remove_intro_point(): 1 options left for "sw4...".
Sep 10 15:12:53.268 [info] rend_client_introduction_acked(): Got nack for "sw4..." from $CF91FBA32FDAC4C500F3A3565591F144D5074820. Re-extending circ 39366, this time to $550CC9724FA77C7F9260B93989D22A70654D3B92.
...
Sep 10 15:12:55.559 [info] rend_client_remove_intro_point(): No more intro points remain for "sw4...". Re-fetching descriptor.
Sep 10 15:12:55.559 [debug] rend_client_refetch_v2_renddesc(): Fetching v2 rendezvous descriptor for service sw4...
Sep 10 15:12:55.559 [debug] directory_initiate_command_rend(): anonymized 1, use_begindir 1.
Sep 10 15:12:55.559 [debug] directory_initiate_command_rend(): Initiating hidden-service v2 descriptor fetch
...
Sep 10 15:12:55.572 [info] directory_get_from_hs_dir(): Sending fetch request for v2 descriptor for service 'sw4...' with descriptor ID '22dnx...', auth type 0, and descriptor cookie '[none]' to hidden service directory 'hamakor' on port 80.
...
Sep 10 15:13:00.082 [debug] connection_dir_client_reached_eof(): Received response from directory server '82.80.248.177:443': 200 "OK"
Sep 10 15:13:00.082 [debug] connection_dir_client_reached_eof(): Time on received directory is within tolerance; we are -23 seconds skewed.  (That's okay.)
Sep 10 15:13:00.082 [info] connection_dir_client_reached_eof(): Received rendezvous descriptor (size 3250, status 200 ("OK"))
Sep 10 15:13:00.084 [debug] rend_cache_store_v2_desc_as_client(): Successfully stored rend desc 'sw4...', len 3250.
Sep 10 15:13:00.084 [info] connection_dir_client_reached_eof(): Successfully fetched v2 rendezvous descriptor.
Sep 10 15:13:00.084 [info] rend_client_desc_trynow(): Rend desc is usable. Launching circuits.
Sep 10 15:13:00.084 [debug] circuit_get_open_circ_or_launch(): one on the way!
Sep 10 15:13:00.084 [debug] circuit_get_open_circ_or_launch(): one on the way!
Sep 10 15:13:00.084 [info] connection_ap_handshake_attach_circuit(): ready rend circ 39365 already here (no intro-ack yet on intro 39366). (stream 0 sec old)
Sep 10 15:13:00.084 [info] connection_ap_handshake_attach_circuit(): found open intro circ 39366 (rend 39365); sending introduction. (stream 0 sec old)
Sep 10 15:13:00.084 [info] rend_client_send_introduction(): Our introduction point knowledge changed in mid-connect! Could not find intro key; we only have a v2 rend desc with 3 intro points. Giving up.
Sep 10 15:13:00.084 [debug] connection_or_send_destroy(): Sending destroy (circID 39366).
Sep 10 15:13:00.084 [debug] connection_or_send_destroy(): Sending destroy (circID 39365).
Sep 10 15:13:00.084 [warn] Rendezvous attempt failed. Closing.

Child Tickets

Change History (11)

comment:1 Changed 9 years ago by arma

Summary: Hidden service race when getting v0 and v2 descriptorsHidden service fails after getting new v2 descriptor

comment:2 Changed 9 years ago by arma

Are the old intro and rend circuits still sitting around, and they haven't been marked as worth giving up on? Maybe we should mark old circuits with this hidden service fingerprint on them as part of rend_client_desc_trynow().

Presumably I had a version of the v2 rendezvous descriptor sitting around from the last time I accessed this hidden service, which looks like it was over 48 hours ago:

Sep 08 01:22:34.389 [info] connection_dir_client_reached_eof(): Received rendezvous descriptor (size 3258, status 200 ("OK"))
Sep 08 01:22:34.390 [debug] rend_cache_store_v2_desc_as_client(): Successfully stored rend desc 'sw4...', len 3258.
Sep 08 01:22:34.390 [info] connection_dir_client_reached_eof(): Successfully fetched v2 rendezvous descriptor.

That doesn't sound like a "Descriptor is here. Great." situation.

comment:3 Changed 9 years ago by arma

Milestone: Tor: post 0.2.2.xTor: 0.2.2.x-final

Assigning to 0.2.2.x-final, but with 'minor' priority meaning it can (and probably will) slip. Karsten, can you take a look at this?

comment:4 Changed 8 years ago by arma

Parent ID: #2552

comment:5 Changed 8 years ago by arma

Component: Tor ClientTor hidden services

comment:6 Changed 8 years ago by rransom

Owner: set to rransom
Status: newassigned

comment:7 Changed 8 years ago by arma

Priority: minormajor

I'm expecting a fix for this will go in (to maint-0.2.2) with #3000 (yay!)

comment:8 Changed 8 years ago by nickm

Status: assignedneeds_review

comment:9 Changed 8 years ago by nickm

Resolution: fixed
Status: needs_reviewclosed

Should be fixed in maint-0.2.2 now.

comment:10 Changed 7 years ago by nickm

Keywords: tor-hs added

comment:11 Changed 7 years ago by nickm

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