summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2005-12-05 04:38:21 +0000
committerNick Mathewson <nickm@torproject.org>2005-12-05 04:38:21 +0000
commit98290e41150f1069aca785b1a219c269314262f7 (patch)
tree755cf7ca72e7d7e2e830f63be4b7e9632065a5c3
parent1bf56b452e5b28020e7acf2f00caa03645b49c52 (diff)
downloadtor-98290e41150f1069aca785b1a219c269314262f7.tar.gz
tor-98290e41150f1069aca785b1a219c269314262f7.zip
When parsing foo.exit, if foo is unknown, and we are leaving circuits unattached, set the chosen_exit field and leave the address empty
svn:r5504
-rw-r--r--src/or/connection_edge.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 9de68abc4d..0c95015191 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -1002,9 +1002,10 @@ connection_ap_handshake_process_socks(connection_t *conn)
}
} else {
struct in_addr in;
- routerinfo_t *r = router_get_by_nickname(socks->address, 1);
+ conn->chosen_exit_name = socks->address;
+ *socks->address = 0;
+ routerinfo_t *r = router_get_by_nickname(conn->chosen_exit_name, 1);
if (r) {
- conn->chosen_exit_name = tor_strdup(socks->address);
/* XXXX Should this use server->address instead? */
in.s_addr = htonl(r->addr);
strlcpy(socks->address, inet_ntoa(in), sizeof(socks->address));