stop asserting at boot

The patch for 3228 made us try to run init_keys() before we had loaded
our state file, resulting in an assert inside init_keys. We had moved
it too early in the function.

Now it's later in the function, but still above the accounting calls.
This commit is contained in:
Roger Dingledine 2011-05-30 23:50:37 -04:00
parent e035cea031
commit 56771f392e

View File

@ -1180,18 +1180,6 @@ options_act(or_options_t *old_options)
return -1;
}
/* We want to reinit keys as needed before we do much of anything else:
keys are important, and other things can depend on them. */
if (running_tor &&
(transition_affects_workers ||
(options->V3AuthoritativeDir && (!old_options ||
!old_options->V3AuthoritativeDir)))) {
if (init_keys() < 0) {
log_warn(LD_BUG,"Error initializing keys; exiting");
return -1;
}
}
if (consider_adding_dir_authorities(options, old_options) < 0)
return -1;
@ -1237,6 +1225,17 @@ options_act(or_options_t *old_options)
finish_daemon(options->DataDirectory);
}
/* We want to reinit keys as needed before we do much of anything else:
keys are important, and other things can depend on them. */
if (transition_affects_workers ||
(options->V3AuthoritativeDir && (!old_options ||
!old_options->V3AuthoritativeDir))) {
if (init_keys() < 0) {
log_warn(LD_BUG,"Error initializing keys; exiting");
return -1;
}
}
/* Write our PID to the PID file. If we do not have write permissions we
* will log a warning */
if (options->PidFile)