summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'vanguard-params' into 'main'gabi-2502024-03-262-0/+89
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | tor-netdir: Add the vanguard params to NetParameters. See merge request tpo/core/arti!2053
| * | | tor-guardmgr: Replace From impl with from_net_parameter constructor.Gabriela Moldovan2024-03-261-2/+8
| | | |
| * | | tor-netdir: Use IntegerSeconds for the vanguard lifetime params.Gabriela Moldovan2024-03-261-4/+4
| | | |
| * | | tor-netdir: Use consistent termninology in the vanguard param docs.Gabriela Moldovan2024-03-261-6/+6
| | | |
| * | | tor-netdir: Fix torspec links in vanguard param docs.Gabriela Moldovan2024-03-261-8/+8
| | | |
| * | | tor-guardmgr: Implement From<BoundedInt32> for VanguardMode.Gabriela Moldovan2024-03-261-0/+13
| | | | | | | | | | | | | | | | | | | | We'll need this to convert the `vanguard_enabled` and `vanguard_hs_service` net params to a `VanguardMode.
| * | | tor-netdir: Add the vanguard params to NetParameters.Gabriela Moldovan2024-03-261-0/+70
| | |/ | |/| | | | | | | | | | | | | See also torspec!258 Part of #1272
* | | Merge branch 'stream_counting' into 'main'Nick Mathewson2024-03-2611-99/+362
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Implement max_concurrent_streams_per_circuit Closes #1124 See merge request tpo/core/arti!2047
| * | | Make filter conditional, to fix build with hs-service disabled.Nick Mathewson2024-03-262-2/+6
| | | |
| * | | Refactor and simplify ClientCircSyncViewNick Mathewson2024-03-262-34/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch, it holds only a reference to `&reactor.hops`, which greatly simplifies the reactor code's fight with the borrow checker. I've left some TODO comments about future directions here.
| * | | Rename the old IncomingStreamRequestContext to StreamReqInfo.Nick Mathewson2024-03-263-9/+7
| | | | | | | | | | | | | | | | (Doing this to prevent us having two structs with the same name.)
| * | | hss: Make the limit for streams configurable.Nick Mathewson2024-03-265-16/+30
| | | | | | | | | | | | | | | | Closes #1124.
| * | | Add an IncomingStreamRequestFilter to check early propertiesNick Mathewson2024-03-266-17/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on designs in #1124. Note that there is a TODO here about a hack I had to do to appease the borrow checker.
| * | | Define a type for a synchronous (blocking) view of a circuit state.Nick Mathewson2024-03-263-0/+40
| | | | | | | | | | | | | | | | | | | | We'll use this as an argument for the callback that checks stream requests to make sure they're permitted.
| * | | proto: Make StreamMap keep a count of open streams.Nick Mathewson2024-03-261-0/+34
| | | |
| * | | proto: Prevent general state-transitions on StreamEntNick Mathewson2024-03-262-38/+60
| | | | | | | | | | | | | | | | | | | | | | | | We want to keep an accurate count of the number of open streams, so we have to stop exposing `&mut StreamEnt` outside of the streammap module.
| * | | proto: Refactor circuit::streammap::StreamEntNick Mathewson2024-03-262-40/+51
|/ / / | | | | | | | | | | | | | | | | | | This is the first part of a refactoring that will let us keep code from the outside of `streammap` from changing a stream from one state to another. And we need to do _that_ so that StreamMap can count how many open streams it has.
* | | Merge branch 'refactor_stream_crypto_init' into 'main'Nick Mathewson2024-03-265-87/+118
|\ \ \ | |/ / |/| | | | | | | | Refactor the logic for constructing crypt layers. See merge request tpo/core/arti!2048
| * | Push HandshakeRole down one level.Nick Mathewson2024-03-261-5/+4
| | |
| * | Provide spec links for relay crypto formats.Nick Mathewson2024-03-261-2/+10
| | |
| * | Clean up match statement a little.Nick Mathewson2024-03-261-7/+7
| | |
| * | We now need circuit::handshake to exist unconditionally.Nick Mathewson2024-03-262-2/+15
| | |
| * | Refactor the logic for constructing crypt layers.Nick Mathewson2024-03-265-86/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The key insights here are: - That relay cell format and crypto protocols aren't orthogonal: Once we have GCO, it will require V1. - That we only need the actual functions for layer construction to be generic; we don't need to proliferate generic parameters everywhere. - That the circuit::handshake module already does most of what we want.
* | | Merge branch 'coarse' into 'main'Ian Jackson2024-03-2520-35/+397
|\ \ \ | |_|/ |/| | | | | | | | tor-rtcompat: Introduce CoarseTimeProvider, a new part of Runtime See merge request tpo/core/arti!2050
| * | tor-rtmock: Rename coarsetime module to coarse_timeIan Jackson2024-03-254-3/+3
| | | | | | | | | | | | | | | Modules with the same name as external crates don't work well with our MSRV.
| * | tor-rtcompat: Rename coarsetime module to coarse_timeIan Jackson2024-03-253-3/+3
| | | | | | | | | | | | | | | Modules with the same name as external crates don't work well with our MSRV.
| * | tor-rtcompat: coarsetime: Add a comment about doc statusIan Jackson2024-03-251-0/+4
| | |
| * | tor-rtcompat: Make Runtime imply CoarseTimeProvider, etc. (fmt)Ian Jackson2024-03-251-2/+2
| | |
| * | tor-rtcompat: Make Runtime imply CoarseTimeProvider, etc.Ian Jackson2024-03-253-0/+11
| | | | | | | | | | | | We must also impl CoarseTimeProvider for mocked runtimes.
| * | tor-rtmock: impl CoarseTimeProvider for mocked time providersIan Jackson2024-03-254-1/+70
| | |
| * | tor-rtmock: Implement from_real in terms of from_wallclockIan Jackson2024-03-251-1/+1
| | | | | | | | | | | | This reduces duplication a little.
| * | tor-rtcompat: implement_opaque_runtime impls CoarseTimeProviderIan Jackson2024-03-251-0/+7
| | | | | | | | | | | | Now all our non-mock runtime types impl CoarseTimeProvider.
| * | tor-rtcompat: CompoundRuntime: Add a CoarseTimeProvider, and impl (fmt)Ian Jackson2024-03-253-8/+29
| | |
| * | tor-rtcompat: CompoundRuntime: Add a CoarseTimeProvider, and implIan Jackson2024-03-258-27/+63
| | | | | | | | | | | | | | | | | | In all the uses in-crate, this is just a RealCoarseTimeProvider. Now all the compound runtimes impl CoarseTimeProvider.
| * | tor-rtcompat: Reformat a doc comment for semantic newlinesIan Jackson2024-03-251-3/+3
| | |
| * | tor-rtcompat: Provide coarsetime APIs and RealCoarseTimeProvider (fmt)Ian Jackson2024-03-251-3/+2
| | |
| * | tor-rtcompat: Provide coarsetime APIs and RealCoarseTimeProviderIan Jackson2024-03-257-0/+215
|/ /
* | Merge branch 'vanguards-relay-restrictions' into 'main'gabi-2502024-03-213-41/+104
|\ \ | | | | | | | | | | | | tor-guardmgr: Make Vanguard::select_relay take a RelayExclusion. See merge request tpo/core/arti!2049
| * | tor-circmgr: Fix a clippy warning.Gabriela Moldovan2024-03-213-4/+4
| | |
| * | tor-guardmgr: Explain what neighbor_exclusion is for.Gabriela Moldovan2024-03-212-3/+25
| | |
| * | tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵Gabriela Moldovan2024-03-211-7/+7
| | | | | | | | | | | | hop too (fmt).
| * | tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵Gabriela Moldovan2024-03-211-5/+9
| | | | | | | | | | | | hop too.
| * | tor-circmgr: Rewrite RelayExclusion building using exclude_identities().Gabriela Moldovan2024-03-211-19/+7
| | |
| * | tor-circmgr: Add function for building a RelayExclusion from a slice of relays.Gabriela Moldovan2024-03-211-0/+14
| | |
| * | tor-guardmgr: Make Vanguard::select_relay take a RelayExclusion.Gabriela Moldovan2024-03-213-5/+40
| | | | | | | | | | | | | | | | | | | | | This enables us to prevent the same relay from being picked in consecutive positions in a path. Part of #1340
| * | tor-circmgr: Clarify that stub circuits are sometimes 4-hop circuits.Gabriela Moldovan2024-03-201-1/+1
| | |
| * | tor-circmgr: Move HsPathBuilder trait impl closer to struct definition.Gabriela Moldovan2024-03-201-35/+35
|/ / | | | | | | This is just code movement to make the code a bit easier to follow.
* | Merge branch 'vanguard-api-changes' into 'main'gabi-2502024-03-2015-179/+616
|\ \ | |/ |/| | | | | | | | | tor-circmgr: Implement vanguard path selection in HsPathBuilder. Closes #1276, #1274, and #1279 See merge request tpo/core/arti!2046
| * tor-circmgr: Add allow(unused) for functions only used on particular feature ↵Gabriela Moldovan2024-03-201-0/+2
| | | | | | | | sets.
| * tor-circmgr: Move ExitPathBuilder::from_chosen_exit under the test mod.Gabriela Moldovan2024-03-201-10/+13
| | | | | | | | | | `ExitPathBuilder` is now `pub(crate)`, so we need to move this under the `test` module to fix the "unused" clippy warning.