aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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.
* | config watch: Provide watch_dirIan Jackson2022-08-251-8/+37
| | | | | | | | | | | | No call site just yet; that will come shortly. This requires a bit of reorganisation first.
* | config watch: Re-establish watcher on each iterationIan Jackson2022-08-251-2/+14
| | | | | | | | This is going to be needed in a moment.
* | config watch: Rescan once on startupIan Jackson2022-08-251-3/+8
| | | | | | | | | | | | | | That way if the config changes after we read it initially, but before we set up the watcher, we will still pick it up. Fixes #544
* | config watch: Break out prepare_watcherIan Jackson2022-08-251-5/+10
| | | | | | | | This is going to become more complicated, and gain another call site.
* | config watch: Make the mpsc channel part of FileWatcherIan Jackson2022-08-251-8/+15
| | | | | | | | | | | | | | | | | | | | The previous approach (inherited from the API of notify) was kind of odd. Soon we are going to want to be able to drop the watcher and replace it. That really wants the same object to contain all the things that ought to be dropped together. (notify's watchers stop generating events and give EOF on the channel, when dropped.)
* | config: Do process hardening on reconfigure even if not watchingIan Jackson2022-08-252-5/+5
| | | | | | | | | | | | | | These blocks were in the wrong order. Previously, if you tried to turn on process hardening in the config and then reloaded rather than restarting, it wouldn't take effect.