]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Clarify immutability of global padding machine specs.
authorGeorge Kadianakis <desnacked@riseup.net>
Fri, 11 Jan 2019 10:06:14 +0000 (12:06 +0200)
committerGeorge Kadianakis <desnacked@riseup.net>
Fri, 11 Jan 2019 12:41:28 +0000 (14:41 +0200)
src/core/or/circuit_st.h
src/core/or/circuitpadding.c

index 47639940d40c5da8226d757cff3fe11b7e19205a..29bcaa098f9e049d1713a77f3f80bc09b9bc9499 100644 (file)
@@ -185,7 +185,9 @@ struct circuit_t {
 
   /** Adaptive Padding state machines: these are immutable. The state machines
    *  that come from the consensus are saved to a global structure, to avoid
-   *  per-circuit allocations. This merely points to the global copy.
+   *  per-circuit allocations. This merely points to the global copy in
+   *  origin_padding_machines or relay_padding_machines that should never
+   *  change or get deallocated.
    *
    *  Each element of this array corresponds to a different padding machine,
    *  and we can have up to CIRCPAD_MAX_MACHINES such machines. */
index 36fcbb503004ea3ca5c2fd1f982fafeaf45acc86..0dadc52139a01a50481a2ed9fd123e90978a8621 100644 (file)
@@ -87,11 +87,19 @@ static uint64_t circpad_global_padding_sent;
 static uint64_t circpad_global_nonpadding_sent;
 
 /** This is the list of circpad_machine_spec_t's parsed from consensus and
- *  torrc that have origin_side == 1 (ie: are for client side) */
+ *  torrc that have origin_side == 1 (ie: are for client side).
+ *
+ *  The machines in this smartlist are considered immutable and they are used
+ *  as-is by circuits so they should not change or get deallocated in Tor's
+ *  runtime and as long as circuits are alive. */
 STATIC smartlist_t *origin_padding_machines = NULL;
 
 /** This is the list of circpad_machine_spec_t's parsed from consensus and
- *  torrc that have origin_side == 0 (ie: are for relay side) */
+ *  torrc that have origin_side == 0 (ie: are for relay side).
+ *
+ *  The machines in this smartlist are considered immutable and they are used
+ *  as-is by circuits so they should not change or get deallocated in Tor's
+ *  runtime and as long as circuits are alive. */
 STATIC smartlist_t *relay_padding_machines = NULL;
 
 /** Loop over the current padding state machines using <b>loop_var</b> as the