In 0.3.2.1-alpha we fixed #22731 (moved) (in commit 6fea44c6): we started refusing to start if RunAsDaemon is set and also any of a variety of config options are set to a relative value.
And then in 0.3.3.1-alpha we did commit 192be006, which split the original options->DataDirectory into a new DataDirectory_option variable.
But warn_about_relative_paths() continues to look at
n += warn_if_option_path_is_relative("DataDirectory",options->DataDirectory);
and that function is called near the top of options_validate() -- before we call validate_data_directories() which is what populates options->DataDirectory.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
Seems like we should either look at DataDirectory_option in warn_about_relative_paths(), or call validate_data_directories() earlier in options_validate(). My first thought is that the former is better (especially to fix the regression).
Also, it would probably be wise to think about what sort of unit test would have caught this.
Ok, that above fix is bad, because it will complain when you set DataDirectory to e.g. ~/.test -- which is actually an absolute path, even if it doesn't start with /.
So I now think the "validate_data_directories() earlier" option is the best plan.
Ok, that above fix is bad, because it will complain when you set DataDirectory to e.g. ~/.test -- which is actually an absolute path, even if it doesn't start with /.
"~" expansion is a missing feature, not a bug. Your shell does it, many other contexts do not. See #28311 (moved).
But you've found another bug in Tor's config handling. On my machine, it results in a crash and a spurious call to free(). See #28312 (moved).
"~" expansion is a missing feature, not a bug. Your shell does it, many other contexts do not. See #28311 (moved).
It is true that we don't call expand_filename() consistently on other config options. #28311 (moved) is a great ticket for tracking that (orthogonal) issue.
But you've found another bug in Tor's config handling. On my machine, it results in a crash and a spurious call to free(). See #28312 (moved).