summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Hogan <robert@roberthogan.net>2010-10-17 12:27:57 +0100
committerRobert Hogan <robert@roberthogan.net>2010-10-17 12:27:57 +0100
commit0acd5e6208bfeec2fbbef3941bbe4cd694cd61f8 (patch)
treed486779674f08ccd6f581624aa1c7ce90a0e4fe8
parent2d8f7a8391014a07fc7d45f169cf2f719d819d61 (diff)
downloadtor-0acd5e6208bfeec2fbbef3941bbe4cd694cd61f8.tar.gz
tor-0acd5e6208bfeec2fbbef3941bbe4cd694cd61f8.zip
Issues with router_get_by_nickname()
https://trac.torproject.org/projects/tor/ticket/1859 Use router_get_by_digest() instead of router_get_by_hexdigest() in circuit_discard_optional_exit_enclaves() and rend_client_get_random_intro(), per Nick's comments. Using router_get_by_digest() in rend_client_get_random_intro() will break hidden services published by Tor versions pre 0.1.2.18 and 0.2.07-alpha as they only publish by nickname. This is acceptable however as these versions only publish to authority tor26 and don't work for versions in the 0.2.2.x series anyway.
-rw-r--r--src/or/connection_edge.c2
-rw-r--r--src/or/rendclient.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 15b0610d53..ab2c9087ad 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -600,7 +600,7 @@ circuit_discard_optional_exit_enclaves(extend_info_t *info)
!edge_conn->chosen_exit_retries)
continue;
r1 = router_get_by_nickname(edge_conn->chosen_exit_name, 0);
- r2 = router_get_by_hexdigest(info->identity_digest);
+ r2 = router_get_by_digest(info->identity_digest);
if (!r1 || !r2 || r1 != r2)
continue;
tor_assert(edge_conn->socks_request);
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 6ff7f18966..cc1c2733a8 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -755,7 +755,7 @@ rend_client_get_random_intro(const rend_data_t *rend_query)
intro = smartlist_get(entry->parsed->intro_nodes, i);
/* Do we need to look up the router or is the extend info complete? */
if (!intro->extend_info->onion_key) {
- router = router_get_by_hexdigest(intro->extend_info->identity_digest);
+ router = router_get_by_digest(intro->extend_info->identity_digest);
if (!router) {
log_info(LD_REND, "Unknown router with nickname '%s'; trying another.",
intro->extend_info->nickname);