| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Centralise applying the schema updates, in a closure
* Make the schema update SQL texts be in an array so we can loop
* Make the version update statement generic, not cloned-and-hacked
This will make it possible to add another schema version without
error-prone conditions etc.
|
| |\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | | |
GuardMgr: Almost finish wiring Bridges in as a guard substitute
See merge request tpo/core/arti!832
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This explanation is slightly complicated by the fact that I think
that one of the calls to update_guardset_internal() is possibly
unnecessary, and that one of the calls that it makes is potentially
ill-advised.
I'm not going to make those changes right now, however, because they
are potentially a little destabilizing.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Now it is an Option, and is set to None if bridges aren't enabled.
This simplifies `replace_bridge_config` a bit, and forces us to
check for `None` in a few more places.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Enforce this with assert!() and a documented panics section.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also remove a bunch of now-unnecessary `allow(dead_code)`
annotations.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We do this by checking the FirstHops we're about to return, and when
they correspond to bridges, looking up an appropriate BridgeRelay
in the current BridgeSet (if we can).
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We already _have_ these Arc<>s whenever we construct a UniverseRef,
so there's no real point in using &refs and making these so
hard to construct.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Found while grepping for NetDir.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `GuardMgr` code has functionality to tell the DirMgr "Hey,
don't switch to the new NetDir yet: we still need more guard
information!" But we never want to do that if we're selecting
bridges, since they don't come from the NetDir.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Instead of duplicating the logic about which guard sample uses which
universe, we explicitly ask it, and then use that universe. This
will avoid trouble if/when we introduce more samples.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
descriptors updated as appropriate.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This can probably be done in a simpler way, but for the moment I
would prefer to try to minimize the amount of code I'm changing
here.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will match our needs better and help avoid some `Arc<>`s.
It will be especially helpful for avoiding `Arc`s we don't
actually have.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I'm using an Arc<[]> here though I think that there's a chance
that a simple Vec<> would suffice. Since it's an internal type,
nothing will break if we change it later.
Also, we now switch into and out of the Bridges guard sample
as needed. However, that selection is not (yet) built from the
list of bridges. That will come soon.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Also fix its behavior when using bridges.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The first part changes which guard set is active based on based on
the parameters, which always come from a NetDir; the second changes
the contents of the active guard set, based on a Universe.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These arguments were used only for legacy (testing) purposes; the
tests now use `TestNetDirProvider`. This lets us simplify our
internal logic for passing a `NetDir` to our samples, and prepare
for having a `BridgeSet` to pass there instead.
This is a breaking change to `guardmgr` and `circmgr`.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I'm about to remove the old testing APIs from GurdMgr that took in a
NetDir in each function: adding this will make that possible.
|
| | | | | | |
|
| | | | | | |
|
| | | |/ /
| |/| |
| | | |
| | | | |
We require these for NetDirProvider, so this shouldn't be a big reach.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Spelling fixes and normalizations on some high-level crates
See merge request tpo/core/arti!835
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | | |
This allows the use of Box<dyn BridgeDescProvider> in callers,
since Box<dyn BridgeDescProvider> is now Clone.
|
| |/ / |
|
| | |
| |
| |
| |
| |
| | |
This was confusing, because it's the output of the donwload, but
nowhere near the output of the whole process. And it's going to
become even less so.
|
| | |
| |
| |
| | |
It deserves this treatment, I think.
|
| | |
| |
| |
| |
| | |
This gives names to things and makes things clearer, and this will be
even more true in a moemnt.
|
| | |
| |
| |
| | |
We're going to want to reuse this for handling cached stuff.
|
| |/ |
|
| |\
| |
| |
| |
| | |
tor-guardmgr: use imported WeightThreshold in one place
See merge request tpo/core/arti!825
|
| | |
| |
| |
| |
| | |
Without this, an unused import warning is generated when building
without features.
|
| | | |
|
| | |
| |
| |
| |
| | |
This will avoid having to make bridge-related trait features in
GuardMgr conditional, which would be non-additive.
|
| | |
| |
| |
| | |
This is the validation which is called for by the documentation.
|
| | |
| |
| |
| |
| | |
It doesn't seem to me like it makes sense to provide the backward
compatibility here.
|
| | | |
|
| | | |
|
| |/
|
|
|
| |
This does involve additional cloning. However, soon it will mean that
we can pass the whole `TorClientConfig` by reference.
|
| |
|
|
| |
These are newly present on 1.65. We can address them later.
|
| | |
|
| |\
| |
| |
| |
| | |
set all crate edition to 2021
See merge request tpo/core/arti!822
|