]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Use the literal parse of an address in dns_resolve_impl if parsing the address as...
authorNick Mathewson <nickm@torproject.org>
Wed, 24 Dec 2008 02:38:07 +0000 (02:38 +0000)
committerNick Mathewson <nickm@torproject.org>
Wed, 24 Dec 2008 02:38:07 +0000 (02:38 +0000)
svn:r17758

src/or/connection_edge.c
src/or/dns.c

index 9b192b5565c3534d3515aaf5b037f34f0cfa7b35..e50f838a982a55436f1e8e038b6916bde80d857f 100644 (file)
@@ -2611,7 +2611,7 @@ 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))
-      n_stream->_base.addr = or_circ->p_conn->_base.addr;
+      tor_addr_assign(&n_stream->_base.addr, &or_circ->p_conn->_base.addr);
     return connection_exit_connect_dir(n_stream);
   }
 
index 26cd02d543598f5c5c12d2572c076aa567b3ec83..fe77a76d7b3cc74c41548fb65982e00adcf2c378 100644 (file)
@@ -616,7 +616,7 @@ dns_resolve_impl(edge_connection_t *exitconn, int is_resolve,
 
   /* first check if exitconn->_base.address is an IP. If so, we already
    * know the answer. */
-  if (tor_addr_from_str(&addr, exitconn->_base.address)<0) {
+  if (tor_addr_from_str(&addr, exitconn->_base.address) >= 0) {
     tor_addr_assign(&exitconn->_base.addr, &addr);
     exitconn->address_ttl = DEFAULT_DNS_TTL;
     return 1;