From e6964ed7e69bf81fe189402310c86c917d14fdd7 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 9 Apr 2004 17:51:57 +0000 Subject: set rend exit connection state _before_ calling rend_service_set_connection_addr_port and maybe eventually assert_connection_ok. This solves the other half of the bug weasel found. svn:r1579 --- src/or/connection_edge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index f99da535c..e0cd9c85d 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -1134,13 +1134,13 @@ 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)"); + n_stream->state = EXIT_CONN_STATE_CONNECTING; 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 */); return 0; } - n_stream->state = EXIT_CONN_STATE_CONNECTING; n_stream->cpath_layer = circ->cpath->prev; /* link it */ connection_exit_connect(n_stream); return 0; -- cgit v1.2.3