summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Document in link_rel() why we do not support symlinks on Windows.Alexander Færøy2022-08-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a comment to the `link_rel()` function in fs-mistrust to explain why we ignore symlink creation on the Windows platform. See: tpo/core/arti#557.
* | | | Disable fs-mistrust's simple_cases() unit test on non-Unix.Alexander Færøy2022-08-261-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch disables the simple_cases() test on non-Unix platforms and hides the LinkType type import on non-Unix where we won't be testing symbolic link features. See: tpo/core/arti#557.
* | | | Fix compilation of tests for Windows.Alexander Færøy2022-08-261-13/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows us to compile the fs-mistrust tests on Windows where the `trust_no_group_id()` method is unavailable. See: tpo/core/arti#557.
* | | | Mark fs-mistrust's link_rel() and link_abs() as Unix-only.Alexander Færøy2022-08-261-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we are not going to test symlink creation on Windows we remove this code from the testing module. See: tpo/core/arti#557.
* | | | Mark the repeats and looping tests in fs-mistrust as Unix-only.Alexander Færøy2022-08-261-1/+6
| |/ / |/| | | | | | | | See: tpo/core/art#557.
* | | fs-mistrust: Try to handle verbatim prefixes in test.Nick Mathewson2022-08-261-0/+31
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | We have a test that tries to check that our outputs are the same as those from `std::fs::canonicalize`. But on Windows, they aren't: There, `canonicalize` also puts path prefixes into a "Verbatim" form. This patch tries to replicate that behavior for the test only. If we find that it's unreliable, though, our best bet is probably to revise or disable this check on Windows, rather than chasing compatibility with `GetFinalPathNameByHandle`. Should fix part of #557.
* | Merge branch 'fs-mistrust-by-component' into 'main'Ian Jackson2022-08-261-11/+52
|\ \ | | | | | | | | | | | | fs-mistrust: Handle windows prefixes specially. See merge request tpo/core/arti!698
| * | fs-mistrust: Clarify comment on `stack`Ian Jackson2022-08-261-0/+2
| | |
| * | fs-mistrust: Handle windows prefixes specially.Nick Mathewson2022-08-261-11/+50
| |/ | | | | | | | | | | | | | | | | | | | | | | On Windows, paths can have a "prefix", like `C:` or `\\server\share`. Attempts to get metadata for these prefixes appear to fail with `ERROR_INVALID_FUNCTION`, since they are not files. This patch teaches fs-mistrust about prefixes on Windows, and tells it that attempts to find their metadata are allowed to fail. Doing this may solve part of #557.
* | Merge branch 'safelog_more' into 'main'Ian Jackson2022-08-268-14/+26
|\ \ | | | | | | | | | | | | Apply safelog to more of the things that we log See merge request tpo/core/arti!693
| * | arti-client: Treat list of exit ports as sensitive.Nick Mathewson2022-08-252-3/+4
| | |
| * | arti: Adjust severity on per-socks-request log.Nick Mathewson2022-08-252-5/+9
| | | | | | | | | | | | | | | Also, note why we aren't hiding the addrs that we're listening on here.
| * | arti-client: Downgrade "got a circuit for" message.Nick Mathewson2022-08-251-1/+1
| | | | | | | | | | | | | | | | | | This is not interesting to the user, and violates some of our safe-logging rules (like "Don't log at info for each user request" and "don't log ports").
| * | Downgrade "guard set loaded" messagesNick Mathewson2022-08-251-1/+1
| | | | | | | | | | | | These aren't interesting to the user.
| * | circmgr: treat usage as sensitive.Nick Mathewson2022-08-251-1/+6
| | |
| * | tor-chanmgr: don't log addresses so much.Nick Mathewson2022-08-252-3/+5
| | | | | | | | | | | | | | | We now log connection attempts at debug!, and mark relay target addresses as sensitive.
* | | Merge branch 'clippy' into 'main'Nick Mathewson2022-08-261-0/+8
|\ \ \ | | | | | | | | | | | | | | | | tor-config: tests: Apply standard lint block in sources.rs See merge request tpo/core/arti!694
| * | | tor-config: tests: Apply standard lint block in sources.rsIan Jackson2022-08-251-0/+8
| | | | | | | | | | | | | | | | Fixes a spurious clippy warning on nightly, about a dbg!
* | | | Merge branch 'setuid-again' into 'main'Nick Mathewson2022-08-261-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | arti: running_as_setuid: fix MacOs build See merge request tpo/core/arti!697
| * | | | arti: running_as_setuid: fix MacOs buildIan Jackson2022-08-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | libc::getuid and geteuid are marked unsafe, even though I think they could be safe. So the previous code didn't build.
* | | | | Merge branch 'establish-intro-followup' into 'main'Ian Jackson2022-08-262-12/+230
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Clean up EstablishIntro cell See merge request tpo/core/arti!648
| * | | | Clean up EstablishIntro cellYuan Lyu2022-08-252-12/+230
| | |_|/ | |/| |
* / | | Improve error from bad escapes in a toml config.Nick Mathewson2022-08-255-16/+64
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whereas previously we would say: ``` target/debug/arti: error: invalid escape character in string: `Z` at line 9 column 14 in ../../.config/arti/arti.toml ``` we now say: ``` target/debug/arti: error: invalid escape character in string: `Z` at line 9 column 14 in ../../.config/arti/arti.toml (If you wanted to include a literal \ character, you need to escape it by writing two in a row: \\) ``` The implementation is a bit of a hack, I'm afraid, but I don't think it's all that bad. Closes #549.
* | | Bump toml dependencyIan Jackson2022-08-253-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need 60b874308e6792a73cc00517a60bbef60a12e3cc Mixed type arrays (#358) for a test case in tor-config. While we're here, drop the dupe entry in tor-config. (In principle we could make this increase only in tor-config's dev-dependencies, but that seems unnecessarily fiddly.)
* | | tor-config Listen: Rename localhost_port_legacy (from _deprecated)Ian Jackson2022-08-252-4/+4
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/602#note_2830847
* | | tor-config Listen: Add a note about EADDRINUSEIan Jackson2022-08-251-0/+1
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/602#note_2830848
* | | tor-config; Listen: Return addresses in groups for error behaviourIan Jackson2022-08-251-8/+20
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/602#note_2830766
* | | arti cfg: Provide comprehensive tests for port listeningIan Jackson2022-08-251-1/+116
| | |
* | | arti: cfg: Rename `*_port` to `*_listen` and change the typeIan Jackson2022-08-254-13/+78
| | | | | | | | | | | | | | | | | | | | | This commit largely follows the example for resolve_alternative_specs. The difference is that there are two fields, so we use a macro to avoid recapitulating the field names.
* | | tor-config: Provide resolve_alternative_specsIan Jackson2022-08-251-0/+78
| | |
* | | tor-config: Support tracking deprecated config keysIan Jackson2022-08-253-15/+80
| | |
* | | tor-config: Introduce ResolutionResultsIan Jackson2022-08-255-27/+60
| | | | | | | | | | | | This will allow us to handle new kinds of warnigns etc.
* | | tor-config: Rename UnrecognizedKey to DisfavouredKeyIan Jackson2022-08-251-18/+18
| | | | | | | | | | | | We're going to want the to use the same type for deprecated keys.
* | | tor-config: Provide misc::ListenIan Jackson2022-08-252-0/+311
| | |
* | | tor-config misc tests: Add standard lint suppression blockIan Jackson2022-08-251-0/+8
| | |
* | | Merge branch 'default_log_severity' into 'main'Nick Mathewson2022-08-253-3/+3
|\ \ \ | |/ / |/| | | | | | | | arti: Raise the default console log severity to "info" See merge request tpo/core/arti!692
| * | arti: Raise the default console log severity to "info"Nick Mathewson2022-08-253-3/+3
| |/ | | | | | | | | Previously we logged at "debug", but that's not meant to user-facing.
* | tor-config: semver.md: Document change to ConfigurationSource enumIan Jackson2022-08-251-1/+2
| |
* | tor-config source: just ConfigurationSource, not FoundConfigFileIan Jackson2022-08-252-68/+28
| | | | | | | | | | FoundConfigFile existed to hide something that ConfigurationSource now exposes.
* | tor-config: Replace dir detection with ConfigurationSource enumIan Jackson2022-08-255-41/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/682#note_2830860 And subsequent IRC discussion. Having done the work as per review comments, I don't much like the result. It's quite un-ergonomiuc. If we can't have fs autodetection, I think syntactic autodetection within sources.rs would be nearly as nice. However, I seem to be outvoted. At least the externally visible functionality (of an arti binary, say) is reasonably ergonomic.
* | tor-config: Provide is_syntactically_directory helper functionIan Jackson2022-08-251-0/+48
| |
* | tor-config: MustRead: Make publicIan Jackson2022-08-251-1/+2
| | | | | | | | I think this ought to be exhaustive.
* | config watch: Fix and reduce debounce intervalIan Jackson2022-08-253-3/+6
| | | | | | | | | | | | | | | | The parameter to FileWatcher::new is not a polling time fallback; it is a "debounce time". Events are always delayed by at least this much. 10s is much too long for this. 1s is more appropriate.
* | config sources: Read arti.d as well as arti.tomlIan Jackson2022-08-253-16/+23
| | | | | | | | Fixes #474 aka #271
* | config sources tests: Test results of directory scanIan Jackson2022-08-251-1/+12
| |
* | config sources tests: Break out sources_nodefaultsIan Jackson2022-08-251-5/+12
| |
* | config sources tests: Introduce test of reading directoryIan Jackson2022-08-251-0/+29
| |
* | config sources: Supporting reading directoriesIan Jackson2022-08-253-15/+112
| |
* | config sources: Introduce scan() and FoundConfigFilesIan Jackson2022-08-253-57/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to need to do config file reading in two phases. Right now this isn't actually necessary, because the set of files is fixed since we don't support dynamically scanning directories. But the new API will be needed in a moment. Code motion and API changes, but no overall functional change. Review with `git show -b` may be helpful. The new API also provides for dealing with directories, but right now that doesn't happen.
* | tor-basic-utils: Provide IoErrorExt is_not_a_directory()Ian Jackson2022-08-253-0/+31
| | | | | | | | | | We're going to want this functionality, which isn't in the stable stdlib.