Commit 929b1729 authored by Nick Mathewson's avatar Nick Mathewson 🏃
Browse files

Stop DataDirectory from changing; also stop using new as an identifier?


svn:r2717
parent 90b47172
......@@ -1180,27 +1180,35 @@ options_validate(or_options_t *options)
/** Check if any of the previous options have changed but aren't allowed to. */
static int
options_transition_allowed(or_options_t *old, or_options_t *new) {
options_transition_allowed(or_options_t *old, or_options_t *new_val) {
if(!old)
return 0;
if (old->PidFile &&
(!new->PidFile || strcmp(old->PidFile,new->PidFile))) {
(!new_val->PidFile || strcmp(old->PidFile,new_val->PidFile))) {
log_fn(LOG_WARN,"PidFile is not allowed to change. Failing.");
return -1;
}
if (old->RunAsDaemon && !new->RunAsDaemon) {
if (old->RunAsDaemon && !new_val->RunAsDaemon) {
log_fn(LOG_WARN,"During reload, change from RunAsDaemon=1 to =0 not allowed. Failing.");
return -1;
}
if (old->ORPort != new->ORPort) {
if (old->ORPort != new_val->ORPort) {
log_fn(LOG_WARN,"During reload, changing ORPort is not allowed. Failing.");
return -1;
}
if ((old->DataDirectory &&
(!new_val->DataDirectory ||
strcmp(old->DataDirectory,new_val->DataDirectory)!=0)) ||
(!old->DataDirectory && new_val->DataDirectory)) {
log_fn(LOG_WARN,"During reload, changing DataDirectory is not allowed. Failing.");
return -1;
}
return 0;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment