[tor-commits] [tor/maint-0.3.5] refuse to start with relative paths + RunAsDaemon

nickm at torproject.org nickm at torproject.org
Tue Nov 6 20:20:04 UTC 2018


commit 3a2cb83685e03b861abc1ebd54779c1244a26217
Author: Roger Dingledine <arma at torproject.org>
Date:   Sun Nov 4 07:30:46 2018 -0500

    refuse to start with relative paths + RunAsDaemon
    
    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.
---
 changes/bug28298 |  4 ++++
 src/or/config.c  | 14 ++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/changes/bug28298 b/changes/bug28298
new file mode 100644
index 000000000..8db340f3d
--- /dev/null
+++ b/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.
diff --git a/src/or/config.c b/src/or/config.c
index 58080c65e..783412acc 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -3307,12 +3307,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") ||
@@ -3329,6 +3323,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);





More information about the tor-commits mailing list