Browse Source

disallow changing from ORPort==0 to ORPort>0 on hup

svn:r1172
Roger Dingledine 22 years ago
parent
commit
c058f87513
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/or/config.c

+ 7 - 0
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;