Loading changes/bug23693.1 0 → 100644 +4 −0 Original line number Diff line number Diff line o Minor bugfixes (relay, crash): - Avoid a crash when running with DirPort set but ORPort tuned off. Fixes a case of bug 23693; bugfix on 0.3.1.1-alpha. src/or/config.c +9 −1 Original line number Diff line number Diff line Loading @@ -2007,9 +2007,16 @@ options_act(const or_options_t *old_options) if (transition_affects_workers) { log_info(LD_GENERAL, "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(options) && !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); if (have_completed_a_circuit() || !any_predicted_circuits(time(NULL))) inform_testing_reachability(); Loading Loading @@ -4657,6 +4664,7 @@ options_transition_affects_workers(const or_options_t *old_options, old_options->SafeLogging_ != new_options->SafeLogging_ || old_options->ClientOnly != new_options->ClientOnly || server_mode(old_options) != server_mode(new_options) || dir_server_mode(old_options) != dir_server_mode(new_options) || public_server_mode(old_options) != public_server_mode(new_options) || !config_lines_eq(old_options->Logs, new_options->Logs) || old_options->LogMessageDomains != new_options->LogMessageDomains) Loading src/or/main.c +1 −1 Original line number Diff line number Diff line Loading @@ -2520,7 +2520,7 @@ do_main_loop(void) now = time(NULL); directory_info_has_arrived(now, 1, 0); if (server_mode(get_options())) { 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(); } Loading src/or/router.c +14 −7 Original line number Diff line number Diff line Loading @@ -131,7 +131,8 @@ get_onion_key(void) } /** Store a full copy of the current onion key into *<b>key</b>, and a full * copy of the most recent onion key into *<b>last</b>. * copy of the most recent onion key into *<b>last</b>. Store NULL into * a pointer if the corresponding key does not exist. */ void dup_onion_keys(crypto_pk_t **key, crypto_pk_t **last) Loading @@ -139,8 +140,10 @@ dup_onion_keys(crypto_pk_t **key, crypto_pk_t **last) tor_assert(key); tor_assert(last); tor_mutex_acquire(key_lock); tor_assert(onionkey); if (onionkey) *key = crypto_pk_copy_full(onionkey); else *last = NULL; if (lastonionkey) *last = crypto_pk_copy_full(lastonionkey); else Loading Loading @@ -207,10 +210,14 @@ construct_ntor_key_map(void) { di_digest256_map_t *m = NULL; if (!tor_mem_is_zero((const char*) curve25519_onion_key.pubkey.public_key, CURVE25519_PUBKEY_LEN)) { dimap_add_entry(&m, curve25519_onion_key.pubkey.public_key, tor_memdup(&curve25519_onion_key, sizeof(curve25519_keypair_t))); } if (!tor_mem_is_zero((const char*) last_curve25519_onion_key.pubkey.public_key, CURVE25519_PUBKEY_LEN)) { Loading Loading
changes/bug23693.1 0 → 100644 +4 −0 Original line number Diff line number Diff line o Minor bugfixes (relay, crash): - Avoid a crash when running with DirPort set but ORPort tuned off. Fixes a case of bug 23693; bugfix on 0.3.1.1-alpha.
src/or/config.c +9 −1 Original line number Diff line number Diff line Loading @@ -2007,9 +2007,16 @@ options_act(const or_options_t *old_options) if (transition_affects_workers) { log_info(LD_GENERAL, "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(options) && !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); if (have_completed_a_circuit() || !any_predicted_circuits(time(NULL))) inform_testing_reachability(); Loading Loading @@ -4657,6 +4664,7 @@ options_transition_affects_workers(const or_options_t *old_options, old_options->SafeLogging_ != new_options->SafeLogging_ || old_options->ClientOnly != new_options->ClientOnly || server_mode(old_options) != server_mode(new_options) || dir_server_mode(old_options) != dir_server_mode(new_options) || public_server_mode(old_options) != public_server_mode(new_options) || !config_lines_eq(old_options->Logs, new_options->Logs) || old_options->LogMessageDomains != new_options->LogMessageDomains) Loading
src/or/main.c +1 −1 Original line number Diff line number Diff line Loading @@ -2520,7 +2520,7 @@ do_main_loop(void) now = time(NULL); directory_info_has_arrived(now, 1, 0); if (server_mode(get_options())) { 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(); } Loading
src/or/router.c +14 −7 Original line number Diff line number Diff line Loading @@ -131,7 +131,8 @@ get_onion_key(void) } /** Store a full copy of the current onion key into *<b>key</b>, and a full * copy of the most recent onion key into *<b>last</b>. * copy of the most recent onion key into *<b>last</b>. Store NULL into * a pointer if the corresponding key does not exist. */ void dup_onion_keys(crypto_pk_t **key, crypto_pk_t **last) Loading @@ -139,8 +140,10 @@ dup_onion_keys(crypto_pk_t **key, crypto_pk_t **last) tor_assert(key); tor_assert(last); tor_mutex_acquire(key_lock); tor_assert(onionkey); if (onionkey) *key = crypto_pk_copy_full(onionkey); else *last = NULL; if (lastonionkey) *last = crypto_pk_copy_full(lastonionkey); else Loading Loading @@ -207,10 +210,14 @@ construct_ntor_key_map(void) { di_digest256_map_t *m = NULL; if (!tor_mem_is_zero((const char*) curve25519_onion_key.pubkey.public_key, CURVE25519_PUBKEY_LEN)) { dimap_add_entry(&m, curve25519_onion_key.pubkey.public_key, tor_memdup(&curve25519_onion_key, sizeof(curve25519_keypair_t))); } if (!tor_mem_is_zero((const char*) last_curve25519_onion_key.pubkey.public_key, CURVE25519_PUBKEY_LEN)) { Loading