summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'use-locked-build' into 'main'Ian Jackson2024-05-162-2/+2
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | doc: Use locked build See merge request tpo/core/arti!2157
| * | | doc: Use locked buildpinkforest2024-05-162-2/+2
| | | |
* | | | Merge remote-tracking branch 'upstream/main' into HEADGabriela Moldovan2024-05-15115-1170/+2411
|\| | |
| * | | arti-client: Add one-hop circuit examplejuga2024-05-152-0/+67
| | |/ | |/| | | | | | | Co-authored-by: gabi-250 <[email protected]>
| * | Merge branch 'vanguards-extend-stub' into 'main'gabi-2502024-05-142-22/+98
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-circmgr: If necessary, extend the circuit to become STUB+. Closes #1400 and #1409 See merge request tpo/core/arti!2145
| | * | tor-circmgr: Reword a somewhat inaccurate comment about vanguards.Nick Mathewson2024-05-141-1/+1
| | | |
| | * | tor-circmgr: Fix path not being extended if lite vanguards are enabled.Gabriela Moldovan2024-05-141-1/+10
| | | |
| | * | tor-circmgr: Assign error-handling closure to variable.Gabriela Moldovan2024-05-141-7/+10
| | | | | | | | | | | | | | | | We will soon need to reuse this.
| | * | tor-circmgr: Rename neighbor_exclusion variables for clarity.Gabriela Moldovan2024-05-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | I am about to reuse one of these on the "lite" vanguards branch. I am renaming them to make it easier to see which one of the two I will be using.
| | * | tor-circmgr: After building the HS path, assert the length is correct.Gabriela Moldovan2024-05-141-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | One of these assertions currently fails, because we have a bug in the vanguard path builder: if lite vanguards are enabled, we only build 2-hop circuits instead of 3.
| | * | tor-circmgr: If necessary, extend the circuit to become STUB+.Gabriela Moldovan2024-05-131-8/+42
| | | | | | | | | | | | | | | | Closes #1400
| | * | tor-circmgr: Add a helper for extending HsCircStubs by one hop.Gabriela Moldovan2024-05-131-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | We're about to use this in `maybe_extend_stub_circuit` too. Part of #1400
| * | | 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-1411-75/+523
| |\ \ | | | | | | | | | | | | | | | | 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-143-5/+8
| | | |
| | * | 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-146-0/+242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-126-28/+174
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
| * / Suppress a false positive for a new lint on Rust BetaIan Jackson2024-05-131-0/+1
| |/
| * Fix rustdoc errors from !2140.Nick Mathewson2024-05-091-2/+2
| |
| * Merge branch 'rpc_stream_preliminaries' into 'main'Nick Mathewson2024-05-0914-51/+240
| |\ | | | | | | | | | | | | 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-092-0/+9
| | |
| * | 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).