-----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-----