Browse Source

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
Nick Mathewson 20 years ago
parent
commit
98290e4115
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/or/connection_edge.c

+ 3 - 2
src/or/connection_edge.c

@@ -1002,9 +1002,10 @@ connection_ap_handshake_process_socks(connection_t *conn)
       }
       }
     } else {
     } else {
       struct in_addr in;
       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) {
       if (r) {
-        conn->chosen_exit_name = tor_strdup(socks->address);
         /* XXXX Should this use server->address instead? */
         /* XXXX Should this use server->address instead? */
         in.s_addr = htonl(r->addr);
         in.s_addr = htonl(r->addr);
         strlcpy(socks->address, inet_ntoa(in), sizeof(socks->address));
         strlcpy(socks->address, inet_ntoa(in), sizeof(socks->address));