[tor-commits] [tor/master] Merge remote-tracking branch 'public/bug9841_024_v2' into bug9841_025

nickm at torproject.org nickm at torproject.org
Tue Apr 8 16:07:49 UTC 2014


commit ecf61e924d5807420aaeee8620dc83f3b952d77f
Merge: 745434d 8b9a2cb
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Feb 13 14:49:15 2014 -0500

    Merge remote-tracking branch 'public/bug9841_024_v2' into bug9841_025
    
    Conflicts:
    	src/or/circuitlist.c

 changes/bug9841      |    7 +++
 src/or/circuitlist.c |  148 +++++++++++++++++++++++++++++++++++++++++++++-----
 src/or/circuitlist.h |    2 +
 src/or/or.h          |   33 ++++++-----
 src/or/rendmid.c     |    6 +-
 5 files changed, 165 insertions(+), 31 deletions(-)

diff --cc src/or/circuitlist.c
index 9474896,8ab673c..04cfcbf
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@@ -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 ************/
  
diff --cc src/or/or.h
index cc4e5ed,510b8ea..7c44c7d
--- a/src/or/or.h
+++ b/src/or/or.h
@@@ -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_))
  





More information about the tor-commits mailing list