[tor-dev] Question about HS code

Michael Rogers michael at briarproject.org
Tue May 27 13:25:09 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi,

I've been trying to get to grips with the hidden service code, and I
have a question that I was hoping someone on the list could answer.

The constant REND_HID_SERV_DIR_REQUERY_PERIOD is defined as 15 * 60
(15 minutes) in rendclient.c, with the comment "The period for which a
hidden service directory cannot be queried for the same descriptor ID
again." As far as I can tell, the purpose of this constant is to
prevent a client from repeatedly asking an HS directory for a
descriptor that the directory doesn't have.

However, when a descriptor fetch fails and there's no reusable cached
descriptor, rend_client_desc_trynow(query) calls
rend_client_note_connection_attempt_ended(onion_address), which calls
purge_hid_serv_from_last_hid_serv_requests(onion_address), which (as
far as I can tell) forgets which HS directories have been tried for
the descriptor, allowing the same directories to be tried again before
REND_HID_SERV_DIR_REQUERY_PERIOD elapses.

So what's the effect of REND_HID_SERV_DIR_REQUERY_PERIOD?

Thanks for any guidance,
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBCAAGBQJThJI1AAoJEBEET9GfxSfMHxwH/3DH2ZpWsmjfu8wX/Zaw2m1T
5NBYhrzpQqJ5C3doVd5cSsCuZINQOG/kHFda3HAf4a0UwANkGZQzSKiB78IXL/VG
yEVts1ZpDEF3rtGgnQMBnFQ9JChNzYRuJ5uT+EFJBjW9fgWVuh+8KugNev9wLiR8
V8ayDaekZxUaT11+qEqS974IRI1wWVIzUvGFylMsCsuf/NAKkUalXscOOT3ckKUN
g2b1M5f38uzpFqdvRtTIgL/p0dS3JtrrGcuYnwD2+THzeAQpIHGuFPxnbjoauCBd
HwyGCo0v3UKr4e00YSKlhJBAZjB2Y41jwi5vasp7IefFvsuVOXfcc8b4BP5Syyk=
=d/B4
-----END PGP SIGNATURE-----


More information about the tor-dev mailing list