aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2004-04-08 02:10:43 +0000
committerNick Mathewson <nickm@torproject.org>2004-04-08 02:10:43 +0000
commit46c82e7dbe462fd799d8a4c0e4232d510809fa6c (patch)
tree00996bf87c181b20292c61bf909c9a38595d025a
parent190e59772a53fe9387a0055664648ddd9182948e (diff)
downloadtor-46c82e7dbe462fd799d8a4c0e4232d510809fa6c.tar
tor-46c82e7dbe462fd799d8a4c0e4232d510809fa6c.tar.gz
Set rend_query on exiting streams
svn:r1551
-rw-r--r--src/or/connection_edge.c2
-rw-r--r--src/or/rendservice.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index a9cbafa87..2f3864610 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -1136,7 +1136,7 @@ static int connection_exit_begin_conn(cell_t *cell, circuit_t *circ) {
if(circ->purpose == CIRCUIT_PURPOSE_S_REND_JOINED) {
n_stream->address = tor_strdup("(rendezvous)");
- strcpy(n_stream->rend_query, "yes"); /* XXX kludge */
+ strcpy(n_stream->rend_query, circ->rend_query);
if(rend_service_set_connection_addr_port(n_stream, circ) < 0) {
log_fn(LOG_WARN,"Didn't find rendezvous service (port %d)",n_stream->port);
connection_mark_for_close(n_stream,0 /* XXX */);
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index cee83efd0..234c35571 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -425,6 +425,7 @@ rend_service_introduce(circuit_t *circuit, const char *request, int request_len)
memcpy(launched->rend_pk_digest, circuit->rend_pk_digest,
DIGEST_LEN);
memcpy(launched->rend_cookie, r_cookie, REND_COOKIE_LEN);
+ strcpy(launched->rend_query, service->service_id);
launched->build_state->pending_final_cpath = cpath =
tor_malloc_zero(sizeof(crypt_path_t));
@@ -461,6 +462,7 @@ rend_service_launch_establish_intro(rend_service_t *service, char *nickname)
nickname);
return -1;
}
+ strcpy(launched->rend_query, service->service_id);
memcpy(launched->rend_pk_digest, service->pk_digest, DIGEST_LEN);
return 0;