diff options
author | Roger Dingledine <arma@torproject.org> | 2005-07-14 08:45:19 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2005-07-14 08:45:19 +0000 |
commit | 4a6bf116e7d2b69770aab5d4488cd61feeda6ba7 (patch) | |
tree | e30467bf8278c86e594f5e705736bff091d0c458 | |
parent | 2259032ea1f19966a6ea37f7b55f529dac8f61e4 (diff) | |
download | tor-4a6bf116e7d2b69770aab5d4488cd61feeda6ba7.tar tor-4a6bf116e7d2b69770aab5d4488cd61feeda6ba7.tar.gz |
substantive changes on nick's rendezvous commit.
nick, can you fix these?
svn:r4554
-rw-r--r-- | src/or/rendservice.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c index 6169b160f..a5c43ed2c 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -483,7 +483,7 @@ rend_service_introduce(circuit_t *circuit, const char *request, size_t request_l rp_nickname = buf; version = 0; } - /* XXX when 0.1.0.x is obsolete, change this to reject version != 2. */ + /* XXX when 0.1.0.x is obsolete, change this to reject version < 2. */ ptr=memchr(rp_nickname,0,nickname_field_len); if (!ptr || ptr == rp_nickname) { log_fn(LOG_WARN, "Couldn't find a null-padded nickname in INTRODUCE2 cell"); @@ -593,6 +593,7 @@ rend_service_relaunch_rendezvous(circuit_t *oldcirc) oldcirc->build_state->expiry_time < time(NULL)) { log_fn(LOG_INFO,"Attempt to build circuit to %s for rendezvous has failed too many times or expired; giving up.", oldcirc->build_state->chosen_exit->nickname); + /* XXX bug: if the first clause of the if triggers, we'll seg fault. */ return; } @@ -830,6 +831,7 @@ find_intro_circuit(routerinfo_t *router, const char *pk_digest) while ((circ = circuit_get_next_by_pk_and_purpose(circ,pk_digest, CIRCUIT_PURPOSE_S_INTRO))) { tor_assert(circ->cpath); + /* XXX this is a bug. ->nickname will always be there. */ if (circ->build_state->chosen_exit->nickname && !strcasecmp(circ->build_state->chosen_exit->nickname, router->nickname)) { return circ; @@ -840,6 +842,7 @@ find_intro_circuit(routerinfo_t *router, const char *pk_digest) while ((circ = circuit_get_next_by_pk_and_purpose(circ,pk_digest, CIRCUIT_PURPOSE_S_ESTABLISH_INTRO))) { tor_assert(circ->cpath); + /* XXX this is a bug. ->nickname will always be there. */ if (circ->build_state->chosen_exit->nickname && !strcasecmp(circ->build_state->chosen_exit->nickname, router->nickname)) { return circ; |