Browse Source

Merge remote-tracking branch 'tor-github/pr/484' into maint-0.3.5

Nick Mathewson 5 years ago
parent
commit
8a5590ebac
2 changed files with 12 additions and 6 deletions
  1. 4 0
      changes/bug28298
  2. 8 6
      src/app/config/config.c

+ 4 - 0
changes/bug28298

@@ -0,0 +1,4 @@
+  o Minor bugfixes (configuration):
+    - Resume refusing to start with relative file paths and RunAsDaemon
+      set (regression from the fix for bug 22731). Fixes bug 28298;
+      bugfix on 0.3.3.1-alpha.

+ 8 - 6
src/app/config/config.c

@@ -3375,12 +3375,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
    * Always use the value of UseEntryGuards, not UseEntryGuards_option. */
   options->UseEntryGuards = options->UseEntryGuards_option;
 
-  if (warn_about_relative_paths(options) && options->RunAsDaemon) {
-    REJECT("You have specified at least one relative path (see above) "
-           "with the RunAsDaemon option. RunAsDaemon is not compatible "
-           "with relative paths.");
-  }
-
   if (server_mode(options) &&
       (!strcmpstart(uname, "Windows 95") ||
        !strcmpstart(uname, "Windows 98") ||
@@ -3397,6 +3391,14 @@ options_validate(or_options_t *old_options, or_options_t *options,
   if (validate_data_directories(options)<0)
     REJECT("Invalid DataDirectory");
 
+  /* need to check for relative paths after we populate
+   * options->DataDirectory (just above). */
+  if (warn_about_relative_paths(options) && options->RunAsDaemon) {
+    REJECT("You have specified at least one relative path (see above) "
+           "with the RunAsDaemon option. RunAsDaemon is not compatible "
+           "with relative paths.");
+  }
+
   if (options->Nickname == NULL) {
     if (server_mode(options)) {
       options->Nickname = tor_strdup(UNNAMED_ROUTER_NICKNAME);