Browse Source

fix assert found by DreadWingKnight: now that rendezvous streams
are attached to p_streams, the p_streams list can consist of both AP
and EXIT conns.


svn:r6945

Roger Dingledine 18 years ago
parent
commit
798b580695
2 changed files with 4 additions and 1 deletions
  1. 2 0
      src/or/circuitlist.c
  2. 2 1
      src/or/or.h

+ 2 - 0
src/or/circuitlist.c

@@ -1013,9 +1013,11 @@ assert_circuit_ok(const circuit_t *c)
       tor_assert(c == circuit_get_by_circid_orconn(or_circ->p_circ_id,
                                                    or_circ->p_conn));
   }
+#if 0 /* false now that rendezvous exits are attached to p_streams */
   if (origin_circ)
     for (conn = origin_circ->p_streams; conn; conn = conn->next_stream)
       tor_assert(conn->_base.type == CONN_TYPE_AP);
+#endif
   if (or_circ)
     for (conn = or_circ->n_streams; conn; conn = conn->next_stream)
       tor_assert(conn->_base.type == CONN_TYPE_EXIT);

+ 2 - 1
src/or/or.h

@@ -1198,7 +1198,8 @@ typedef struct circuit_t {
 typedef struct origin_circuit_t {
   circuit_t _base;
 
-  /** Linked list of AP streams associated with this circuit. */
+  /** Linked list of AP streams (or EXIT streams if hidden service)
+   * associated with this circuit. */
   edge_connection_t *p_streams;
   /** Build state for this circuit. It includes the intended path
    * length, the chosen exit router, rendezvous information, etc.