aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/or/config.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/or/config.c b/src/or/config.c
index f540b1e55..86836a411 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -400,6 +400,7 @@ int getconfig(int argc, char **argv, or_options_t *options) {
static int backup_argc;
char *previous_pidfile = NULL;
int previous_runasdaemon = 0;
+ int previous_orport = -1;
int using_default_torrc;
if(first_load) { /* first time we're called. save commandline args */
@@ -414,6 +415,7 @@ int getconfig(int argc, char **argv, or_options_t *options) {
if(options->PidFile)
previous_pidfile = tor_strdup(options->PidFile);
previous_runasdaemon = options->RunAsDaemon;
+ previous_orport = options->ORPort;
free_options(options);
}
init_options(options);
@@ -476,6 +478,11 @@ int getconfig(int argc, char **argv, or_options_t *options) {
return -1;
}
+ if(previous_orport == 0 && options->ORPort > 0) {
+ log_fn(LOG_WARN,"During reload, change from ORPort=0 to =%d not allowed. Failing.",options->ORPort);
+ return -1;
+ }
+
if(options->LogLevel) {
if(!strcmp(options->LogLevel,"err"))
options->loglevel = LOG_ERR;