Browse Source

make 'connected' cells include the resolved IP

svn:r1143
Roger Dingledine 21 years ago
parent
commit
737b2a0bf1
2 changed files with 5 additions and 3 deletions
  1. 4 2
      doc/TODO
  2. 1 1
      src/or/connection_edge.c

+ 4 - 2
doc/TODO

@@ -12,9 +12,11 @@ ARMA    - arma claims
         X Abandoned
 
 Bugs:
-        - client-side dns cache doesn't appear to be getting populated
+        - should maybe make clients exit(1) when bad things happen?
+          e.g. clock skew.
+        o client-side dns cache doesn't appear to be getting populated
           by 'connected' cells. In fact, the 'connected' cells don't even
-          include the IP. Oops.
+          include the IP.
         o When it can't resolve any dirservers, it is useless from then on.
           We should make it reload the RouterFile if it has no dirservers.
         o Sometimes it picks a middleman node as the exit for a circuit.

+ 1 - 1
src/or/connection_edge.c

@@ -426,7 +426,7 @@ int connection_edge_finished_flushing(connection_t *conn) {
       /* deliver a 'connected' relay cell back through the circuit. */
       *(uint32_t*)connected_payload = htonl(conn->addr);
       if(connection_edge_send_command(conn, circuit_get_by_conn(conn),
-         RELAY_COMMAND_CONNECTED, NULL, 0, NULL) < 0)
+         RELAY_COMMAND_CONNECTED, connected_payload, 4, NULL) < 0)
         return 0; /* circuit is closed, don't continue */
       assert(conn->package_window > 0);
       return connection_edge_process_inbuf(conn); /* in case the server has written anything */