Allow operation when default config files cannot be determined
This is a followup to (and the branch is on top of) !1478 (merged). I think !1478 (merged) is going to be uncontroversial. I'm not sure if you'll like this one, though it seems the obvious approach to me. LMK what you think.
With this change, using the repro in #898 but providing an empty config file t
, I see this:
(buster)I have no name!@zealot:/volatile/rustcargo/Rustup/Arti/arti$ env - FS_MISTRUST_DISABLE_PERMISSIONS_CHECKS=1 target/debug/arti -c t proxy
2023-08-07T16:52:04Z INFO arti: Starting Arti 1.1.7 in SOCKS proxy mode on port 9150...
target/debug/arti: error: tor: invalid configuration: Problem with configuration: Value of cache_dir was incorrect: Can't construct project directories to resolve a path element
(buster)I have no name!@zealot:/volatile/rustcargo/Rustup/Arti/arti$
This seems about as good as we're going to get without switching away from directories
(see #989 (comment 2929269) for more info).
(The mistrust override is needed there because my directories are all g+w which fs-mistrust hates because it can't see that the group owning them is named the same as my username.)