summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'vanguard-mgr-refactor' into 'main'gabi-2502024-04-102-134/+118
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-guardmgr: Replace vanguard heap with a simpler approach. Closes #1366 See merge request tpo/core/arti!2082
| * | | | tor-guardmgr: Replace vanguard heap with a simpler approach.Gabriela Moldovan2024-04-102-134/+118
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As mentioned in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2075#note_3016306 using a heap isn't the best way to manage the vanguards: * in the default case, which will apply to most users, the L2 and L3 set sizes are 4 and 8 respectively. Using a heap doesn't make sense for such small sets * the use of `Weak<TimeBoundVanguard>`s will be an inconvenience later on, when we implement vanguard set persistence, since `Weak` isn't serializable or deserializable This switches to a simpler apporach, where the `VanguardMgr` computes the soonest expiration timestamp of its `VanguardSet`s by iterating over all the vanguards in each set. Closes #1366
* | | | Merge branch 'vanguard-mgr-sets' into 'main'gabi-2502024-04-1014-71/+1100
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-guardmgr: Make lite vanguards work Closes #1275 and #1340 See merge request tpo/core/arti!2075
| * | | | tor-guardmgr: Do not store the NetDir in VanguardMgr.Gabriela Moldovan2024-04-101-31/+23
| | | | | | | | | | | | | | | | | | | | | | | | | Instead, we try to get a `NetDir` from the `NetDirProvider` each time we `run_once()`.
| * | | | tor-guardmgr: Remove unnecessary call to discard_expired().Gabriela Moldovan2024-04-102-3/+8
| | | | |
| * | | | tor-guardmgr: Rename vanguards to vanguards heap for clarity.Gabriela Moldovan2024-04-101-12/+12
| | | | |
| * | | | tor-guardmgr: Remove unused params field.Gabriela Moldovan2024-04-101-4/+0
| | | | |
| * | | | tor-guardmgr: Validate lifetimes before constructing VanguarParams.Gabriela Moldovan2024-04-101-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | If the [min, max] lifetime interval for a vanguard layer is the empty set (i.e. min > max), we return the default lifetime.
| * | | | tor-guardmgr: Hold a weak reference to NetDirProvider.Gabriela Moldovan2024-04-101-7/+14
| | | | |
| * | | | tor-guardmgr: Don't recreate the event stream for each iteration (fmt).Gabriela Moldovan2024-04-101-1/+7
| | | | |
| * | | | tor-guardmgr: Don't recreate the event stream for each iteration.Gabriela Moldovan2024-04-101-3/+5
| | | | |
| * | | | tor-guardmgr: Only replenish the L3 sets if full vanguards are in use (fmt).Gabriela Moldovan2024-04-101-8/+2
| | | | |
| * | | | tor-guardmgr: Only replenish the L3 sets if full vanguards are in use.Gabriela Moldovan2024-04-101-33/+54
| | | | |
| * | | | tor-netdir: Increase channel size to so set_netidr_and_notify doesn't block.Gabriela Moldovan2024-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | `TestNetDirProvider::set_netidr_and_notify` blocks if the channel is full, so let's give it a non-zero size.
| * | | | tor-guardmgr: Clarify VanguardMgr::select_vanguard behaviour.Gabriela Moldovan2024-04-091-0/+9
| | | | |
| * | | | tor-guardmgr: Use ids_listed() instead of by_ids() (fmt).Gabriela Moldovan2024-04-091-1/+2
| | | | |
| * | | | tor-guardmgr: Use ids_listed() instead of by_ids().Gabriela Moldovan2024-04-091-1/+1
| | | | |
| * | | | tor-guardmgr: Update TODO to say we want RelayUsage::vanguard().Gabriela Moldovan2024-04-091-1/+1
| | | | |
| * | | | tor-guardmgr: Explain why we're making a uniform choice.Gabriela Moldovan2024-04-091-0/+3
| | | | |
| * | | | tor-guardmgr: Add tests for the vanguard manager.Gabriela Moldovan2024-04-054-0/+393
| | | | |
| * | | | tor-netdir: Implement TestNetDirProvider::events().Gabriela Moldovan2024-04-053-9/+55
| | | | |
| * | | | CI: Enable vanguards in the shadow tests.Gabriela Moldovan2024-04-051-1/+1
| | | | |
| * | | | arti: Enable arti-client/vanguards if vanguards are enabled.Gabriela Moldovan2024-04-051-0/+1
| | | | | | | | | | | | | | | | | | | | Without this we can't enable vanguards in the shadow tests.
| * | | | tor-guardmgr: Replenish the vanguard sets as needed.Gabriela Moldovan2024-04-052-13/+222
| | | | |
| * | | | tor-guardmgr: Implement From<&VanguardSet> for RelayIdSet.Gabriela Moldovan2024-04-051-1/+20
| | | | |
| * | | | tor-guardmgr: Add a function for selecting vanguard lifetimes.Gabriela Moldovan2024-04-051-0/+28
| | | | |
| * | | | tor-guardmgr: Implement VanguardSet::pick_relay.Gabriela Moldovan2024-04-052-12/+35
| | | | | | | | | | | | | | | | | | | | Closes #1340
| * | | | tor-guardmgr: Implement vanguard mgr.Gabriela Moldovan2024-04-051-10/+114
| | | | |
| * | | | tor-guardmgr: Make TimeboundVanguard fields pub(super).Gabriela Moldovan2024-04-051-2/+2
| | | | |
| * | | | tor-guardmgr: Add VanguardMgrError::NetDir.Gabriela Moldovan2024-04-051-0/+5
| | | | |
| * | | | tor-guardmgr: Store the TimeboundVanguards in a binary heap.Gabriela Moldovan2024-04-052-5/+47
| | | | |
| * | | | tor-guardmgr: Implement launch_background_tasks.Gabriela Moldovan2024-04-051-4/+35
| | | | |
| * | | | tor-circmgr: Call VanguardMgr::launch_background_tasks.Gabriela Moldovan2024-04-052-1/+10
| | | | |
| * | | | tor-guardmgr: Give VanguardSets a target set size.Gabriela Moldovan2024-04-052-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | The target is the number of vanguards the `VanguardMgr`s will try to maintain in the `VanguardSet`.
| * | | | tor-guardmgr: Derive getters for VanguardParams.Gabriela Moldovan2024-04-051-1/+7
| | | | |
| * | | | tor-guardmgr: Pass an rng to select_vanguard.Gabriela Moldovan2024-04-053-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | This function will need to randomly select a vanguard, so it needs an `Rng`.
| * | | | tor-guardmgr: Give VanguardMgr a handle to the runtime (fmt).Gabriela Moldovan2024-04-053-4/+19
| | | | |
| * | | | tor-guardmgr: Give VanguardMgr a handle to the runtime.Gabriela Moldovan2024-04-055-22/+22
| | | | |
| * | | | tor-guardmgr: Implement TryFrom<&NetParameters> for VanguardParams.Gabriela Moldovan2024-04-051-3/+18
| | | | |
| * | | | tor-guardmgr: Fix typo in VanguardSet docs.Gabriela Moldovan2024-04-051-1/+1
| | | | |
| * | | | tor-circmgr: Remove addressed TODO.Gabriela Moldovan2024-04-051-2/+0
| | |/ / | |/| | | | | | | | | | This was addressed in !2046, but I forgot to remove the TODO.
* | | | Merge branch 'ids_listed_note' into 'main'gabi-2502024-04-101-10/+16
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tweak documentation on some NetDir lookup functions Closes #1365 See merge request tpo/core/arti!2081
| * | | | Doc: tweak documentation on NetDir::id*listed functionsNick Mathewson2024-04-101-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Previously they were a bit confusing, and the public function explained its behavior in terms of the private one.
| * | | | Doc: Add xref from NetDir::by_ids to ids_listed.Nick Mathewson2024-04-101-0/+7
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Explain that `by_ids` isn't what you want if you need to know whether a relay _definitely_ doesn't exist. Closes #1365
* | | | Merge branch 'relay-sketch' into 'main'gabi-2502024-04-101-0/+174
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Sketch out first stages of work on relay support. See merge request tpo/core/arti!2067
| * | | | Sketch out first stages of work on relay support.Nick Mathewson2024-04-021-0/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @ahf asked me to try to outline what we should do in order to start out here, so I'm putting this in. It should cover us for a few months. This is by no means final; I'm just looking for initial comment.
* | | | | Merge branch 'ephemeral-keystore' into 'main'gabi-2502024-04-105-4/+324
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-keymgr: added initial implementation for in-memory ArtiEphemeralKeystore Closes #1358 See merge request tpo/core/arti!2076
| * | | | | tor-keymgr: added initial implementation for in-memory ArtiEphemeralKeystoreRichard Pospesel2024-04-105-4/+324
|/ / / / /
* | | | | Merge branch 'tor26-changes' into 'main'Nick Mathewson2024-04-091-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | dirauth: New tor26 v3 identity See merge request tpo/core/arti!2080
| * | | | | dirauth: New tor26 v3 identityDavid Goulet2024-04-091-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C-tor commit for this change: e3e4fa35e8b9368ac549db4da3240aba1ee3054e Signed-off-by: David Goulet <[email protected]>