summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
| * rpc: Rename E::SenderDroppedNick Mathewson2024-08-281-5/+6
| |
| * rpc: Try another incantation for watching for ProxyInfo.Nick Mathewson2024-08-281-13/+7
| |
| * rpc: Add another layer of indirection on proxyinfoNick Mathewson2024-08-282-3/+12
| |
| * rpc: Try using postage::watch to initialize ProxyInfo.Nick Mathewson2024-08-286-35/+82
| | | | | | | | | | (This is a bit trickier than I would like, but it ensures that we never return a "not initialized yet" code.)
| * Re-wrap a Cargo.toml.Nick Mathewson2024-08-281-1/+5
| |
| * RPC: Add experimental method to list SOCKS proxies.Nick Mathewson2024-08-285-16/+135
| | | | | | | | | | | | | | We'll need this for our rpc-library code to meaningfully open SOCKS connections. Closes #1523.
| * arti: Define a new ArtiRpcSession type.Nick Mathewson2024-08-284-4/+81
| | | | | | | | | | | | | | This type exists in the `arti` crate. It wraps and delegates to `arti_rpcserver::RpcSession`. Subsequent commits will use it to expose information from the `arti` crate to the RPC system; right now it does nothing.
| * rpcserver: Fix a trivial doc typo.Nick Mathewson2024-08-281-1/+1
| |
* | Merge branch 'publisher-file-watch' into 'main'gabi-2502024-08-283-81/+124
|\ \ | | | | | | | | | | | | tor-hsservice: Fix publisher config watching bug See merge request tpo/core/arti!2369
| * | tor-config: Improve FileWatcher documentation.Gabriela Moldovan2024-08-281-1/+12
| | |
| * | tor-config: Add tests for FileWatcher::watch_path.Gabriela Moldovan2024-08-281-0/+73
| | |
| * | tor-config: Make a test helper take a reference to TempTestDir.Gabriela Moldovan2024-08-281-2/+2
| | |
| * | tor-hsservice: Recreate the file watcher on every key_dir change event.Gabriela Moldovan2024-08-271-0/+3
| | | | | | | | | | | | | | | | | | | | | This ensures that if a directory used as a `key_dir` is moved (e.g. renamed), and then moved back to its original location (the one specified in `key_dirs`), our watcher continues watching the `key_dirs` contents.
| * | tor-config: Rename watch_file to watch_path.Gabriela Moldovan2024-08-273-6/+6
| | | | | | | | | | | | `FileWatcher::watch_file` can be used with arbitrary paths.
| * | tor-hsservice: Make sure we always watch the parents of the key_dirs.Gabriela Moldovan2024-08-271-15/+24
| | | | | | | | | | | | | | | This ensures that if a `key_dir` is created after we start watching it (or if it's moved), we are still able to detect changes.
| * | tor-hsservice: Always recreate the file watcher if the config changes.Gabriela Moldovan2024-08-271-59/+6
| | | | | | | | | | | | | | | | | | While this means we will be recreating the watcher slightly more often than necessary, this new approach is less error-prone than what we had before.
* | | Merge branch 'runtime' into 'main'Nick Mathewson2024-08-281-0/+16
|\ \ \ | | | | | | | | | | | | | | | | Discourage use of `tor_rtmock_test_with_*` macros See merge request tpo/core/arti!2372
| * | | Discourage use of `tor_rtmock_test_with_*` macrosIan Jackson2024-08-281-0/+16
| | |/ | |/| | | | | | | New tests should usually use tor_rtmock::MockRuntime.
* | | Merge branch 'update-circuit-comments' into 'main'Nick Mathewson2024-08-272-7/+1
|\ \ \ | |/ / |/| | | | | | | | tor-proto::circuit: remove some obsolete "limitations" comments See merge request tpo/core/arti!2366
| * | `tor_proto::channel`: update comment to point to `tor-chanmgr`Jim Newsome2024-08-271-2/+1
| | |
| * | `circuit` docs: delete comment about no flow-control etcJim Newsome2024-08-261-2/+0
| | | | | | | | | | | | | | | There is now (sendme-style) flow control, and some fairness (via round robin scheduling of streams).
| * | `circuit` docs: delete "one big mutex" limitationJim Newsome2024-08-261-3/+0
| | | | | | | | | | | | | | | | | | There is a mutex for some of the "mutable state", but the reactor only needs to lock it when adding a hop. It's not needed "to process a cell" or when streams send. Probably not worth calling out here.
* | | Merge branch 'rpclib-safer-handle' into 'main'Nick Mathewson2024-08-276-49/+46
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | rpclib, ffi: Allow simultaneous calls to `arti_rpc_handle_wait()` Closes #1532 See merge request tpo/core/arti!2360
| * | | rpclib: Remove in_mut_ptr_opt, and document why.Nick Mathewson2024-08-273-37/+22
| | | |
| * | | rpclib, ffi: Allow simultaneous calls to `arti_rpc_handle_wait()`Nick Mathewson2024-08-274-13/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Its underlying function previously took `&mut RpcHandle`, which was an accident waiting to happen. Now it takes `&RpcHandle` and includes a Mutex to prevent multiple threads from waiting for updates on the same request ID at once. As an alternative, we *could* try to update connimpl::Receiver to allow multiple simultaneous listeners on the same request ID. But that would (I think) require a lot more bookkeeping, and thus would be a bit more error-prone. Closes #1532.