aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug187045
-rw-r--r--src/or/rendclient.c12
2 files changed, 11 insertions, 6 deletions
diff --git a/changes/bug18704 b/changes/bug18704
new file mode 100644
index 0000000000..966cc2a5f3
--- /dev/null
+++ b/changes/bug18704
@@ -0,0 +1,5 @@
+ o Major bugfixes (hidden service client)
+ - With FetchHidServDescriptors set to 0, there is no descriptor fetch
+ (which is intended) but also no descriptor cache lookup was done
+ making any Tor client not working with this option unset. Resolves
+ ticket #18704. Patch by "twim"; Bugfix on tor-0.2.0.20-rc.
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 7e92dce6d4..64d367354b 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -895,12 +895,6 @@ rend_client_refetch_v2_renddesc(rend_data_t *rend_query)
rend_cache_entry_t *e = NULL;
tor_assert(rend_query);
- /* Are we configured to fetch descriptors? */
- if (!get_options()->FetchHidServDescriptors) {
- log_warn(LD_REND, "We received an onion address for a v2 rendezvous "
- "service descriptor, but are not fetching service descriptors.");
- return;
- }
/* Before fetching, check if we already have a usable descriptor here. */
if (rend_cache_lookup_entry(rend_query->onion_address, -1, &e) == 0 &&
rend_client_any_intro_points_usable(e)) {
@@ -908,6 +902,12 @@ rend_client_refetch_v2_renddesc(rend_data_t *rend_query)
"already have a usable descriptor here. Not fetching.");
return;
}
+ /* Are we configured to fetch descriptors? */
+ if (!get_options()->FetchHidServDescriptors) {
+ log_warn(LD_REND, "We received an onion address for a v2 rendezvous "
+ "service descriptor, but are not fetching service descriptors.");
+ return;
+ }
log_debug(LD_REND, "Fetching v2 rendezvous descriptor for service %s",
safe_str_client(rend_query->onion_address));