diff options
author | Nick Mathewson <nickm@torproject.org> | 2005-10-04 22:23:31 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2005-10-04 22:23:31 +0000 |
commit | 61ea5168859785207062ca22be403bbac32f49e3 (patch) | |
tree | 166d3b8fc6374a5d7c8bb2b5de2d4376dd1d51cc /src/or/rendservice.c | |
parent | 2d203fdcf319b45477bdcad7e3476ac3c45ee7e0 (diff) | |
download | tor-61ea5168859785207062ca22be403bbac32f49e3.tar.gz tor-61ea5168859785207062ca22be403bbac32f49e3.zip |
Check for named servers when looking them up by nickname;
warn when we'recalling a non-named server by its nickname;
don't warn twice about the same name.
Fix a bug in routers_update_status_from_networkstatus that made nearly
all clients never update routerinfo_t.is_named.
Try to list MyFamily elements by key, not by nickname.
Only warn about names that we generated ourself, or got from the local
user.
On TLS handshake, only check the other router's nickname against its
expected nickname if is_named is set.
svn:r5185
Diffstat (limited to 'src/or/rendservice.c')
-rw-r--r-- | src/or/rendservice.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c index e101e9a7b2..b33776bf8c 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -292,7 +292,7 @@ rend_service_update_descriptor(rend_service_t *service) d->intro_point_extend_info = tor_malloc_zero(sizeof(extend_info_t*)*n); d->protocols = (1<<2) | (1<<0); /* We support protocol 2 and protocol 0. */ for (i=0; i < n; ++i) { - router = router_get_by_nickname(smartlist_get(service->intro_nodes, i)); + router = router_get_by_nickname(smartlist_get(service->intro_nodes, i),1); if (!router) { log_fn(LOG_INFO,"Router '%s' not found. Skipping.", (char*)smartlist_get(service->intro_nodes, i)); @@ -512,7 +512,7 @@ rend_service_introduce(circuit_t *circuit, const char *request, size_t request_l ptr = rp_nickname+nickname_field_len; len -= nickname_field_len; len -= rp_nickname - buf; /* also remove header space used by version, if any */ - router = router_get_by_nickname(rp_nickname); + router = router_get_by_nickname(rp_nickname, 0); if (!router) { log_fn(LOG_INFO, "Couldn't find router '%s' named in rendezvous cell.", rp_nickname); @@ -934,7 +934,7 @@ rend_services_introduce(void) /* Find out which introduction points we have in progress for this service. */ for (j=0; j < smartlist_len(service->intro_nodes); ++j) { intro = smartlist_get(service->intro_nodes, j); - router = router_get_by_nickname(intro); + router = router_get_by_nickname(intro, 1); if (!router || !find_intro_circuit(router,service->pk_digest)) { log_fn(LOG_INFO,"Giving up on %s as intro point for %s.", intro, service->service_id); @@ -1052,7 +1052,7 @@ rend_service_dump_stats(int severity) log(severity, "Service configured in \"%s\":", service->directory); for (j=0; j < smartlist_len(service->intro_nodes); ++j) { nickname = smartlist_get(service->intro_nodes, j); - router = router_get_by_nickname(smartlist_get(service->intro_nodes,j)); + router = router_get_by_nickname(smartlist_get(service->intro_nodes,j),1); if (!router) { log(severity, " Intro point at %s: unrecognized router",nickname); continue; |