| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The flakiness from the `watch_single_file` test was caused by the race
between the config write, and the fake SIGHUP "signal" sent on
`sighup_tx`: sometimes, the sighup would get handled between creating
the config file and writing its contents. In those cases, the config
received in `TestModule::reconfigure` would be `Default::default()`,
which caused an assertion to fail (because the test is expecting to
receive the `ArtiConfig` it wrote to disk).
Closes #1549
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2374#note_3070500
|
| | | |
| | |
| | |
| | | |
Nothing uses this yet.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
I realised a way this could happen without there being a bug.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Including testing that uncommenting the example generates a config
with tracking enabled, and that the example low_water is the default
value for the example max.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Tests are not entirely trivial and will come in a moment.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
* In arti, memquota simply turns on in memquota arti-client
* In arti-client, add an (unconditional) dependency on tor-memquota,
and have the memquota feature turn on the feature in tor-memquota.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allow a `Config` to represent "this is supposed to be disabled".
This involves wrapping the actual built configuration in an IfEnabled.
We treat max = usize::MAX, or max being unspecified, as "disable".
We can now reporting an error during config building if max is set but
we're compiling the feature out. Conversely, we can now make
`MemoryQuotaTracker::new()` unconditional, since enabled
confiogurations are uninhabited when the feature is compiled out.
We change how we derive the setters, deriving them from the Builder.
I chose to abolish the use of derive_builder. See the new comment on
ConfigBuilder.
|
| | | | |
|
| | |/
|/|
| |
| |
| | |
We're about to change the config behaviour; adding these tests first
allows us to demonstrate the changes.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Done using
```
(cd crates/hashx/bench && cargo update)
(cd crates/equix/bench && cargo update)
```
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Done using:
```
cargo set-version --bump patch -p arti
```
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.22.0
done
```
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This bumps the versions of the non-{arti,tor-}
crates that have non-functional changes:
- fslock-guard (updated rustdoc-args)
- equix (comment typo fixes)
- caret (updated rustdoc-args)
- safelog (updated rustdoc-args)
- retry-error (updated rustdoc-args)
And of the pre-1.0.0 crates that have new APIs:
- fs-mistrust (new `CheckedDir::metadata` API)
Done using
```
for c in "${non_tor[@]}"; do maint/bump_nodep $c; done
```
where `non_tor` contains the list above
|
| | |
| |
| |
| | |
This is the first time we're publishing this, so let's start at 0.1.0.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
The `restricted-discovery` feature is reachable from `experimental`.
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
| |
This sets `COLUMNS` to a large value to prevent line wrapping.
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2370#note_3067346
Closes #1574
|
| | |
|
| |
|
|
| |
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2370#note_3066621
|
| |
|
|
|
|
| |
These file paths occupy more than 2 lines on some platforms.
See also the motivation behind 2b8a7a196b3ea5cd8350dd77f5e5120fed8521e0
|
| |
|
|
|
|
|
|
|
| |
This allows us to reenable the `arti hsc` tests, which were previously
disabled due to flakiness (see #1496).
The `help` test bit rotted a bit, so I had to tweak its expected output.
Closes #1496
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements the `TorClientThatIsntRunning` mentioned in !2314 (see also
`doc/dev/notes/keymgr-porcelain.md`), except `TorClientThatIsntRunning`
is called `InertTorClient`.
This commit is mostly code motion: I've moved the `create_keymgr`
function and the impls of `generate_service_discovery_key` and
`get_service_discovery_key` from `TorClient` to `InertTorClient`.
The `InertTorClient` advertises itself as a handle for accessing the
keystores and other persistent state, but it currently only has 2
functions (`generate_service_discovery_key` and
`get_service_discovery_key`). I expect it will grow additional
functionality in the future.
|
| |
|
|
|
| |
I am about to use `state_dir()` outside of `TorClient`, so I am
preemptively moving it to `TorClientConfig`.
|
| |
|
|
|
| |
Now that `oneshot-fused-workaround` is its own crate, `tor-rtmock` doesn't need
`tor-async-utils`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having this in the `tor-async-utils` crate prevents us from doing both
of the following without introducing a circular dependency:
* using it in `tor-rtmock` (which we currently do, particularly in
tests).
* using `tor-rtmock` to test things in `tor-async-utils`. We don't do
this yet, but it is generally sensible to do so. In particular we
want to move the `stream_peak` module there, which is currently tested
with `tor-rtmock`.
Moving this into its own crate avoids this circular dependency.
|
| |\
| |
| |
| |
| |
| |
| | |
RPC: Add experimental method to list SOCKS proxy addresses.
Closes #1523
See merge request tpo/core/arti!2359
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|