Initialize circuit padding machines and global state.

Co-authored-by: George Kadianakis <desnacked@riseup.net>
This commit is contained in:
Mike Perry 2018-10-23 20:52:43 +00:00 committed by George Kadianakis
parent 2f7b5a2d44
commit 70e9245f6f
2 changed files with 10 additions and 2 deletions

View File

@ -22,6 +22,7 @@
#include "core/mainloop/netstatus.h" #include "core/mainloop/netstatus.h"
#include "core/or/channel.h" #include "core/or/channel.h"
#include "core/or/channelpadding.h" #include "core/or/channelpadding.h"
#include "core/or/circuitpadding.h"
#include "core/or/channeltls.h" #include "core/or/channeltls.h"
#include "core/or/circuitlist.h" #include "core/or/circuitlist.h"
#include "core/or/circuitmux_ewma.h" #include "core/or/circuitmux_ewma.h"
@ -645,9 +646,13 @@ tor_init(int argc, char *argv[])
/* The options are now initialised */ /* The options are now initialised */
const or_options_t *options = get_options(); const or_options_t *options = get_options();
/* Initialize channelpadding parameters to defaults until we get /* Initialize channelpadding and circpad parameters to defaults
* a consensus */ * until we get a consensus */
channelpadding_new_consensus_params(NULL); channelpadding_new_consensus_params(NULL);
circpad_new_consensus_params(NULL);
/* Initialize circuit padding to defaults+torrc until we get a consensus */
circpad_machines_init();
/* Initialize predicted ports list after loading options */ /* Initialize predicted ports list after loading options */
predicted_ports_init(); predicted_ports_init();
@ -766,6 +771,7 @@ tor_free_all(int postfork)
dns_free_all(); dns_free_all();
clear_pending_onions(); clear_pending_onions();
circuit_free_all(); circuit_free_all();
circpad_machines_free();
entry_guards_free_all(); entry_guards_free_all();
pt_free_all(); pt_free_all();
channel_tls_free_all(); channel_tls_free_all();

View File

@ -44,6 +44,7 @@
#include "core/mainloop/netstatus.h" #include "core/mainloop/netstatus.h"
#include "core/or/channel.h" #include "core/or/channel.h"
#include "core/or/channelpadding.h" #include "core/or/channelpadding.h"
#include "core/or/circuitpadding.h"
#include "core/or/circuitmux.h" #include "core/or/circuitmux.h"
#include "core/or/circuitmux_ewma.h" #include "core/or/circuitmux_ewma.h"
#include "core/or/circuitstats.h" #include "core/or/circuitstats.h"
@ -2103,6 +2104,7 @@ networkstatus_set_current_consensus(const char *consensus,
circuit_build_times_new_consensus_params( circuit_build_times_new_consensus_params(
get_circuit_build_times_mutable(), c); get_circuit_build_times_mutable(), c);
channelpadding_new_consensus_params(c); channelpadding_new_consensus_params(c);
circpad_new_consensus_params(c);
} }
/* Reset the failure count only if this consensus is actually valid. */ /* Reset the failure count only if this consensus is actually valid. */