summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge branch 'reload-cfg-test' into 'main'David Goulet2024-09-041-2/+4
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | arti: Write the test config atomically. Closes #1549 See merge request tpo/core/arti!2375
| * | Revert "arti: Temporarily disable a flaky test."Gabriela Moldovan2024-08-291-1/+0
| | | | | | | | | | | | This reverts commit ececf6be2eaffc201666cd3413dc19c025be66de.
| * | arti: Write the test config atomically.Gabriela Moldovan2024-08-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | memory quota error message: Fix emacs-induced typoIan Jackson2024-09-041-1/+1
| | |
* | | Fix typo in tor_memquota::ConfigBuilder docIan Jackson2024-09-041-1/+1
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2374#note_3070500
* | | Provide a MemoryQuotaTracker in TorClientIan Jackson2024-09-044-3/+15
| | | | | | | | | | | | Nothing uses this yet.
* | | tor-memquota: Provide reconfigure methodIan Jackson2024-09-042-1/+56
| | |
* | | tor-memquota: Break out reclamation wakeupIan Jackson2024-09-041-1/+6
| | |
* | | tor-memquota: Make reclamation wakeup no longer throw internal errorsIan Jackson2024-09-042-5/+6
| | | | | | | | | | | | I realised a way this could happen without there being a bug.
* | | arti: Proper testing of the memory limit config parsingIan Jackson2024-09-042-2/+57
| | | | | | | | | | | | | | | | | | 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.
* | | arti-client: Unstable cargo feature for exposing info for testingIan Jackson2024-09-042-0/+14
| | |
* | | tor-memquota: Unstable cargo feature for exposing info for testingIan Jackson2024-09-043-3/+26
| | |
* | | arti cfg tests: Provide resolve_return_resultsIan Jackson2024-09-041-0/+6
| | |
* | | arti cfg tests: strip_prefix: Leave section markers unchangedIan Jackson2024-09-041-1/+6
| | |
* | | arti cfg tests: strip_prefix: Document error behaviourIan Jackson2024-09-041-1/+3
| | |
* | | Look for memquota configuration in the TorClient configurationIan Jackson2024-09-043-1/+68
| | | | | | | | | | | | Tests are not entirely trivial and will come in a moment.
* | | Add memquota cargo features to arti and arti-clientIan Jackson2024-09-042-0/+6
| | | | | | | | | | | | | | | | | | * 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.
* | | arti/Cargo.toml: Sort the experimental features listIan Jackson2024-09-041-3/+3
| | |
* | | tor-memquota: Rework optionality configurationIan Jackson2024-09-046-31/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | tor-memquota: impl PartialEq for IfEnabled and EnabledTokenIan Jackson2024-09-041-2/+4
| | |
* | | tor-memquota: Add unit tests for config handlingIan Jackson2024-09-042-0/+57
| |/ |/| | | | | | | We're about to change the config behaviour; adding these tests first allows us to demonstrate the changes.
* | tor-relay: add `ChanMgr` to `TorRelay`Steven Engler2024-09-032-2/+41
| |
* | arti-client: replace `convert_override_net_params` with generic `default_extend`Steven Engler2024-09-031-10/+6
| |
* | tor-netdoc: impl `Extend` on `NetParams`Steven Engler2024-09-031-0/+6
| |
* | arti-relay: pass config in `TorRelay::create_inner`Steven Engler2024-09-032-3/+4
| |
* | Run cargo update for {hashx,equix}/bench.Gabriela Moldovan2024-09-032-134/+156
| | | | | | | | | | | | | | | | | | Done using ``` (cd crates/hashx/bench && cargo update) (cd crates/equix/bench && cargo update) ```
* | Bump arti crate to 1.2.7Gabriela Moldovan2024-09-033-3/+3
| | | | | | | | | | | | | | | | Done using: ``` cargo set-version --bump patch -p arti ```
* | Bump all the unstable tor- and arti- crates to 0.22.0.Gabriela Moldovan2024-09-0345-374/+374
| | | | | | | | | | | | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.22.0 done ```
* | Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2024-09-036-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | oneshot-fused-workaround: Set the initial version to 0.1.0.Gabriela Moldovan2024-09-0314-14/+14
| | | | | | | | This is the first time we're publishing this, so let's start at 0.1.0.
* | tor-async-utils: Re-export oneshot-fused-workaround as oneshot.Gabriela Moldovan2024-09-032-0/+3
| |
* | arti-rpcserver: Use a non-wildcard version requirement for slotmap-careful.Gabriela Moldovan2024-09-031-1/+1
| |
* | Fix formatting issues introduced by fixup-features.Gabriela Moldovan2024-09-0312-13/+58
| |
* | arti: Remove the XXXXs added by fixup-features.Gabriela Moldovan2024-09-032-2/+0
| | | | | | | | The `restricted-discovery` feature is reachable from `experimental`.
* | Run fixup-features in preparation for release.Gabriela Moldovan2024-09-0316-17/+21
| |
* | Fix typosDimitris Apostolou2024-09-0332-46/+46
| |
* | Move stream_peek into tor-async-utilsJim Newsome2024-08-297-11/+21
|/
* arti: Set the COLUMNS env var in the CLI tests.Gabriela Moldovan2024-08-283-11/+14
| | | | | | | | 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
* arti-client: Fix a rustdoc warning.Gabriela Moldovan2024-08-281-1/+1
|
* arti-client: Document the unspecified behavior of create_inert().Gabriela Moldovan2024-08-281-0/+6
| | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2370#note_3066621
* arti: Elide some text in the expected hsc test output.Gabriela Moldovan2024-08-281-2/+1
| | | | | | These file paths occupy more than 2 lines on some platforms. See also the motivation behind 2b8a7a196b3ea5cd8350dd77f5e5120fed8521e0
* arti: Implement the hsc subcommand using an inert tor client.Gabriela Moldovan2024-08-283-8/+4
| | | | | | | | | 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
* arti-client: Add an InertTorClient for accessing client state (fmt).Gabriela Moldovan2024-08-281-1/+3
|
* arti-client: Add an InertTorClient for accessing client state.Gabriela Moldovan2024-08-283-74/+166
| | | | | | | | | | | | | | | | 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.
* arti-client: Move state_dir() to TorClientConfig.Gabriela Moldovan2024-08-282-17/+17
| | | | | I am about to use `state_dir()` outside of `TorClient`, so I am preemptively moving it to `TorClientConfig`.
* tor-rtmock: remove dependency on tor-async-utilsJim Newsome2024-08-281-2/+1
| | | | | Now that `oneshot-fused-workaround` is its own crate, `tor-rtmock` doesn't need `tor-async-utils`.
* extract tor_async_utils::oneshot into ::oneshot-fused-workaroundJim Newsome2024-08-2846-78/+158
| | | | | | | | | | | | | | 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.
* Merge branch 'expose-proxy-setting' into 'main'Nick Mathewson2024-08-287-14/+309
|\ | | | | | | | | | | | | RPC: Add experimental method to list SOCKS proxy addresses. Closes #1523 See merge request tpo/core/arti!2359
| * rpc: Use MockRuntime for set_proxy_info test.Nick Mathewson2024-08-282-2/+3
| |
| * rpc: Add a test for setting proxy info.Nick Mathewson2024-08-282-0/+43
| |