summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | 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
| | | |
| * | | fix test failing due to missing allow_running_as_roottrinity-1686a2022-08-241-1/+1
| | | |
| * | | switch from awk to pythontrinity-1686a2022-08-243-86/+136
| | | |
| * | | add check_doc_features to CItrinity-1686a2022-08-241-1/+2
| | | |
| * | | add feature annotation to fields made visible through visible::StructFieldstrinity-1686a2022-08-245-0/+69
| | | |
| * | | add feature annotation not added by doc_auto_cfgtrinity-1686a2022-08-2418-1/+113
| | | |
| * | | enable doc_auto_cfg feature on every crate when documenting for docs.rstrinity-1686a2022-08-2471-1/+143
|/ / /
* | | Merge branch 'no_root' into 'main'Nick Mathewson2022-08-246-1/+52
|\ \ \ | |/ / |/| | | | | | | | arti: Do not allow running as root. See merge request tpo/core/arti!688
| * | test/chutney/setup: Set allow_running_as_root as needed.Nick Mathewson2022-08-241-1/+9
| | |
| * | arti: Do not allow running as root.Nick Mathewson2022-08-245-0/+43
| |/ | | | | | | | | | | This can be overridden with `application.allow_running_as_root`. Part of #523.
* | Merge branch 'test-old-config' into 'main'Nick Mathewson2022-08-232-9/+327
|\ \ | | | | | | | | | | | | Test oldest example configuration file See merge request tpo/core/arti!684
| * | arti cfg: Write down future plansIan Jackson2022-08-231-0/+13
| | | | | | | | | | | | | | | Mostly cribbed from https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/684#note_2829937
| * | arti cfg: Test parsing of the oldest config file we still supportIan Jackson2022-08-222-8/+310
| | |
| * | arti cfg: Fix docs about ARTI_EXAMPLE_CONFIGIan Jackson2022-08-221-1/+4
| |/ | | | | | | The defaults are now
* | Merge branch 'resolve-option-general' into 'main'Nick Mathewson2022-08-232-4/+49
|\ \ | |/ |/| | | | | tor-config: Provide resolve_option_general, for T: !Default etc. See merge request tpo/core/arti!685
| * tor-config: resolve_option_general: Add semver noteIan Jackson2022-08-231-0/+1
| |
| * tor-config: resolve_option_general: Add TODO about exampleIan Jackson2022-08-231-0/+5
| |
| * Fix syntax in doc comment.Nick Mathewson2022-08-231-1/+1
| |
| * tor-config: Provide resolve_option_general, for T: !Default etc.Ian Jackson2022-08-221-4/+43
|/ | | | | | | | | At one point in this MR I thought I was going to want this for arti::cfg::ListenConfig (which we don't want to be Default). In fact ListenConfig is being handled specially, but having written this function it seemed sensible to keep it. Since resolve_option becomes a wrapper for it, the existing tests exercise it.
* Merge branch 'ansi-term' into 'main'eta2022-08-221-1/+6
|\ | | | | | | | | Tolerate RUSTSEC-2021-0139 (ansi_term unmaintained) See merge request tpo/core/arti!683
| * maint/cargo_audit: Tolerate RUSTSEC-2021-0139 (ansi_term unmaintained)Ian Jackson2022-08-221-0/+5
| |
| * maint/cargo_audit: Honour $CARGOIan Jackson2022-08-221-1/+1
|/ | | | | This makes it easier to for me to test this script. (I would like to do this to all of them but it's easier on a case-by-case basis.)
* Merge branch 'format-python-script' into 'main'Nick Mathewson2022-08-174-23/+55
|\ | | | | | | | | Format python script in maint See merge request tpo/core/arti!678
| * format python script in maintFAMASoon2022-08-174-23/+55
| |