From: Roger Dingledine Date: Sun, 4 Nov 2018 12:30:46 +0000 (-0500) Subject: refuse to start with relative paths + RunAsDaemon X-Git-Tag: tor-0.3.5.4-alpha~10^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3a2cb83685e03b861abc1ebd54779c1244a26217;p=thirdparty%2Ftor.git 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. --- diff --git a/changes/bug28298 b/changes/bug28298 new file mode 100644 index 0000000000..8db340f3df --- /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 58080c65e3..783412acc4 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);