const time_t now = time(NULL);
directory_info_has_arrived(now, 1, 0);
- if (server_mode(get_options()) || dir_server_mode(get_options())) {
- /* launch cpuworkers. Need to do this *after* we've read the onion key. */
- cpu_init();
- }
+ /* launch cpuworkers. Need to do this *after* we've read the onion key. */
+ /* launch them always for all tors, now that clients can solve onion PoWs. */
+ cpuworker_init();
+
consdiffmgr_enable_background_compression();
/* Setup shared random protocol subsystem. */
server_onion_keys_t *
server_onion_keys_new(void)
{
+ if (!get_master_identity_key())
+ return NULL;
+
server_onion_keys_t *keys = tor_malloc_zero(sizeof(server_onion_keys_t));
memcpy(keys->my_identity, router_get_my_id_digest(), DIGEST_LEN);
ed25519_pubkey_copy(&keys->my_ed_identity, get_master_identity_key());
* during Tor's lifetime.
*/
void
-cpu_init(void)
+cpuworker_init(void)
{
if (!replyqueue) {
replyqueue = replyqueue_new(0);
#ifndef TOR_CPUWORKER_H
#define TOR_CPUWORKER_H
-#include "feature/nodelist/networkstatus_st.h"
-
-void cpu_init(void);
+void cpuworker_init(void);
void cpuworkers_rotate_keyinfo(void);
void cpuworker_consensus_has_changed(const networkstatus_t *ns);
"Worker-related options changed. Rotating workers.");
const int server_mode_turned_on =
server_mode(options) && !server_mode(old_options);
- const int dir_server_mode_turned_on =
- dir_server_mode(options) && !dir_server_mode(old_options);
-
- if (server_mode_turned_on || dir_server_mode_turned_on) {
- cpu_init();
- }
if (server_mode_turned_on) {
ip_address_changed(0);