mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Merge remote-tracking branch 'asn/bug19555'
This commit is contained in:
commit
e11cc95717
@ -1293,7 +1293,6 @@ sr_get_string_for_consensus(const smartlist_t *votes,
|
|||||||
void
|
void
|
||||||
sr_act_post_consensus(const networkstatus_t *consensus)
|
sr_act_post_consensus(const networkstatus_t *consensus)
|
||||||
{
|
{
|
||||||
time_t interval_starts;
|
|
||||||
const or_options_t *options = get_options();
|
const or_options_t *options = get_options();
|
||||||
|
|
||||||
/* Don't act if our state hasn't been initialized. We can be called during
|
/* Don't act if our state hasn't been initialized. We can be called during
|
||||||
@ -1323,10 +1322,14 @@ sr_act_post_consensus(const networkstatus_t *consensus)
|
|||||||
sr_state_set_current_srv(srv_dup(consensus->sr_info.current_srv));
|
sr_state_set_current_srv(srv_dup(consensus->sr_info.current_srv));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update our internal state with the next voting interval starting time. */
|
/* Prepare our state so that it's ready for the next voting period. */
|
||||||
interval_starts = get_voting_schedule(options, time(NULL),
|
{
|
||||||
LOG_NOTICE)->interval_starts;
|
voting_schedule_t *voting_schedule =
|
||||||
sr_state_update(interval_starts);
|
get_voting_schedule(options,time(NULL), LOG_NOTICE);
|
||||||
|
time_t interval_starts = voting_schedule->interval_starts;
|
||||||
|
sr_state_update(interval_starts);
|
||||||
|
tor_free(voting_schedule);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize shared random subsystem. This MUST be called early in the boot
|
/* Initialize shared random subsystem. This MUST be called early in the boot
|
||||||
|
@ -597,10 +597,16 @@ disk_state_put_srv_line(const sr_srv_t *srv, config_line_t *line)
|
|||||||
static void
|
static void
|
||||||
disk_state_reset(void)
|
disk_state_reset(void)
|
||||||
{
|
{
|
||||||
|
/* Free allocated memory */
|
||||||
config_free_lines(sr_disk_state->Commit);
|
config_free_lines(sr_disk_state->Commit);
|
||||||
config_free_lines(sr_disk_state->SharedRandValues);
|
config_free_lines(sr_disk_state->SharedRandValues);
|
||||||
config_free_lines(sr_disk_state->ExtraLines);
|
config_free_lines(sr_disk_state->ExtraLines);
|
||||||
|
tor_free(sr_disk_state->TorVersion);
|
||||||
|
|
||||||
|
/* Clean up the struct */
|
||||||
memset(sr_disk_state, 0, sizeof(*sr_disk_state));
|
memset(sr_disk_state, 0, sizeof(*sr_disk_state));
|
||||||
|
|
||||||
|
/* Reset it with useful data */
|
||||||
sr_disk_state->magic_ = SR_DISK_STATE_MAGIC;
|
sr_disk_state->magic_ = SR_DISK_STATE_MAGIC;
|
||||||
sr_disk_state->TorVersion = tor_strdup(get_version());
|
sr_disk_state->TorVersion = tor_strdup(get_version());
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user