Sfoglia il codice sorgente

Fix: call circuit_has_opened() for rendezvous circuit

In circuit_get_open_circ_or_launch(), for a rendezvous circuit,
rend_client_rendcirc_has_opened() but circuit_has_opened() is preferred here
since it will call the right function for a specific circuit purpose.

Furthermore, a controller event is triggered where the former did not.

Signed-off-by: David Goulet <dgoulet@ev0ke.net>
David Goulet 9 anni fa
parent
commit
3d83907ab1
2 ha cambiato i file con 7 aggiunte e 1 eliminazioni
  1. 6 0
      changes/bug13936
  2. 1 1
      src/or/circuituse.c

+ 6 - 0
changes/bug13936

@@ -0,0 +1,6 @@
+  o Minor bugfixes:
+    - Use circuit_has_opened() instead of rend_client_rendcirc_has_opened()
+      when a rendezvous circuit is opened because circuit_has_opened() jobs
+      is to call a specialized function depending on the circuit purpose.
+      Furthermore, a controller event will be triggered here where the
+      former did not.

+ 1 - 1
src/or/circuituse.c

@@ -2016,7 +2016,7 @@ circuit_get_open_circ_or_launch(entry_connection_t *conn,
         circ->rend_data = rend_data_dup(ENTRY_TO_EDGE_CONN(conn)->rend_data);
         if (circ->base_.purpose == CIRCUIT_PURPOSE_C_ESTABLISH_REND &&
             circ->base_.state == CIRCUIT_STATE_OPEN)
-          rend_client_rendcirc_has_opened(circ);
+          circuit_has_opened(circ);
       }
     }
   } /* endif (!circ) */