mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 14:40:51 +01:00
Initialize the extorport auth cookie before launching PTs.
PTs expect the auth cookie to be available immedieately after launch, leading to a race condition when PTs opt to cache the extorport cookie once immediately after startup. Fixes #15240.
This commit is contained in:
parent
c2dcd9b703
commit
b3281fc6d6
2 changed files with 13 additions and 6 deletions
6
changes/bug15240
Normal file
6
changes/bug15240
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
o Minor bugfixes (pluggable transports):
|
||||||
|
- Initialize the extended OR Port authentication cookie before launching
|
||||||
|
pluggable transports. This prevents a race condition that occured when
|
||||||
|
server-side pluggable transports would cache the authentication cookie
|
||||||
|
before it has been (re)generated. Fixes bug 15240; bugfix on
|
||||||
|
0.2.5.1-alpha.
|
|
@ -1451,6 +1451,13 @@ options_act(const or_options_t *old_options)
|
||||||
rep_hist_load_mtbf_data(time(NULL));
|
rep_hist_load_mtbf_data(time(NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If we have an ExtORPort, initialize its auth cookie. */
|
||||||
|
if (running_tor &&
|
||||||
|
init_ext_or_cookie_authentication(!!options->ExtORPort_lines) < 0) {
|
||||||
|
log_warn(LD_CONFIG,"Error creating Extended ORPort cookie file.");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
mark_transport_list();
|
mark_transport_list();
|
||||||
pt_prepare_proxy_list_for_config_read();
|
pt_prepare_proxy_list_for_config_read();
|
||||||
if (!options->DisableNetwork) {
|
if (!options->DisableNetwork) {
|
||||||
|
@ -1555,12 +1562,6 @@ options_act(const or_options_t *old_options)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we have an ExtORPort, initialize its auth cookie. */
|
|
||||||
if (init_ext_or_cookie_authentication(!!options->ExtORPort_lines) < 0) {
|
|
||||||
log_warn(LD_CONFIG,"Error creating Extended ORPort cookie file.");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
monitor_owning_controller_process(options->OwningControllerProcess);
|
monitor_owning_controller_process(options->OwningControllerProcess);
|
||||||
|
|
||||||
/* reload keys as needed for rendezvous services. */
|
/* reload keys as needed for rendezvous services. */
|
||||||
|
|
Loading…
Add table
Reference in a new issue