| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| | |
The remaining consequences of running add_warning
|
| | |
| |
| |
| |
| | |
From running add_warning, with manual picking of the right
hunks/lines.
|
| | |
| |
| |
| | |
These need to survive.
|
| | |
| |
| |
| |
| |
| | |
This was the result of:
maint/add_warning crates/*/src/{lib,main}.rs
and then manually curating the results.
|
| | |
| |
| |
| | |
This is the final piece of #457.
|
| | |
| |
| |
| |
| | |
This allows us to add the proper default example to the arti example
config file.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now the validated configuration will never be `Some(0)`, even if that
is what was written in the config file. The arti CLI parser can still
produce this, so we don't touch the code that actually uses this.
(Without the canonicalisation the default builder produces `None` for
the `dns_port`, but the example would produce `Some(0)`, which is
semantically identical but fails the test.)
See https://gitlab.torproject.org/tpo/core/arti/-/issues/488 for some
background.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Canonicalise the `logging.journald` setting in the validated
configuration. Now it will never be `Some("")`, even if that is what
was written in the config file.
This allows us to write `journald = ""` in the example configuration.
(Without the canonicalisation the default builder produces `None` and
the example would produce `Some("")`, which are semantically identical
but fail the test.)
See https://gitlab.torproject.org/tpo/core/arti/-/issues/488 for some
background.
|
| | |
| |
| |
| |
| | |
These weren't previously discussed. It's not practical or useful to
show the actual default values here.
|
| | |
| |
| |
| | |
Found by my forthcoming test.
|
| | |
| |
| |
| |
| | |
This makes the config default parser see just "[ ]", an empty list,
which is indeed the default.
|
| | |
| |
| |
| | |
That this remained was an oversight.
|
| |/ |
|
| |\
| |
| |
| |
| | |
add unit tests for ArtiConfig public functions
See merge request tpo/core/arti!551
|
| | |
| |
| |
| |
| | |
this change adds some simple tests for the ArtiConfig public getter
functions to help expand coverage in this crate.
|
| |/ |
|
| |\
| |
| |
| |
| |
| |
| | |
Break TorClientConfig out of ArtiConfig and warn on unknown config keys
Closes #459 and #417
See merge request tpo/core/arti!529
|
| | | |
|
| | |
| |
| |
| |
| | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/529#note_2807077
|
| | |
| |
| |
| |
| | |
As per review comments
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/529#note_2807076
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This gets rid of `#[serde(flatten)]` which prevents serde_ignored (and
other kinds of introspection) from working properly.
The price is now that the toplevel has to deal with two configuration
objects.
The Resolvable trait is overkill right now, but is going to do More
Things in a moment. In particular, we need the impl on tuples, so
that the whole config can be processed in one go.
|
| | |
| |
| |
| |
| |
| | |
We are going to reorganise ArtiConfig to not contain a
TorClientConfig. This test case's calls to bld.tor() will all need to
change. Do this in advance to make that future commit more readable.
|
| |/ |
|
| | |
|
| |
|
|
|
|
| |
This change requires a little refactoring of TorClientBuilder: now,
instead of enabling or disabling mistrust, it enables or disables
the decision to _override_ the mistrust in the config.
|
| |
|
|
|
| |
This is an approximately minimal revision to get Builder in place;
subsequent commits will clean up the API.
|
| |\
| |
| |
| |
| | |
Abolish arti-config, replacing with tombstone crate
See merge request tpo/core/arti!508
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\ \
| |/
|/|
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/issues/472
Experimentation convinced me the Mistrust should be within the
ConfigurationSources.
|
| |\ \
| |/
|/|
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| |
| |
| |
| | |
Improvements prompted by clippy, and disable one lint
See merge request tpo/core/arti!497
|
| | |
| |
| |
| |
| | |
This does involve unwrap, but of course that can't fail unless the
formats fail, which would already panic (that's implied by format!).
|
| |/ |
|
| |
|
|
| |
This will let other embedders use it.
|
| | |
|