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
         X Abandoned
 
 
 Bugs:
 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
           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.
         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.
           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.
         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. */
       /* deliver a 'connected' relay cell back through the circuit. */
       *(uint32_t*)connected_payload = htonl(conn->addr);
       *(uint32_t*)connected_payload = htonl(conn->addr);
       if(connection_edge_send_command(conn, circuit_get_by_conn(conn),
       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 */
         return 0; /* circuit is closed, don't continue */
       assert(conn->package_window > 0);
       assert(conn->package_window > 0);
       return connection_edge_process_inbuf(conn); /* in case the server has written anything */
       return connection_edge_process_inbuf(conn); /* in case the server has written anything */