aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-rpc-client-core/src/conn/auth.rs
Commit message (Collapse)AuthorAgeFilesLines
* rpc-client-core: Add missing CookieBeginReply docsGabriela Moldovan2025-12-011-0/+1
|
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-1/+1
| | | | | | | | | | | | | | 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.
* squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-1/+1
| | | | - `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
* arti-rpc-client-core: Rename Authentication{Rejected=>Failed}Nick Mathewson2025-01-231-3/+3
| | | | | | | | Also change corresponding message. This way, it will be clear that we're just reporting that Arti gave us an error—not that the error necessarily means that the authentication itself was "wrong".
* rpclib: Avoid overuse of execute_internal_ok.Nick Mathewson2025-01-231-7/+11
| | | | | | | | | | | The execute_internal_ok method converts every error response into an internal error; as such, it's only appropriate when there is no way for a well-behaved Arti instance to give an error response. But we had been using it in a few places where errors were possible under other circumstances. This commit fixes that behavior, and adds documentation to help avoid it.
* rpclib: Rename params/reply structs for consistency.Nick Mathewson2025-01-211-6/+7
| | | | | | | | Our now convention here in rpclib is that a struct holding a request's parameters is called `FooParams`, and a struct holding that request's reply is called `FooReply`. Closes #1586
* rpclib: Add a note about where cookie auth is documented.Nick Mathewson2025-01-151-0/+1
|
* rpclib: Clean up after performing cookie authNick Mathewson2025-01-151-2/+7
| | | | | | Previously we never released the intermediary cookie-auth object, which would have left it kicking around on the RPC server side until we finally closed our connection.
* rpc: Tweak cookie protocol to bind both nonces.Nick Mathewson2025-01-151-2/+3
| | | | | | | | | | Previously participants in the cookie protocol only bound the peer nonce in their MACs. With this change, they bind both nonces. This change is _probably_ not necessary for security, but it can't hurt. It follows a general principle that Adam Langley told me a long time ago: you won't regret binding more, but you might regret binding less.
* arti-rpc-client-core: Client side of cookie authentication.Nick Mathewson2025-01-151-1/+68
|
* rpclib: Unify code internally generated requestsNick Mathewson2024-09-251-26/+3
| | | | | | | | We now have a single type to represent the error "A request that we made internally didn't get a result we expected." The functions to generate these requests are now centralized too. Closes #1587.
* rpclib: Support opening a data stream.Nick Mathewson2024-09-091-4/+7
| | | | | | Requires #1523. Implements #1524.
* rpc: Make ObjectId hold a Utf8CString internally.Nick Mathewson2024-08-061-1/+1
| | | | This will enable us to return it to FFI callers as a nul-terminated string.
* rpclib: Split ParsedRequest and Request types.Nick Mathewson2024-08-041-7/+5
| | | | (They are about to diverge even further.)
* rpclib: Initial tests for RpcConnNick Mathewson2024-07-241-1/+1
| | | | | | The "complex" test here is fairly involved, since it tries to detect deadlocks and race conditions by using multiple threads and answering requests out of order.
* rpc: Remove negotiation code.Nick Mathewson2024-07-161-52/+4
| | | | I think we'll need this again later, but for now it's redundant.
* rpc client: Documentation.Nick Mathewson2024-07-161-1/+20
|
* RPC: Implement connection negotiation.Nick Mathewson2024-07-161-0/+94