| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | | |
These are needed to support the code which is moving.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
That's where this definitions is now. This test ought to have been
moved in
Move default_config_file() into arti-client
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
impl_standard_builder: Test the Deserialize impl and have it generate ::builder
See merge request tpo/core/arti!507
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This deletes many handcoded impls. It also generates lots of impls
that we previously didn't have.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
config load: Move mistrust checking to load()
See merge request tpo/core/arti!504
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/issues/472
Experimentation convinced me the Mistrust should be within the
ConfigurationSources.
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Delete tor_dirmgr::Error::BadNetworkConfig
See merge request tpo/core/arti!506
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
Make the example config file into a template and move it to arti
See merge request tpo/core/arti!503
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now,
git-grep '^#[^ ]' crates/arti/src/arti-example-config.toml
has no ouptut.
This prepares us for the next commit.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
The defaults are built into the code. This is a doc-commented example
file, not the primary specification of what the defaults are.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | |/ /
| | |
| | |
| | |
| | | |
Add this test even though our construction of the Default and Builder
ought to trivially ensure that it's true.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
impl_standard_builder followup
See merge request tpo/core/arti!505
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Teach DirMgr to use slightly untimely directories
Closes #467 and #412
See merge request tpo/core/arti!500
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
arti-config: Move cmdline to tor-config
See merge request tpo/core/arti!498
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This does not know anything about arti, only about TOML and Config.
Code motion, plus necessary import adjustments.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Improvements prompted by clippy, and disable one lint
See merge request tpo/core/arti!497
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This does involve unwrap, but of course that can't fail unless the
formats fail, which would already panic (that's implied by format!).
|
| | |/ / / |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Provide and use macro for impl Derive via Builder
See merge request tpo/core/arti!499
|
| | | | | | |
|
| | |/ / / |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Add correct serde(default) attrs for humantime_serde::option
See merge request tpo/core/arti!502
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Discovered by a test case in my local tree. The test case was
macro-generated by an extension of impl_standard_builder (which
macro istself currently awaiting review, arti!499)
Have also sent an MR to update the upstream docs
https://github.com/jean-airoldie/humantime-serde/pull/8
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Tidy up ConfigurationSource a bit
See merge request tpo/core/arti!495
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
This will let other embedders use it.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These generic arguments weren't consistent. It doesn't make sense ot
insist on getting a borrowed type and then cloning it. So tidy things
up in the direction of taking owned values, which is what
ConfigurationSources actually needs.
(My personal preference would be &dyn to avoid monomorphisation code
bloat but that was controversial last time I proposed it somewhere.)
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Discarding this error is not right.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
It is not clear to me how this `pub enum` survived the "inaccessible
pub" lint.
|
| |/ / /
| | |
| | |
| | |
| | | |
This emphasises its nature. We're going to provide a more cooked
constructor in a moment.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Improve documentation around Cargo features; make Runtime require Debug
Closes #445
See merge request tpo/core/arti!496
|