summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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
| | |_|_|/ | |/| | |
* | | | | Merge branch 'help_msg_on_backslash' into 'main'Ian Jackson2022-08-265-16/+64
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | Improve error from bad escapes in a toml config. Closes #549 See merge request tpo/core/arti!695
| * | | | 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.
* | | | Merge branch 'port-listen' into 'main'Ian Jackson2022-08-2511-66/+755
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Rename *_port to *_listen and provide ListenConfig type for API See merge request tpo/core/arti!602
| * | | | 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-255-13/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-253-0/+312
| | | | |
| * | | | 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.
* | | Merge branch 'config-dir' into 'main'Ian Jackson2022-08-2515-120/+541
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Support arti.d config directories, and fixes to config reloading Closes #544 and #474 See merge request tpo/core/arti!682
| * | 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-254-0/+32
| | | | | | | | | | | | | | | 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.
| * | tor-config sources: Remove some unneeded .to_string() from testsIan Jackson2022-08-251-4/+4
|/ /
* | Merge branch 'setresuid' into 'main'Nick Mathewson2022-08-251-16/+42
|\ \ | | | | | | | | | | | | Fix setuid testing for MacOS See merge request tpo/core/arti!691
| * | Fix setuid testing for MacOSIan Jackson2022-08-251-16/+42
|/ /
* | Merge branch 'no_setuid' into 'main'Nick Mathewson2022-08-244-0/+45
|\ \ | | | | | | | | | | | | arti_client: Refuse to build a client if we are setuid. See merge request tpo/core/arti!689
| * | arti_client: Refuse to build a client if we are setuid.Nick Mathewson2022-08-244-0/+45
| | | | | | | | | | | | | | | | | | Arti is not designed to be a setuid-safe program. Part of #523.
* | | Merge branch 'doc-feature-flags' into 'main'eta2022-08-2497-5/+380
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | add annotations for required features in doc Closes #541 See merge request tpo/core/arti!681
| * | | fix nightly lintstrinity-1686a2022-08-242-1/+2
| | | |