소스 검색

make 'connected' cells include the resolved IP

svn:r1143
Roger Dingledine 21 년 전
부모
커밋
737b2a0bf1
2개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  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 */