| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | | |
The referenced types are no longer available in `vanguards.rs`.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
We will soon use this to test full vanguards.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This doesn't need to be `pub(super)` anymore, `VanguardMgr` now
manipulates the `VanguardSets` exclusively through
`VanguardSetsTrackedMut`.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
The `VanguardMgr` reads the vanguards from the vanguards state file,
whether full vanguards are enabled or not. It only persists the vanguard
sets to storage if full vanguards are in use.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since `rotate_expired()` (previously `remove_expired()`) now also
replenishes the vanguard sets, we can't use `advance_until_stalled()`
anymore, because `run_once()` is never be stalled in the tests
(`next_to_expire` is never `None`, so `sleep_fut` is never
`future::pending()`:
```
warning: MockRuntime advance_* looped >1000 (next sleep: 877560507ms)
```
Previously, `next_to_expire` was computed *before* replenishing the
vanguard sets, which is why the tests could use
`advance_until_stalled()`.
|
| | | |
| | |
| | |
| | |
| | | |
This addresses a TODO about not calling `handle_netdir_update`
unconditionally each time `VanguardMgr::run_once()` runs.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
A lot of this is code motion: the code added to `VanguardSetsTrackedMut`
was copied from the `VanguardMgr` impl, so I recommend reviewing this
with `git diff --color-moved=zebra`.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This enables us to track when `VanguardMgr`'s `VanguardSets` is
*actually* mutated.
This will soon be useful because we only want to flush the
`VanguardSets` to storage if we actually added or removed some relays
from the set.
|
| | | |
| | |
| | |
| | |
| | | |
These will be useful later, when we place the `l2_vanguards` and
`l3_vanguards` from `VanguardMgr` with a `VanguardSets`.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
changed.
The two removal functions now return whether any values were removed
from the `VanguardSet`. Their return values are currently ignored, but
will soon be used for deciding whether to flush the `VanguardSet`s to
disk (if full vanguards are enabled).
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
`VanguardSets` (not to be confused with `VanguardSet`) will soon be used
as:
* a helper for serializing the L2 and L3 `VanguardSet`s
* an abstraction over the two vanguard sets
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We will soon replace `VanguardSet::new` with `VanguardSet::default`:
`new()` currently expects a set of `VanguardParams` (from which the
target size of the set is derived), but we don't have a `VanguardParams`
until we obtain a `NetDir`. Moreover, it doesn't make sense to attempt
to set the target size of the `VanguardSet` before obtaining a `NetDir`,
because we can't actually populate the set without a `NetDir` (we can't
select relays).
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
By default, HS clients should be using lite vanguards, and HS services
full vanguards.
See https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/258#note_3011734
|
| |/ /
| |
| |
| | |
This TODO is fixed later in the branch.
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
tor-relay-selection: Introduce RelayUsage::vanguard.
Closes #1364
See merge request tpo/core/arti!2093
|
| | |
| |
| |
| | |
Closes #1364
|
| |/
|
|
|
|
|
|
|
|
|
| |
This adds a new `RelayUsage` for vanguards. As per the original
[vanguards implementation], vanguards must:
* have the Fast, Stable, and Valid flags
* be selected using the `Middle` weight
Part of #1364
[vanguards implementation]: https://github.com/mikeperry-tor/vanguards
|
| |\
| |
| |
| |
| |
| |
| | |
Upgrade to futures-rustls 0.26.0, rustls 0.23.5.
Closes #1377
See merge request tpo/core/arti!2095
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The rustls upgrade will solve #1377 and CVE-2024-32650.
Note that we've had to patch our RustlsProvider impl a bit in order
to keep the tests passing. See comments.
Closes #1377.
|
| |\ \
| |/
|/|
| |
| | |
Resolve nightly clippy errors in hashx.
See merge request tpo/core/arti!2096
|
| |/
|
|
|
|
| |
Nightly clippy doesn't like using "expr as T" when the conversion is
lossless; it prefers "T::from(expr)" so that if we later change the
type of T to something with a lossy conversion, we'll know.
|
| |\
| |
| |
| |
| | |
arti-client: add hs_circ_pool() method on TorClient
See merge request tpo/core/arti!2077
|
| |/ |
|
| |\
| |
| |
| |
| | |
tor-guardmgr: Minor vanguard-related cleanups
See merge request tpo/core/arti!2088
|
| | | |
|
| | |
| |
| |
| | |
It was addressed in !2083
|
| | |
| |
| |
| |
| | |
This is no longer true because of !2082. The `VanguardSet` *does* own
its `TimeBoundVanguards`.
|
| | |
| |
| |
| | |
These are not used anymore as of !2082, so we can remove them now.
|
| |\ \
| |/
|/|
| |
| | |
Minor docs fixes
See merge request tpo/core/arti!2087
|
| | |
| |
| |
| | |
This was a typo.
|
| | |
| |
| |
| | |
This is a broken link when built without --document-private-items.
|
| |/
|
|
| |
I overlooked this, apparently.
|
| |\
| |
| |
| |
| | |
Fix link to the Code of Conduct
See merge request tpo/core/arti!2085
|
| | |
| |
| |
| |
| |
| |
| |
| | |
It seems Gitlab doesn't follow symlinks and visiting the link shows
only the filename.
This patch replaces the link with the filename of the destination file
thus showing actual content when visited.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-hsservice: use shared status_tx to report OnionServiceStatus via...
See merge request tpo/core/arti!2086
|
| | |/
| |
| |
| | |
RunningOnionService::status_events()
|
| |\ \
| |/
|/|
| |
| | |
fuzz_it_all: Add a step where we run the fuzzers on the corpus alone.
See merge request tpo/core/arti!2071
|
| | |
| |
| |
| |
| | |
Most importantly for #1350, give it an option to _only_ run the
fuzzer against the testcases in the corpus.
|
| | |
| |
| |
| | |
(This is suitable for CI testing on our fuzzers.)
|
| |\ \
| | |
| | |
| | |
| | | |
tor-guardmgr: Read the VanguardMode from the consensus, not from the config.
See merge request tpo/core/arti!2083
|
| | | | |
|
| | | | |
|