summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Merge branch 'main' into 'ticket_466'Nick Mathewson2022-05-1641-559/+694
| |\ \ | |/ / |/| | | | | # Conflicts: # doc/semver_status.md
* | | Revert "Merge branch 'backtrace' into 'main'"eta2022-05-161-6/+0
| | | | | | | | | This reverts merge request !509
* | | Merge branch 'backtrace' into 'main'eta2022-05-161-0/+6
|\ \ \ | | | | | | | | | | | | | | | | Do backtrace string matching test only on Linux See merge request tpo/core/arti!509
| * | | Do backtrace string matching test only on LinuxIan Jackson2022-05-161-0/+6
| | | | | | | | | | | | | | | | "Fixes" #455 by suppressing the test.
* | | | Merge branch 'typos' into 'main'Nick Mathewson2022-05-141-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Fix typo See merge request tpo/core/arti!510
| * | | Fix typoDimitris Apostolou2022-05-141-1/+1
|/ / /
* | | Merge branch 'arti-config-2' into 'main'Nick Mathewson2022-05-1317-349/+291
|\ \ \ | | | | | | | | | | | | | | | | Abolish arti-config, replacing with tombstone crate See merge request tpo/core/arti!508
| * | | Document semver changesIan Jackson2022-05-131-0/+2
| | | |
| * | | Abolish arti-config, replacing with tombstone crateIan Jackson2022-05-137-100/+8
| | | |
| * | | arti-config abolition: Change references to use tor_configIan Jackson2022-05-138-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generally, change the paths that mention the crate name to go via a module-level "use". This involves adding tor-config as a direct dependency for a few crates.
| * | | tor-config: Provide useful documentation for sources moduleIan Jackson2022-05-131-0/+14
| | | |
| * | | arti-config abolition: Move functionality to tor-configIan Jackson2022-05-133-233/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crate no longer has any reason to exist. All its remaining functionality is generic enough to go into tor-config. In this commit, we move the contents of lib.rs into a new file in tor-config. It contains: * Code motion * The minimal "mod" and "use" changes * The minimal doc comment * A new a compat alias for ConfigurationSources. The compat alias is there because various crates currently speak of arti_config::ConfigurationSources and it is most convenient to fix them up after the type is available in tor_config.
| * | | arti-config abolition: Add deps to tor-configIan Jackson2022-05-132-0/+4
| | | | | | | | | | | | | | | | These are needed to support the code which is moving.
| * | | arti-config: Move default config file test to arti-clientIan Jackson2022-05-132-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | That's where this definitions is now. This test ought to have been moved in Move default_config_file() into arti-client
* | | | Merge branch 'builder-default-3' into 'main'Nick Mathewson2022-05-136-83/+83
|\ \ \ \ | |/ / / |/| | | | | | | | | | | impl_standard_builder: Test the Deserialize impl and have it generate ::builder See merge request tpo/core/arti!507
| * | | impl_standard_builder: Better comments explaining the parserIan Jackson2022-05-131-1/+7
| | | |
| * | | impl_standard_builder: Have it generate FooConfig::builderIan Jackson2022-05-125-68/+7
| | | | | | | | | | | | | | | | | | | | This deletes many handcoded impls. It also generates lots of impls that we previously didn't have.
| * | | impl_standard_builder: Test the Deserialize implIan Jackson2022-05-122-15/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test the Deserialize impl of every config struct. This detects bugs like the one fixed in !502. The macro now becomes more complex because it needs to take options. Right now this tt-munching option parser is overkill, but this leave space for further options in the future.
* | | | Merge branch 'mistrust-load' into 'main'Ian Jackson2022-05-135-21/+52
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | config load: Move mistrust checking to load() See merge request tpo/core/arti!504
| * | | | Fix comment locationIan Jackson2022-05-131-2/+2
| | | | |
| * | | | config load: Move mistrust checking to load()Ian Jackson2022-05-132-21/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/issues/472 Experimentation convinced me the Mistrust should be within the ConfigurationSources.
| * | | | arti-bench: Disable all fs permissions (fs-mistrust) checksIan Jackson2022-05-133-0/+9
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a benchmarking tool, and fs-mistrust doesn't like the permissions in our CI. The env var ARTI_FS_DISABLE_PERMISSION_CHECKS is (of course) specific to arti. Maybe it should be honoured here, or this should be done via the config files. But disabling this is fine for now.
* | | | Merge branch 'network-config-error' into 'main'Nick Mathewson2022-05-122-5/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Delete tor_dirmgr::Error::BadNetworkConfig See merge request tpo/core/arti!506
| * | | | Delete tor_dirmgr::Error::BadNetworkConfigIan Jackson2022-05-122-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was anomalous, in that it contains &'static str, rather than a proper nested error (eg a config::ConfigError, maybe). But in fact it tursn out it is now not constructed. The last construction site was removed a long time ago in Use derive_builder for Authority and FallbackDir.
* | | | | Merge branch 'template' into 'main'Nick Mathewson2022-05-128-54/+80
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Make the example config file into a template and move it to arti See merge request tpo/core/arti!503
| * | | | Add semver note for these changesIan Jackson2022-05-121-0/+5
| | | | |
| * | | | arti-example-config.toml: Add a slightly improved commentIan Jackson2022-05-121-0/+1
| | | | |
| * | | | arti-example-config.toml: Re-un-comment the example settings in testIan Jackson2022-05-123-4/+27
| | | | |
| * | | | arti-example-config.toml: Comment out all the example settingsIan Jackson2022-05-121-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We expect that a user may copy this file and uses it as a starting point for their own configuration. When they do that, we don't want them to freeze the default config in time. Instead, we can expect them to uncomment settings they wish to change. Then when they upgrade arti, *other* settings will get the new defaults, which I think is right.
| * | | | arti-example-config: Mark some non-default examples more clearlyIan Jackson2022-05-121-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now, git-grep '^#[^ ]' crates/arti/src/arti-example-config.toml has no ouptut. This prepares us for the next commit.
| * | | | config defaults: Test that empty deser is the sameIan Jackson2022-05-121-0/+4
| | | | |
| * | | | ARTI_EXAMPLE_CONFIG: Rename from ARTI_DEFAULTSIan Jackson2022-05-123-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | The defaults are built into the code. This is a doc-commented example file, not the primary specification of what the defaults are.
| * | | | ARTI_DEFAULTS: Move to arti crateIan Jackson2022-05-125-10/+4
| | | | |
| * | | | config defaults: No longer apply ARTI_DEFAULTS in load()Ian Jackson2022-05-122-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is redundant, because the defaults have to be supplied by the config builders (usually via builder default attributes). That this is actually done and correct is tested by the `default_config()` test case in arti/src/cfg.rs.
| * | | | config defaults: Test that going via builder explicitly is the sameIan Jackson2022-05-121-0/+4
| |/ / / | | | | | | | | | | | | | | | | Add this test even though our construction of the Default and Builder ought to trivially ensure that it's true.
* | | | Merge branch 'builder-default-bis' into 'main'eta2022-05-126-62/+26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | impl_standard_builder followup See merge request tpo/core/arti!505
| * | | | Rename impl_standard_builder from impl_default_via_builderIan Jackson2022-05-126-21/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have Plans for this macro. In particular: * I have a wip branch which tests that the Builder can be deserialised from an empty config (ie, that config reading of a config with a blank section for this item works). * I think we should autogenerate $Config::builder(), and promote that, rather than $ConfigBuilder::default(). This macro could do that.
| * | | | config: Replace more handwritten impl DefaultIan Jackson2022-05-123-44/+8
| | | | |
| * | | | config: Move macro calls to next to the structIan Jackson2022-05-122-9/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | This macro is kind of derive-y. Also it has a test in it, and failing to call it could allow bugs to exist, as well as missing bits of API. Putting it next to the structs makes it easy to see that it's actually been called.
* | | | Merge branch 'ticket_412_467' into 'main'Nick Mathewson2022-05-1210-71/+291
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Teach DirMgr to use slightly untimely directories Closes #467 and #412 See merge request tpo/core/arti!500
| * | | Resolve DOCDOC comments in tor-dirmgr.Nick Mathewson2022-05-122-5/+7
| | | |
* | | | Merge branch 'arti-config-1' into 'main'eta2022-05-125-2/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | arti-config: Move cmdline to tor-config See merge request tpo/core/arti!498
| * | | | arti-config: Move cmdline to tor-configIan Jackson2022-05-115-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does not know anything about arti, only about TOML and Config. Code motion, plus necessary import adjustments.
* | | | | Merge branch 'clippy' into 'main'eta2022-05-126-7/+15
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Improvements prompted by clippy, and disable one lint See merge request tpo/core/arti!497
| * | | | | clippy: Change a binding to (), and allow clippy::let_unit_valueIan Jackson2022-05-112-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The type of ret.map_err(codec_err_to_chan)? is (). ISTM that writing `let () = ` makes it clear that there is nothing there, but the lint forbids this. This lint is warn by default and trips here for me on current nightly. It seems wrong to me. We should be able to make it clear to the reader that there is nothing here - note how this differs from the lines below where Ready contains msg. A let () binding is a good way to do that. I think the lint allow ought to be added everywhere, but that doesn't seem easy right now - see this issue about maint/add_warning: https://gitlab.torproject.org/tpo/core/arti/-/issues/469
| * | | | | clippy: Use write! rather than push_str, formatIan Jackson2022-05-113-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does involve unwrap, but of course that can't fail unless the formats fail, which would already panic (that's implied by format!).
| * | | | | clippy: Drop an unused lifetimeIan Jackson2022-05-111-1/+1
| |/ / / /
* | | | | Merge branch 'builder-default' into 'main'eta2022-05-124-31/+40
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Provide and use macro for impl Derive via Builder See merge request tpo/core/arti!499
| * | | | | No longer derive Default on three structs which derive BuilderIan Jackson2022-05-112-4/+10
| | | | | |
| * | | | | Define and use impl_default_via_builderIan Jackson2022-05-112-27/+30
| |/ / / /