[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