| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
|
|
|
| |
There are some missing parts here (like persistence and tests)
and some incorrect parts (I am 90% sure that the "exploratory
circuit" flag is bogus). Also it is not integrated with the circuit
manager code.
|
| | |
|
| |
|
|
| |
This will let us provide a couple of better APIs for use in tor-guardmgr
|
| | |
|
| |
|
|
| |
(Also, fix a test)
|
| |
|
|
|
| |
I'm not thrilled with this code, but I think it's needed to
implement guards correctly.
|
| |
|
|
|
|
|
|
| |
We'll need `id_pair_is_listed()` to track whether a sampled guard is
(or is not) listed in the consensus.
We'll need `missing_descriptor_for` to see whether we've downloaded
enough microdescs to use a consensus.
|
| | |
|
| |
|
|
|
|
| |
(Thank goodness for rust; we messed up the coherency in C here so
many times, but I'm pretty sure that this time around we can't have
gotten it wrong.)
|
| |
|
|
|
| |
I'm alright with allowing cognitive-complexity violations in the
tests.
|
| |\ |
|
| | | |
|
| |/
|
|
|
|
|
|
| |
Doing this makes the code faster, lets us throw away some code, and
makes it easier to add a "choose-N-disjoint relays" implementation.
See large comment about plusses and minuses of new code. (Note that
the old implementation wasn't constant-time either.)
|
|
|
This will cause some pain for now, but now is really the best time
to do this kind of thing.
|