mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Block certain option transitions while sandbox enabled
This commit is contained in:
parent
f70cf9982a
commit
2ae47d3c3a
1 changed files with 32 additions and 0 deletions
|
@ -3584,6 +3584,12 @@ options_transition_allowed(const or_options_t *old,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (old->Sandbox != new_val->Sandbox) {
|
||||||
|
*msg = tor_strdup("While Tor is running, changing Sandbox "
|
||||||
|
"is not allowed.");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (strcmp(old->DataDirectory,new_val->DataDirectory)!=0) {
|
if (strcmp(old->DataDirectory,new_val->DataDirectory)!=0) {
|
||||||
tor_asprintf(msg,
|
tor_asprintf(msg,
|
||||||
"While Tor is running, changing DataDirectory "
|
"While Tor is running, changing DataDirectory "
|
||||||
|
@ -3636,6 +3642,32 @@ options_transition_allowed(const or_options_t *old,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sandbox_is_active()) {
|
||||||
|
if (! opt_streq(old->PidFile, new_val->PidFile)) {
|
||||||
|
*msg = tor_strdup("Can't change PidFile while Sandbox is active");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (! config_lines_eq(old->Logs, new_val->Logs)) {
|
||||||
|
*msg = tor_strdup("Can't change Logs while Sandbox is active");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (old->ConnLimit != new_val->ConnLimit) {
|
||||||
|
*msg = tor_strdup("Can't change ConnLimit while Sandbox is active");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (! opt_streq(old->ServerDNSResolvConfFile,
|
||||||
|
new_val->ServerDNSResolvConfFile)) {
|
||||||
|
*msg = tor_strdup("Can't change ServerDNSResolvConfFile"
|
||||||
|
" while Sandbox is active");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (server_mode(old) != server_mode(new_val)) {
|
||||||
|
*msg = tor_strdup("Can't start/stop being a server while "
|
||||||
|
"Sandbox is active");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue