| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This should be sufficient to detect several kinds of nefariousness
that we'd previously overlooked.
|
| | | | |
| | | |
| | | |
| | | | |
This should have gone in when we fixed #412
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, we did this in `advance()`, but that wasn't so great: it
meant that we could fail in the advance() code, whereas the calls to
`advance()` treated errors as fatal.
This treats failed verification as a blocking error that requires a
reset.
Fixes one aspect of #439.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Fortunately, the only error type that we need to handle blocking
errors with actually has a DirSource in it already.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
(A blocking error is one that means that the current bootstrap
attempt has failed, and must be restarted.)
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously all errors were treated as non-fatal.
The add_from_* implementations don't yet behave properly;
I'll fix them in subsequent commits.
|
| | | | |
| | | |
| | | |
| | | | |
(Also, implement Display for tor_dirclient::SourceInfo).
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously DocSource would tell you whether the document was from
a local store or a cache server, but it wouldn't tell you _which_
server it came from.
This change required adding DocSource as an argument to
DirState::add_from_download.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Do backtrace string matching test only on some platforms.
See merge request tpo/core/arti!512
|
| | | |
| | |
| | |
| | | |
I found the previous layout *much* better. Ah well.
|
| |/ /
| |
| |
| |
| |
| | |
"Fixes" #455 by suppressing the test.
This is !509 redux.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Reject directory circuits early if they are too skewed.
Closes #412, #467, and #466
See merge request tpo/core/arti!501
|
| | |\ \
| |/ /
|/| |
| | | |
# Conflicts:
# doc/semver_status.md
|
| | | |
| | |
| | | |
This reverts merge request !509
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Do backtrace string matching test only on Linux
See merge request tpo/core/arti!509
|
| | | | |
| | | |
| | | |
| | | | |
"Fixes" #455 by suppressing the test.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Fix typo
See merge request tpo/core/arti!510
|
| |/ / / |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|