]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Merge remote-tracking branch 'public/bug9841_024_v2' into bug9841_025
authorNick Mathewson <nickm@torproject.org>
Thu, 13 Feb 2014 19:49:15 +0000 (14:49 -0500)
committerNick Mathewson <nickm@torproject.org>
Thu, 13 Feb 2014 19:49:15 +0000 (14:49 -0500)
Conflicts:
src/or/circuitlist.c

1  2 
src/or/circuitlist.c
src/or/circuitlist.h
src/or/or.h

index 94748963677c917d878d8b8d7dd15a0f8cac2ea7,8ab673c965bc01e20f3950456e0d1971a3c36077..04cfcbf0c083c3dad4382f7dde4bd13c2805a077
@@@ -43,8 -42,13 +44,11 @@@ struct global_circuitlist_s global_circ
  /** A list of all the circuits in CIRCUIT_STATE_CHAN_WAIT. */
  static smartlist_t *circuits_pending_chans = NULL;
  
 -static void circuit_free(circuit_t *circ);
 -static void circuit_free_cpath(crypt_path_t *cpath);
  static void circuit_free_cpath_node(crypt_path_t *victim);
  static void cpath_ref_decref(crypt_path_reference_t *cpath_ref);
+ //static void circuit_set_rend_token(or_circuit_t *circ, int is_rend_circ,
+ //                                   const uint8_t *token);
+ static void circuit_clear_rend_token(or_circuit_t *circ);
  
  /********* END VARIABLES ************/
  
Simple merge
diff --cc src/or/or.h
index cc4e5ed9d86104b1f8fd37355c70c30aa7f9cef4,510b8eaa5db70128c8c9916d8587eaca95c174a8..7c44c7dd8650a8b6f70a51a022ceba9a98c66525
@@@ -3209,14 -3173,27 +3197,33 @@@ typedef struct or_circuit_t 
     * exit-ward queues of this circuit; reset every time when writing
     * buffer stats to disk. */
    uint64_t total_cell_waiting_time;
 +
 +  /** Maximum cell queue size for a middle relay; this is stored per circuit
 +   * so append_cell_to_circuit_queue() can adjust it if it changes.  If set
 +   * to zero, it is initialized to the default value.
 +   */
 +  uint32_t max_middle_cells;
  } or_circuit_t;
  
+ typedef struct or_circuit_rendinfo_s {
+ #if REND_COOKIE_LEN != DIGEST_LEN
+ #error "The REND_TOKEN_LEN macro assumes REND_COOKIE_LEN == DIGEST_LEN"
+ #endif
+ #define REND_TOKEN_LEN DIGEST_LEN
+   /** A hash of location-hidden service's PK if purpose is INTRO_POINT, or a
+    * rendezvous cookie if purpose is REND_POINT_WAITING. Filled with zeroes
+    * otherwise.
+    */
+   char rend_token[REND_TOKEN_LEN];
+   /** True if this is a rendezvous point circuit; false if this is an
+    * introduction point. */
+   unsigned is_rend_circ;
+ } or_circuit_rendinfo_t;
  /** Convert a circuit subtype to a circuit_t. */
  #define TO_CIRCUIT(x)  (&((x)->base_))