Browse Source

make rendezvous points work again
(yay. now time to mess them up again.)


svn:r1619

Roger Dingledine 21 years ago
parent
commit
cda782bac0
2 changed files with 4 additions and 3 deletions
  1. 1 1
      src/or/connection_edge.c
  2. 3 2
      src/or/rendclient.c

+ 1 - 1
src/or/connection_edge.c

@@ -905,7 +905,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) {
 
     if(retval > 0) {
       /* one is already established, attach */
-      log_fn(LOG_INFO,"rend joined circ already here. reusing.");
+      log_fn(LOG_INFO,"rend joined circ already here. attaching.");
       link_apconn_to_circ(conn, rendcirc);
       if(connection_ap_handshake_send_begin(conn, rendcirc) < 0)
         return 0; /* already marked, let them fade away */

+ 3 - 2
src/or/rendclient.c

@@ -263,8 +263,9 @@ rend_client_receive_rendezvous(circuit_t *circ, const char *request, int request
   crypt_path_t *hop;
   char keys[DIGEST_LEN+CPATH_KEY_MATERIAL_LEN];
 
-  if(circ->purpose != CIRCUIT_PURPOSE_C_REND_READY ||
-     !circ->build_state->pending_final_cpath) {
+  if( (circ->purpose != CIRCUIT_PURPOSE_C_REND_READY &&
+       circ->purpose != CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED)
+      || !circ->build_state->pending_final_cpath) {
     log_fn(LOG_WARN,"Got rendezvous2 cell from Bob, but not expecting it. Closing.");
     circuit_mark_for_close(circ);
     return -1;