Opened 12 years ago

Last modified 7 years ago

#399 closed defect (Fixed)

OP sometimes does not fetch hidden service descriptor

Reported by: karsten Owned by:
Priority: Low Milestone:
Component: Core Tor/Tor Version: 0.1.2.7-alpha
Severity: Keywords:
Cc: karsten Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

When the onion proxy receives a hidden service request from the client and has no up-to-date hidden service descriptor,
it should make a request to the directory. However, this is only done when Tor does not already have a connection to the
directory, yet. So, from time to time, Tor thinks that there is already a connection to the Dir running and aborts the
hidden service descriptor request. But---and here comes the problem---the request is simply dropped and the descriptor
is NOT requested later. Only a subsequent request from the client application leads to another consideration to fetch
the descriptor from the directory (possibly with the same result: dropped).

Should the request be added to some "request queue" and be performed during a periodic maintenance tasks?

I added my log file (with some additional log statements) that shows the affected methods.

1172409375015 Tor Client Feb 25 14:16:15.015 [info] connection_ap_handshake_process_socks(): method invoked: 67
1172409375015 Tor Client Feb 25 14:16:15.015 [info] connection_ap_handshake_process_socks(): method invoked: 67
1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_process_socks(): method invoked: 67
1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_rewrite_and_attach(): event fired: C01
1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_rewrite_and_attach(): method invoked: 45
1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_rewrite_and_attach(): Got a hidden service request for ID 'scxfcfgpypn33tjt'
1172409375031 Tor Client Feb 25 14:16:15.031 [info] rend_cache_lookup_entry(): method invoked: 03
1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_rewrite_and_attach(): Unknown descriptor scxfcfgpypn33tjt. Fetching.
1172409375031 Tor Client Feb 25 14:16:15.031 [info] rend_client_refetch_renddesc(): event fired: C03
1172409375031 Tor Client Feb 25 14:16:15.031 [info] rend_client_refetch_renddesc(): method invoked: 35
1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_get_by_type_state_rendquery(): method invoked: 62
1172409375031 Tor Client Feb 25 14:16:15.031 [info] rend_cmp_service_ids(): Comparing two strings scxfcfgpypn33tjt and with result 1
1172409375046 Tor Client Feb 25 14:16:15.031 [info] connection_get_by_type_state_rendquery(): This method says we already have a connection running: scxfcfgpypn33tjt,
1172409375046 Tor Client Feb 25 14:16:15.031 [info] rend_client_refetch_renddesc(): Would fetch a new renddesc here (for "scxfcfgpypn33tjt"), but one is already in progress.
1172409375046 Tor Client Feb 25 14:16:15.046 [info] connection_edge_process_inbuf(): data from edge while in 'waiting for rendezvous desc' state. Leaving it on buffer.

[Automatically added by flyspray2trac: Operating System: Windows 2k/XP]

Child Tickets

Change History (4)

comment:1 Changed 12 years ago by nickm

Thanks! This was an easy fix once it was clear where the bug was. I've checked in a possible fix as
r9651. Please ket me know whether it works so I can close this bug.

comment:2 Changed 12 years ago by karsten

Great! It works!

I did not try to comprehend the fix and the whole code around. But I performed 10 test runs and they all succeeded. Before, merely 3 out of 10 would succeed. I would say, it's fixed! Thanks!

comment:3 Changed 12 years ago by nickm

flyspray2trac: bug closed.
Fixed in r9651.

comment:4 Changed 7 years ago by nickm

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