summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge branch 'arti-relay-flag' into 'main'Nick Mathewson2024-06-125-40/+92
|\ | | | | | | | | relay: Add relay cargo feature flag and subcommand See merge request tpo/core/arti!2182
| * relay: Add relay cargo feature flag and subcommandDavid Goulet2024-06-115-40/+92
| | | | | | | | | | | | | | | | | | | | Add the optional non default feature flag "relay" that will be used to enable relay support of arti. This commit also adds the "relay" subcommand to arti binary conditionnal on the feature flag in order to have a place holder starting point. Signed-off-by: David Goulet <[email protected]>
* | Merge branch 'rpc-stream-methods' into 'main'Nick Mathewson2024-06-117-229/+370
|\ \ | | | | | | | | | | | | | | | | | | RPC: Use RPC methods instead of the "ClientConnectionTarget" trait. Closes #1427 See merge request tpo/core/arti!2192
| * | Several typo fixes from GabiNick Mathewson2024-06-112-5/+4
| | |
| * | Un-indent a block.Nick Mathewson2024-06-111-42/+39
| | |
| * | RPC: Use RPC methods instead of the "ClientConnectionTarget" trait.Nick Mathewson2024-06-117-194/+339
| |/ | | | | | | | | | | | | | | | | | | | | | | On its own, this might not seem like a huge improvement, but it will later let us implement these RPC methods for types that can't reasonably implement ClientConnectionTarget. It also serves as a proof of concept that special-method invocation can actually work, so that we can build things like this in cases where introducing a trait isn't practical. Closes #1427
* | Merge branch 'sometimes-unbounded' into 'main'Nick Mathewson2024-06-113-50/+266
|\ \ | | | | | | | | | | | | RFC: Provide and use SometimesUnboundedSender in circuit reactor See merge request tpo/core/arti!2172
| * | SometimesUnboundedSink: Add a test case with some manual sequencingIan Jackson2024-05-301-0/+68
| | |
| * | SometimesUnboundedSink: Write commentary about WakerIan Jackson2024-05-301-0/+36
| | |
| * | SometimesUnboundedSink: Document some error behaviourIan Jackson2024-05-301-0/+4
| | |
| * | SometimesUnboundedSink: Fix a copypaste errorIan Jackson2024-05-301-1/+1
| | | | | | | | | | | | | | | If only I'd used a macro for these, but that's not entirely straightforward.
| * | SometimesUnboundedSink: Narrow dead code allowIan Jackson2024-05-301-2/+1
| | |
| * | Use SometimesUnboundedSink for the circuit reactor's bag-on-the-sideIan Jackson2024-05-291-50/+13
| | |
| * | Implmeent SometimesUnboundedSinkIan Jackson2024-05-292-0/+146
| | |
* | | StorageConfig: complete a missing piece of documentation.Nick Mathewson2024-06-111-1/+1
| | |
* | | StorageConfig: Light reformatting.Nick Mathewson2024-06-111-0/+3
| |/ |/|
* | rpc: Missing rpc_invoker is a Bug.Nick Mathewson2024-06-101-1/+6
| | | | | | | | | | Every method is either "special" or not; therefore, it is always a Bug if we look for an rpc_invoker and don't find one.
* | Add more explanation of InvokerEnt fields.Nick Mathewson2024-06-101-0/+8
| |
* | rpc: Make RpcMgr::lookup_object return context along with object.Nick Mathewson2024-06-102-6/+13
| | | | | | | | The context will make it possible to invoke rpc methods.
* | Implement rpc::Context on Connection directlyNick Mathewson2024-06-101-25/+7
| | | | | | | | | | | | | | | | | | | | | | This lets us get rid of a now-spurious `RequestContext` wrapper type and an extra layer of indirection; it will also make it easier to treat a Connection _as_ a context, so that we can have a context in the socks-rpc interface code. This patch removes a TODO about "treading carefully" when we make this change. When I added that TODO, I had misremembered some implementation details of the RPC object system.
* | rpc: allow Connection::lookup_object to take &selfNick Mathewson2024-06-101-7/+16
| | | | | | | | This will allow us to implement rpc::Context on Connection directly.
* | rpc: Make the connection type always-Arc.Nick Mathewson2024-06-102-5/+5
| |
* | Use refactored invoke_rpc_method in rpcserver.Nick Mathewson2024-06-101-6/+1
| |
* | rpc: Add RPC method invocation based on Context, not dispatch table.Nick Mathewson2024-06-102-1/+58
| | | | | | | | | | | | | | | | Doing it this way will allow us to invoke methods without holding the read lock on the table, implicitly or via the future. I am not yet removing the methods on DispatchTable, since the tests need them; I've added TODOs to revisit and remove later.
* | rpc: Pass around our rpc::Context in an Arc.Nick Mathewson2024-06-107-38/+40
| | | | | | | | | | | | | | | | Formerly we used a Box. That was okay at first, but now that we want RPC methods to be able to invoke other RPC methods, we don't want the Invocable methods to have to consume the Context. This requires that Context become Sync.
* | rpc: refactor DispatchTable invoker lookup into new functionsNick Mathewson2024-06-101-15/+36
| |
* | rpc: Implement Clone and HasKind on InvokeError.Nick Mathewson2024-06-101-1/+11
| |
* | Remove semver.md files.Gabriela Moldovan2024-06-053-15/+0
| | | | | | | | The 1.2.4 release is out, so we won't be needing these anymore.
* | tor-memquota: Downgrade to 0.18Gabriela Moldovan2024-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | I was unable to publish tor-memquota 0.19 because I don't have ownership ``` error: failed to publish to registry at https://crates.io Caused by: the remote server responded with an error (status 403 Forbidden): this crate exists but you don't seem to be an owner. If you believe this is a mistake, perh aps you need to accept an invitation to be an owner before publishing. ``` Let's downgrade it for now.
* | Run cargo update for {hashx,equix}/bench.Gabriela Moldovan2024-06-052-212/+184
| | | | | | | | | | | | | | | | | | Done using ``` (cd crates/hashx/bench && cargo update) (cd crates/equix/bench && cargo update) ```
* | Bump the arti crate to 1.2.4.Gabriela Moldovan2024-06-053-3/+3
| | | | | | | | | | | | | | | | Done using ``` cargo set-version -p arti --bump patch ```
* | Bump all the unstable tor- and arti- crates to 0.19.Gabriela Moldovan2024-06-0544-355/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unstable crates are: - tor-error - tor-config - tor-units - tor-geoip - tor-rtcompat - tor-rtmock - tor-log-ratelim - tor-rpcbase - tor-memquota - tor-llcrypto - tor-protover - tor-bytes - tor-hscrypto - tor-socksproto - tor-checkable - tor-cert - tor-linkspec - tor-cell - tor-proto - tor-netdoc - tor-consdiff - tor-netdir - tor-relay-selection - tor-persist - tor-chanmgr - tor-ptmgr - tor-guardmgr - tor-circmgr - tor-dirclient - tor-dirmgr - tor-keymgr - tor-hsclient - tor-hsservice - tor-hsrproxy - arti-client - arti-rpcserver - arti-hyper - tor-basic-utils - tor-async-utils Done using ``` for p in "${unstable[@]}"; do cargo set-version -p $p 0.19; done ``` where `unstable` contains the list above
* | Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2024-06-058-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * crates that have no changes: none * crates that only have non-functional changes (bump the patch version): - test-temp-dir - fslock-guard - hashx - equix - caret - fs-mistrust - safelog - retry-error Done using ``` for c in "${non_functional[@]}"; do maint/bump_nodep $c; done ``` where `non_functional` contains the list above
* | Merge branch 'more-exclusions' into 'main'gabi-2502024-06-052-17/+101
|\ \ | | | | | | | | | | | | tor-circmgr: Exclude the target relay when building vanguards circuits. See merge request tpo/core/arti!2186
| * | tor-circmgr: Explicitly handle all VanguardMode variants.Gabriela Moldovan2024-06-051-1/+10
| | | | | | | | | | | | This is less error-prone than the alternative.
| * | tor-circmgr: Reference a ticket number in a refactoring TODO.Gabriela Moldovan2024-06-051-1/+1
| | |
| * | tor-circmgr: Note that guard_and_target exclusion sometimes doesn't exclude ↵Gabriela Moldovan2024-06-051-0/+3
| | | | | | | | | | | | target.
| * | tor-circmgr: Exclude the target when extending SHORT stubs.Gabriela Moldovan2024-06-041-4/+18
| | | | | | | | | | | | | | | When extending SHORT circuit stubs, the last hop shouldn't be the same as the circuit target.
| * | tor-circmgr: Exclude the target relay when building vanguards circuits.Gabriela Moldovan2024-06-041-13/+71
| | | | | | | | | | | | | | | | | | Otherwise, some of the circuits will fail (because if the target is selected as one of the L2, L3, or M hops, it won't be able to extend the circuit to itself).
* | | arti-rpcserver: Reformat Cargo.toml.Gabriela Moldovan2024-06-051-1/+2
| | |
* | | Run fixup-features in preparation for release.Gabriela Moldovan2024-06-051-1/+1
|/ /
* | tor-circmgr: Apply deferred fmt.Gabriela Moldovan2024-06-041-1/+3
| |
* | tor-circmgr: Add TODOs about improving circuit length checks.Gabriela Moldovan2024-06-041-0/+2
| |
* | tor-circmgr: Remove HsPool::vanguards_enabled() (fmt).Gabriela Moldovan2024-06-041-2/+10
| |
* | tor-circmgr: Remove HsPool::vanguards_enabled().Gabriela Moldovan2024-06-041-24/+33
| | | | | | | | | | | | | | | | | | Previously, the HsCircPool had a bug that caused SHORT lite-vanguards circuits to be incorrectly extended by one hop when being repurposed as EXTENDED circuits (EXTENDED circuits only need to be extended by extra hop if full vanguards are in use). Closes #1456 and #1458
* | tor-circmgr: Validate the circuit stub length before returning it.Gabriela Moldovan2024-06-041-8/+68
| |
* | Merge branch 'pick-path-fix' into 'main'gabi-2502024-06-041-12/+49
|\ \ | | | | | | | | | | | | | | | | | | tor-circmgr: Exclude the circ target when building paths. Closes #1425 See merge request tpo/core/arti!2179
| * | tor-circmgr: If the path is invalid, display the offending hops in the error.Gabriela Moldovan2024-06-031-4/+5
| | |
| * | tor-circmgr: Ensure pick_path() builds paths with unique hops (fmt).Gabriela Moldovan2024-06-031-1/+5
| | |
| * | tor-circmgr: Ensure pick_path() builds paths with unique hops.Gabriela Moldovan2024-06-031-10/+24
| | | | | | | | | | | | | | | We now return an internal error if the path we've just built contains the same hop in multiple positions.