| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/
|
|
|
|
|
|
|
|
|
| |
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.
|
| |/
|
|
|
|
| |
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.
|
| | |
|
| |\
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| | |
This was a typo.
|
| | |
| |
| |
| | |
This is a broken link when built without --document-private-items.
|
| |/
|
|
| |
I overlooked this, apparently.
|
| |
|
|
| |
RunningOnionService::status_events()
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Based on our discussion on https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/258#note_3011734
If it turns out this is not the behaviour we want, we can update `Inner::mode()` accordingly.
|
| | |
|
| |
|
|
|
|
| |
The `VanguardMgr` needs to know whether arti is running as an onion
service or not, in order to figure out which of the `vanguards_enabled`
and `vanguards_hs_service` modes to use.
|
| |
|
|
|
|
|
|
| |
We have two vanguard modes, one for when arti is running as a client,
and a separate one for when it's running as a service.
Both modes are extracted from the `NetParameters`, so they belong in
`VanguardParams`.
|
| |\
| |
| |
| |
| | |
Refactor RPC system to use derive_deftly; add generic-object support
See merge request tpo/core/arti!2079
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
We're taking this for the fix to derive-deftly#52.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Since we can't enumerate every instantiation at compile time,
we instead provide a macro to generate an _installer_ function
that installs a set of functions for a given instantiation.
Due to the limitations of macro_rules, the syntax for generics is
a bit ugly.
|
| | |
| |
| |
| |
| | |
Now there is an `decl_rpc_invoke_fn` macro that *only* declares the
type-erased functions. Another macro's job will be to register it.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This will be called _static_ to make it clear that it registers the
method statically, so you don't need to install it at runtime.
After a bit more work, there will be a separate macro that declares
an installer function.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
We don't actually need this to be a trait; we just need
methods and objects to have a `CONST_TYPE_ID_` if they want to
participate in the inventory-based method registry.
Removing this trait makes it much simpler to declare methods and
objects.
|
| | |
| |
| |
| |
| |
| | |
This simplifies our implementation logic in a few places,
and simplifies our invocation syntax greatly. There are a few
infelicities, noted in `TODO RPC` comments.
|
| | |
| |
| |
| |
| | |
(We don't plan to have any Object that can't be used
as an `Arc<dyn Object>`.)
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
streammap: Use an internal counted_hashmap to simplify invariant checking
Closes #1344
See merge request tpo/core/arti!2058
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This is always Send+Sync, and invariant with P.
|
| | | |
| | |
| | |
| | |
| | | |
(We're letting the "unchecked" suffix of this function be enough
to indicate that it's risky to use.)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of making `streammap.rs` responsible for keeping track of a
count field, this lowers that functionality into a lower-level
CountedHashMap type. Said type has a little more functionality than
we need, to sketch out how we'd want to develop it moving forward if
we find that it's useful elsewhere.
Closes #1344.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
tor-guardmgr: Make lite vanguards work
Closes #1275 and #1340
See merge request tpo/core/arti!2075
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Instead, we try to get a `NetDir` from the `NetDirProvider` each time we
`run_once()`.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|