summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge branch 'allow_unused_store_method' into 'main'Alexander Færøy2024-05-141-2/+5
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | DirMgr: Clarify dead_code status on storage methods. See merge request tpo/core/arti!2151
| * | | | DirMgr: Clarify dead_code status on storage methods.Nick Mathewson2024-05-141-2/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per comments on #1383, we're keeping these methods. This commit replaces the "TODO" comments with comments explaining why it's okay that this methods are unused. Part of #1383.
* | | | Merge branch 'rpc_stream_integration_v3' into 'main'Nick Mathewson2024-05-1412-75/+527
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | RPC: Allow SOCKS applications to create streams. See merge request tpo/core/arti!2143
| * | | | RPC: Use a slightly less awful workaround in socks.rsNick Mathewson2024-05-141-20/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that Rust won't let us say ``` type ConnTarget<R> = Arc<dyn ClientConnectionTarget>; ``` because the R parameter wasn't used. Previously we solved this by using a macro instead of a type definition, which is ugly. I had been thinking previously I would need to declare some kind of additional wrapper type, and had shrunk from the verbosity. But @diziet pointed out that I could just use a 2-tuple unconditionally. It's still not beautiful, but it is less hideous than before.
| * | | | RPC: Add notes about ClientConnectionTargetNick Mathewson2024-05-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Document its relation to the method system, and possible future evolution.
| * | | | RPC: Require DynClone for ClientConnectionError.Nick Mathewson2024-05-144-5/+9
| | | | |
| * | | | RPC: Seal ClientConnectionError.Nick Mathewson2024-05-141-2/+19
| | | | |
| * | | | RPC: Document RpcDataSTream state transitions.Nick Mathewson2024-05-141-1/+19
| | | | |
| * | | | RPC: Rename RpcDataStream::{Waiting => Launching}Nick Mathewson2024-05-141-5/+9
| | | | | | | | | | | | | | | | | | | | Also, improve documentation.
| * | | | proto: Fix compilation with stream-ctrl but not experimental-api.Nick Mathewson2024-05-142-2/+2
| | | | |
| * | | | Remove excess indentation from last commit.Nick Mathewson2024-05-141-14/+11
| | | | | | | | | | | | | | | | | | | | (This is a separate commit to make the branch more readable)
| * | | | RPC: Refactor socks interpretation to remove stream id, add isolation.Nick Mathewson2024-05-141-41/+41
| | | | |
| * | | | RPC: RpcDataStream type to act as a "stream-shaped hole"Nick Mathewson2024-05-147-0/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The application creates these, using a new-stream-handle RPC command, on an object that can actually create streams. Then later, the application provides the (global) identity of one of these objects when it's making a SOCKS connection. This causes the object to take hold of a `DataStreamCtrl`.
| * | | | RPC: Add a trait that can be the target of SOCKS requestsNick Mathewson2024-05-127-28/+176
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (These will later become objects that can receive any application request, once we have HTTP connect.) For now, Session and TorClient implement this trait; but soon there will be a new type to hold on to the created DataStreamCtrl. There are some XXXXs here, marking code that is too ugly to live. I should fix it before I merge this branch.
* | | | Merge branch 'list-crates' into 'main'Nick Mathewson2024-05-138-76/+56
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Replace maint/list_crates with list_crates_publish See merge request tpo/core/arti!2138
| * | | | Rename list_crates_publish to list_cratesIan Jackson2024-05-089-11/+11
| | | | |
| * | | | ABolish maint/list_cratesIan Jackson2024-05-082-31/+0
| | | | | | | | | | | | | | | | | | | | There are no callers any more.
| * | | | maint/check_doc_features: Use new list_crates_publish (nfc)Ian Jackson2024-05-081-2/+3
| | | | |
| * | | | maint/every-crate: Use new list_crates_publish (nfc)Ian Jackson2024-05-081-1/+1
| | | | |
| * | | | maint/changed_crates: Use new list_crates_publishIan Jackson2024-05-081-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace ad-hoc filtering, relying on things being in crates/. The following crates are no longer considered by this script: arti-bench arti-config arti-testing tor-congestion tor-events tor-hspow
| * | | | maint/matrix_test: Use new list_crates_publish (nfc)Ian Jackson2024-05-082-3/+4
| | | | |
| * | | | maint/list_crates_publish: Factor out callable, and add types (nfc)Ian Jackson2024-05-081-10/+24
| | | | |
* | | | | Merge branch 'allow' into 'main'Nick Mathewson2024-05-131-0/+1
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Suppress a false positive for a new lint on Rust Beta See merge request tpo/core/arti!2144
| * | | | Suppress a false positive for a new lint on Rust BetaIan Jackson2024-05-131-0/+1
|/ / / /
* | | | Merge branch 'doc_fix' into 'main'Nick Mathewson2024-05-101-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix rustdoc errors from !2140. See merge request tpo/core/arti!2142
| * | | | Fix rustdoc errors from !2140.Nick Mathewson2024-05-091-2/+2
|/ / / /
* | | | Merge branch 'rpc_stream_preliminaries' into 'main'Nick Mathewson2024-05-0915-51/+241
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | RPC: Preliminaries for RPC-stream integration See merge request tpo/core/arti!2140
| * | | | RPC: Un-parameterize RpcSession.Nick Mathewson2024-05-092-30/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead, add a trait so that we can hold TorClient<R> and invoke only the methods on it that we need. This is a partial revert of 47f012829d3381fd896c6b6f20961fbfe2f40f6d.
| * | | | RPC: Use one cast table entry per type.Nick Mathewson2024-05-091-29/+47
| | | | |
| * | | | tor-rpcbase: Add facility to downcast to Arc<dyn Trait>.Nick Mathewson2024-05-093-9/+84
| | | | | | | | | | | | | | | | | | | | | | | | | Previously we could only downcast to &dyn Trait, which is not adequate.
| * | | | Make cast_to_trait inherent on dyn Object.Nick Mathewson2024-05-091-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | This makes `ObjectRefExt` less necessary, and will let us make it Arc-only.
| * | | | rpcserver: rename streams.rs to codecs.rs.Nick Mathewson2024-05-093-2/+2
| | | | | | | | | | | | | | | | | | | | I think I'm going to add another stream management module here.
| * | | | proto: Expose wait_for_connection as a part of the DataStream API.Nick Mathewson2024-05-091-1/+1
| | | | |
| * | | | rpc: Mark TorClient as exposed outside of sessionNick Mathewson2024-05-091-1/+6
| | | | |
| * | | | rpc: Teach RpcSession to expose and isolate clients.Nick Mathewson2024-05-091-1/+39
| | | | |
| * | | | Make RpcSession parameterized.Nick Mathewson2024-05-093-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change allows it to hold a TorClient<R> that isn't type-erased. We'll use this for cases when we need to get the client directly and call functions on it.
| * | | | rpc: Add an isolated-client method on TorClient.Nick Mathewson2024-05-092-3/+27
| | | | |
| * | | | rpc::invoker_ent_list: allow trailing comma.Nick Mathewson2024-05-091-1/+1
| | | | |
| * | | | rpc: Add helper type for methods that return a single id.Nick Mathewson2024-05-093-0/+10
| | | | |
* | | | | Merge branch 'vanguard-todos' into 'main'gabi-2502024-05-097-75/+117
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-guardmgr: Address some vanguard-related TODOs See merge request tpo/core/arti!2139
| * | | | | tor-guardmgr: Map NoSuitableRelay errors to ErrorKind::NoPath.Gabriela Moldovan2024-05-091-2/+1
| | | | | |
| * | | | | tor-circmgr: Remove TODO expressing doubt about VanguardHsPathBuilder.Gabriela Moldovan2024-05-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't think it's all wrong, this was left over from the first draft implementation.
| * | | | | tor-guardmgr: Add an error variant for when the vanguard mode is unsuitable.Gabriela Moldovan2024-05-092-8/+25
| | | | | |
| * | | | | tor-guardmgr: Return a BootstrapRequired error if all the sets are empty (fmt).Gabriela Moldovan2024-05-091-1/+6
| | | | | |
| * | | | | tor-guardmgr: Return a BootstrapRequired error if all the sets are empty.Gabriela Moldovan2024-05-092-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, `select_vanguard` returned a `NoSuitableRelay` error if it was unable to select a relay to use as a vanguard. We now distunguish the "there are no suitable relays in the vanguard sets" (`NoSuitableRelays`) error case from the "our vanguard sets are empty" (`BootstrapRequired`) one.
| * | | | | tor-guardmgr: Fix typo in documentation.Gabriela Moldovan2024-05-091-1/+1
| | | | | |
| * | | | | tor-guardmgr: Add a BootstrapRequired error for VanguardMgr.Gabriela Moldovan2024-05-091-0/+9
| | | | | |
| * | | | | tor-guardmgr: Move VanguardMgrError to a separate module.Gabriela Moldovan2024-05-092-40/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is about to grow another variant, so I'm moving it to a dedicated `err` module.
| * | | | | tor-guardmgr: Remove a nonsensical TODO.Gabriela Moldovan2024-05-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `match` below it is fine, there's no need to rewrite it. (I think this TODO is actually dupe of the the TODO above it).
| * | | | | tor-guardmgr: Remove TODO about removing Vanguard abstraction.Gabriela Moldovan2024-05-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think it's alright to keep it: it gives us the flexibility to extend it later on, if needed.