]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
fix the same bug in two more locations (thanks to lark for prodding
authorRoger Dingledine <arma@torproject.org>
Sat, 11 Apr 2009 18:19:57 +0000 (18:19 +0000)
committerRoger Dingledine <arma@torproject.org>
Sat, 11 Apr 2009 18:19:57 +0000 (18:19 +0000)
me further)

svn:r19292

src/or/connection_edge.c

index 5ac37c1f4103d5c7c6c7bc108c1be3c7a63c4ca7..4f12d54e8831e04a864feb28022ea2e84c145498 100644 (file)
@@ -2623,8 +2623,8 @@ connection_exit_begin_conn(cell_t *cell, circuit_t *circ)
 
   if (rh.command == RELAY_COMMAND_BEGIN_DIR) {
     tor_assert(or_circ);
-    if (or_circ->p_conn && !tor_addr_is_null(&or_circ->p_conn->_base.addr))
-      tor_addr_assign(&n_stream->_base.addr, &or_circ->p_conn->_base.addr);
+    if (or_circ->p_conn && !tor_addr_is_null(&or_circ->p_conn->real_addr))
+      tor_addr_assign(&n_stream->_base.addr, &or_circ->p_conn->real_addr);
     return connection_exit_connect_dir(n_stream);
   }
 
@@ -2798,7 +2798,7 @@ connection_exit_connect_dir(edge_connection_t *exitconn)
 
   dirconn->_base.addr = exitconn->_base.addr;
   dirconn->_base.port = 0;
-  dirconn->_base.address = tor_strdup(circ->p_conn->_base.address);
+  dirconn->_base.address = tor_strdup(exitconn->address);
   dirconn->_base.type = CONN_TYPE_DIR;
   dirconn->_base.purpose = DIR_PURPOSE_SERVER;
   dirconn->_base.state = DIR_CONN_STATE_SERVER_COMMAND_WAIT;