| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit executes maint/add_warning with the just added change to
deny string slices except in tests.
I recommend auditing this by checking out the previous commit followed
by running the script yourself and then verifying that the diff is
identical to this commit.
This commit makes cargo clippy fail. We will add exceptions in the next
commit.
|
| |
|
|
|
| |
(This is a separate commit in order make the code movement in the
previous commit clearer.)
|
| |
|
|
|
|
|
|
| |
Discussion on #1960 suggests that this option is not a good idea:
it encourages developers to work around deliberate signals that the
software they're shipping won't work on the network.
Closes #1960.
|
| |
|
|
|
| |
(There are a few places where we still do things in nonstandard
places to avoid API breakage.)
|
| |
|
|
|
|
|
|
|
| |
Fixes part of #2193.
(Edits from nickm: I selected the cases here that I could verify
were correct from immediate context.)
Edited-by: Nick Mathewson <[email protected]>
|
| |
|
|
|
|
|
| |
Now that `vanguard_config()` is no longer conditional, we can handle
`vanguard_config` just like other accessors. This is a breaking change,
but I think we may as well make this change while we've already made
another breaking change in the previous commit.
|
| | |
|
| |
|
|
| |
Run maint/add_warning
|
| |
|
|
|
|
|
| |
This commit implements proposal 330 in the context of `tor-dircommon`,
by replacing the single `Authority` structure used in a list context by
a single structure called `AuthorityContacts` which contains all
v3idents, upload, download, and vote endpoints in one central place.
|
| | |
|
| |
|
|
|
| |
This commit moves the `DirTolerance` structure from `tor-dirmgr` into
`tor-dircommon`.
|
| |
|
|
|
| |
This commit moves the `DowenloadSchedule` related types from
`tor-dirmgr` into `tor-dircommon`.
|
| |
|
|
|
|
| |
This commit moves `NetworkStatus` from `tor-dirmgr::config` to
`tor-dircommon::config` in order to start the work on a common place for
configuration options shared by both directory implementations.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit initializes the `tor-dircommon` crate: A crate serving the
purpose to form an umbrella for the lowest common denominator primitives
found across crates implementing (parts of) the directory specification.
For now, the only such primitive is the found within the `authority`
module, which has been refactored from `tor-dirmgr` into this crate,
alongside additional getter functions due to the lack of `pub(crate)` in
this context.
In the future, we may move further primitives away from `tor-dirmgr`
into `tor-dircommon`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, run
```
git grep -l "^edition =" |
xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```
Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.
Third, run cargo fmt again.
|
| |
|
|
|
|
|
| |
This commit re-exports `ConfigurationSources` in `arti_client::config`.
The similar `ConfigurationSource` is already publicly exported, but it
unfortunately it is pretty useless without a `ConfigurationSources` to
which it belongs.
|
| |
|
|
|
| |
(This isn't a boolean, because we really don't want people ignoring
all possible required protocols.)
|
| |
|
|
|
| |
This time, we make explicit that it is a _base_ resolver,
and that it is client-only.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Rather than using `arti_client::config::path_resolver()`, third-party
code can get the path resolver using `TorClientConfig`s
`AsRef<CfgPathResolver>` impl instead.
|
| | |
|
| |
|
|
| |
Also updated to use the `PATH_RESOLVER` resolver.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a big change across multiple crates since there isn't a good way
to break it up.
This changes the signature of `CfgPath::path` to:
```
pub fn path(&self, path_resolver: &CfgPathResolver) -> Result<PathBuf, CfgPathError> {
```
Making this change means that our global `CfgPathResolver` needs to be
stored in the 'arti-client' library instead of `tor-config-path`, and
must be passed through to anything that calls `path` to expand the
variables.
|
| |
|
|
|
| |
Also updated other packages to get `CfgPath` directly from
`tor-config-path' instead of 'tor-config'.
|
| |
|
|
|
|
|
|
| |
The config will soon contain secondary C Tor keystore configuration too,
so the `arti` namespacing is about to stop making sense.
I recommend reviewing this commit using
`git diff --color-moved=zebra --ignore-space-change`
|
| |
|
|
|
|
|
| |
This was disabled due to lack of vanguard support. Now that we support
vanguards, we should enable this by default.
Fixes: #1402
|
| | |
|
| |
|
|
| |
Nothing uses this yet.
|
| | |
|
| |
|
|
| |
Tests are not entirely trivial and will come in a moment.
|
| | |
|
| | |
|
| |
|
|
|
| |
I am about to use `state_dir()` outside of `TorClient`, so I am
preemptively moving it to `TorClientConfig`.
|
| |
|
|
|
| |
`BuilderExt` will soon be used in tor-hsservice too (for configuring the
mistrust settings of the client "restricted mode" authorization keys).
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
We want to export the `VanguardConfig` even if the `vanguards` feature
is disabled (we will need to unconditionally include it in the arti
config).
Note that if `vanguards` are disabled, the `VanguardMode` from the
`VanguardConfig` can only be `Dsiabled`.
|
| |
|
|
|
|
|
| |
This is already exported via the `pub mod vanguards` module, so there is
no need to export it from the top-level too. This *is* a breaking change,
but the downstream fix is trivial (and the type should never have been
exported directly from `arti_client::config` in the first place).
|
| |
|
|
| |
I believe this is how we expose the parts of TorClientConfig?
|
| |
|
|
|
| |
Also, adapt the pt configuration tests to check for whether the
error messages are as expected.
|
| |
|
|
| |
We're going to start using this type for _every_ kind of transport.
|
| |\
| |
| |
| |
| | |
Encapsulate usage of config-rs inside tor-config.
See merge request tpo/core/arti!2040
|
| | |
| |
| |
| |
| | |
This will let us test our configuration logic without having
to use the `config` crate directly.
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|