summaryrefslogtreecommitdiff
path: root/crates/arti-rpcserver/src
Commit message (Collapse)AuthorAgeFilesLines
* rpc: Have OneShotClient delegate to ClientDataStreamCtrl.Nick Mathewson2026-04-281-2/+5
| | | | | This enables the rpc client to call "arti:describe_path" and similar methods on streams constructed via this mechanism.
* rpc: Propagate and use LookupErrors.Nick Mathewson2026-04-133-12/+43
|
* rpc: Adjust invoke_rpc_method API and related lookups.Nick Mathewson2026-04-132-15/+6
| | | | | | | | | | | | The important thing here is that we need to look up the object _after_ we invoke any non-dispatched methods, since the object might be an expired weak reference. This required some related changes to tests and error types. Additionally, it required us to change the return value of Context::remove, since we can remove objects that are not completely present.
* rpc: new method for upgrading/downgrading/cloning object IDsNick Mathewson2026-04-131-1/+57
|
* rpc: Remove caveats wrt rpc::release.Nick Mathewson2026-04-131-10/+0
|
* rpc: Add context support for adding and removing weak refsNick Mathewson2026-04-132-18/+27
|
* rpc: Restore some weak-reference tests; remove others.Nick Mathewson2026-04-131-199/+9
| | | | | The removed tests are ones that no longer make sense given our simplified behavior.
* rpc: allow weak references to be created.Nick Mathewson2026-04-131-9/+39
|
* rpc: rename strong_arena to arena.Nick Mathewson2026-04-131-7/+6
|
* rpc: collapse GenIdx enum to its single variant.Nick Mathewson2026-04-133-37/+12
|
* rpc: Remove notion of separate table/idx space for weak referencesNick Mathewson2026-04-133-323/+37
| | | | | | | | | We no longer plan to have all weak-refs automatically de-duplicated, for reasons discussed at #868. This lets us discard a lot of code, including code to check for Arc/weak identity. I've disabled some unit tests here, but I'll add them back or rewrite them (or discard them as irrelevant) by the end of the branch.
* Force use of standard hasher with weak_tables.Nick Mathewson2026-03-241-1/+5
| | | | | | | | | | | | | Closes #2418. Fixes TROVE-2026-005, where we would use a less cryptographically secure (and probably less DoS resistant) hash function for these tables if: - We are built alongside another crate that uses `weak-table` - That crate enables the `weak-table/ahash` feature. - We are running on a system without hardware AES. Severity: Low
* Merge branch 'typos' into 'main'opara2026-03-161-1/+1
|\ | | | | | | | | Fix various typos See merge request tpo/core/arti!3781
| * Fix word duplicate typosTobias Stoeckmann2026-03-151-1/+1
| |
* | rpc: Do not allow a connection to be authenticated twiceNick Mathewson2026-03-164-10/+24
| | | | | | | | This makes it a little easier to drop unwanted capabilities.
* | rpc: Move responsibility for Session creation to ConnectionNick Mathewson2026-03-164-61/+32
| | | | | | | | | | The Connection will know the options that the listener was created with, as opposed to RpcMgr, which is the same for every listener.
* | rpc: Add su capability to RpcSession, and methods to get/drop itNick Mathewson2026-03-161-2/+108
|/ | | | | (For now, the su capability doesn't actually do anything, and there is no ability to actually have a session start with one.)
* Allow clippy::collapsible_if to triggerGabriela Moldovan2026-02-161-0/+1
| | | | | | | | | `clippy::collapsible_if` started triggering after bumping the MSRV to 1.88. Since this triggers from a lot of places, and since there even are a couple of instances where we explicitly allow `clippy::collapsible_ifs`, I've opened #2342 for deciding what to do about it.
* maint/add_warning: Run script to add new warningGabriela Moldovan2026-01-271-0/+1
| | | | This adds the lint to all our crates.
* Remove a spurious debug_assert in arti-rpcserver.Nick Mathewson2026-01-122-1/+1
| | | | | | | This should never have been retained when we refactored our channels for reporting responses into a single channel. The bug became apparent when quicktest became derived from debug.
* rpcserver: Add a temporary allow for missing docsGabriela Moldovan2025-12-011-0/+1
|
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-066-6/+6
| | | | Run maint/add_warning
* rpc: Clean up GlobalId decoding API.Nick Mathewson2025-08-273-18/+32
|
* rpc: Cleanups to GlobalId tag byte handling.Nick Mathewson2025-08-272-7/+15
|
* Tag byte corrections and don't crashNeel Chauhan2025-08-271-8/+2
|
* '$' as tag byteNeel Chauhan2025-08-272-2/+2
|
* Update docsNeel Chauhan2025-08-271-3/+2
|
* Use a 'G' prefixNeel Chauhan2025-08-272-5/+7
|
* arti-rpcserver: Check IDs with a tag byte, not a magic lengthNeel Chauhan2025-08-272-7/+11
| | | | Edited-by: Nick Mathewson <[email protected]>
* proto: Move the `stream` module under `client` (breaking).Gabriela Moldovan2025-08-181-1/+1
| | | | | | | | | | | | The `stream` module is client-specific, for the most part, so I am moving it under `client`. Later on, we will factor out the parts that can be shared with the relay implementation. Note: this is a breaking change as the deleted `stream` module was `pub`. We could've kept the module and reexported from it the public types from `tor_proto::client::stream`, but I think it's better to have this `client` namespacing, because it makes the separation between the client and relay parts clearer.
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-0710-16/+16
| | | | | | | | | | | | | | 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.
* Temporarily suppress mismatched_lifetime_syntaxes.Gabriela Moldovan2025-07-071-0/+1
| | | | See #2060.
* rpcserver: Fix another ceil_div warningNick Mathewson2025-04-071-2/+1
|
* Add some allow(unused)Ian Jackson2025-03-271-0/+3
| | | | | Fixes several warnings from cargo check --workspace --no-default-features
* rpcserver: Increase coverage in msgs modulevcrn2025-03-241-6/+25
|
* squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-183-5/+5
| | | | - The Rng::gen() functions have been renamed to Rng::random().
* squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-185-7/+7
| | | | - `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
* tor-rtmock: allow-Decorate every use of MockSleepProviderIan Jackson2025-03-061-0/+1
| | | | | | | MockSleepProvider and MockSleepRuntime have been declared deprecated by the docs for some time. We're about to mark them `#[deprecated]`. This commit has been split out for clarity of review.
* arti-rpcserver: Fix operator precedence warning.Gabriela Moldovan2025-02-241-1/+1
| | | | | This fixes an "operator precedence can trip the unwary" warning that showed up after I updated my toolchain to 1.85.
* Merge branch 'rpc_document_internal_optimism' into 'main'Nick Mathewson2025-01-301-2/+17
|\ | | | | | | | | | | | | rpc: Document what is actually going on with stream optimism. Closes #1583 See merge request tpo/core/arti!2753
| * rpc: Document what is actually going on with stream optimism.Nick Mathewson2025-01-301-2/+17
| | | | | | | | | | | | | | | | In brief: we _do_ correct implement correct optimistic vs nonoptimistic behavior for RPC streams. Only our documentation was wrong. Subsequent commits will fix our documentation more. See #1583.
* | proto: Rename (experimental) DataStream functions for ctrl accessNick Mathewson2025-01-301-1/+5
| | | | | | | | | | Since these return a client-specific type, they need a client-specific name before we can stabilize them for RPC.
* | proto: Rename DataStreamCtrl to ClientDataStreamCtrlNick Mathewson2025-01-301-5/+5
| | | | | | | | | | | | The API for this type, and the fact that it implements ClientStreamCtrl unconditionally, means that it is only for client DataStreams.
* | fix: fix typosDimitris Apostolou2025-01-301-1/+1
|/
* rpcserver: Remove a stale TODO. (RpcMgr works.)Nick Mathewson2025-01-281-2/+0
|
* rpcserver: Remove stale TODO about authenticationNick Mathewson2025-01-281-3/+0
| | | | (This TODO dates back to the point before we had sessions.)
* rpcserver: Improve conversion of authentication error.Nick Mathewson2025-01-282-7/+14
|
* rpc: Remove auth:query.Nick Mathewson2025-01-281-53/+0
| | | | | Nothing uses it; its role in negotiation has been replaced by the connect-point design.
* rpcserver: Remove a stale TODO about ConnectionId.Nick Mathewson2025-01-281-3/+0
| | | | Other parts of the crate no longer look at the .0 field directly.
* Merge branch 'rpc-references-cleanup' into 'main'Nick Mathewson2025-01-283-167/+199
|\ | | | | | | | | rpc: Move support for weak references behind an experimental feature See merge request tpo/core/arti!2742