summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | WIPNick Mathewson2021-10-114-13/+19
| |
* | Make the guard selection function return a more useful type.Nick Mathewson2021-10-113-4/+56
| |
* | Add a function to look up a Relay by ChanTarget.Nick Mathewson2021-10-111-0/+8
| |
* | Integrate GuardUsability and GuardMonitor into CircuitBuilder.Nick Mathewson2021-10-103-11/+73
| | | | | | | | | | | | (When we're building a path with a guard, we need to tell the guard manager whether the path succeeded, and we need to wait to hear whether the guard is usable.)
* | Notify guard manager on network change and state flush.Nick Mathewson2021-10-106-8/+67
| |
* | Add a GuardMgr member to CircuitBuilderNick Mathewson2021-10-106-4/+22
| |
* | Merge branch 'sync_guard_api'Nick Mathewson2021-10-102-61/+40
|\ \
| * | Change the GuardMgr APIs to no longer be async.Nick Mathewson2021-10-101-32/+18
| | |
| * | Use an mpsc::unbounded() channel in GuardMgr.Nick Mathewson2021-10-102-29/+22
|/ / | | | | | | | | | | | | | | | | | | | | | | The advantage here is that we no longer have to use a futures-aware Mutex, or a blocking send operation, and therefore can simplify a bunch of the GuardMgr APIs to no longer be async. That'll avoid having to propagate the asyncness up the stack. The disadvantage is that unbounded channels are just that: nothing in the channel prevents us from overfilling it. Fortunately, the process that consumes from the channel shouldn't block much, and the channel only gets filled when we're planning a circuit path.
* | Require up-to-date x25519-dalek, async_executors, and argh.Nick Mathewson2021-10-093-3/+3
| | | | | | | | | | | | | | | | I tried using -Z minimal-versions to downgrade all first-level dependencies to their oldest permitted versions, and found that we were apparently depending on newer features of all three crates. I'm kind of surprised there were only three.
* | Lock down some dirmgr config functions.Nick Mathewson2021-10-091-11/+11
| |
* | Re-export configuration types from tor-client.Nick Mathewson2021-10-0911-14/+55
| |
* | enable checked_conversions lint.Nick Mathewson2021-10-0930-23/+75
| |
* | Remove some planned items in add_warnings.Nick Mathewson2021-10-091-8/+12
| |
* | Normalize tor-guardmgr warningsNick Mathewson2021-10-091-6/+6
| |
* | Note a possible heisenbug in a unit test.Nick Mathewson2021-10-081-0/+6
| |
* | Small edits on Android.mdNick Mathewson2021-10-081-17/+18
| |
* | Fix some typos (via the "typos" tool)Nick Mathewson2021-10-083-8/+8
| |
* | Add a few tracing calls to tor-guardmgr.Nick Mathewson2021-10-083-17/+74
| |
* | Update the tor-guardmgr README.md.Nick Mathewson2021-10-071-1/+97
| |
* | Resolve small issues and XXXX/TODO comments in GuardMgr.Nick Mathewson2021-10-075-48/+63
| | | | | | | | | | By the time I merge this, most of the comments should have tickets to go with them.
* | Tests for top-level GuardMgr.Nick Mathewson2021-10-076-23/+206
| | | | | | | | | | | | | | Also, refactor our message handling to be more like the tor_proto reactors. The previous code had a bug where, once the stream of events was exhausted, we wouldn't actually get any more notifications.
* | Tests for tor_guardmgr::sample.Nick Mathewson2021-10-071-1/+330
| |
* | Initial tests for tor_guardmgr::guardNick Mathewson2021-10-072-0/+296
| |
* | Implement persistent state for guard mgrNick Mathewson2021-10-073-10/+27
| |
* | Initial backend implementation for guard node manager.Nick Mathewson2021-10-0717-12/+2576
| | | | | | | | | | | | | | 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.
* | Update total_weight to use UncheckedRelay.Nick Mathewson2021-10-071-3/+7
| |
* | Make UncheckedRelay public in tor-netdir.Nick Mathewson2021-10-071-4/+4
| | | | | | | | This will let us provide a couple of better APIs for use in tor-guardmgr
* | Add From<u64> for RelayWeight.Nick Mathewson2021-10-071-0/+6
| |
* | Change tor-persist to use json instead of toml.Nick Mathewson2021-10-075-21/+23
| | | | | | | | | | | | The limitations with toml seemed to be reaching a head, and I wasn't able to refactor the guardmgr code enough to actually have its state be serializable as toml. Json's limitations are much narrower.
* | Fix a type inference complaint in tor-dirmgr's tests.Nick Mathewson2021-10-071-1/+1
| | | | | | | | I have no idea why this just turned up now.
* | update ctrlc and derTrinity Pointard2021-10-062-7/+7
|/ | | | ctrlc had rustsec issues, der was yanked
* Update cargo.lock again.Nick Mathewson2021-10-051-4/+4
|
* Update cargo.lock; upgrade to newer rusqlite.Nick Mathewson2021-10-052-13/+13
|
* Use subtle and some refactoring to remove branches in ntorNick Mathewson2021-10-013-22/+54
| | | | Closes #163
* Implement ConstantTimeEq for key ids.Nick Mathewson2021-10-012-4/+16
|
* In CI, *temporarily* ignore RUSTSEC-2021-0119 in nix crate.Nick Mathewson2021-10-011-1/+1
| | | | | | The affected API (getgrouplist) isn't one that we use, directly or transitively. We can't just upgrade immediately, since the ctrlc crate is currently stuck on the older version of nix.
* Allow building tor-persist for WASMJani Monoses2021-10-012-1/+5
|
* Clarify why we use a dyn pointer for StorageHandle.Nick Mathewson2021-09-301-1/+7
|
* Use StorageHandle in tor_circmgr.Nick Mathewson2021-09-303-70/+15
|
* remote unused tor-persist/src/config.rsNick Mathewson2021-09-301-10/+0
|
* Add tests for tor-persist object-safe wrapper.Nick Mathewson2021-09-301-0/+34
|
* tor-persist: Add a testing-only state manager that doesn't use diskNick Mathewson2021-09-303-0/+174
|
* Move FsStatemgr to an inner module.Nick Mathewson2021-09-302-187/+194
|
* Add an object-safe wrapper for StateMgr.Nick Mathewson2021-09-302-0/+98
| | | | | This is an attempt to uplift the trick that tor-circgmr is currently using, since we'll want it in tor-guardmgr too.
* Ensure pick_n_relays returns relays in random order.Nick Mathewson2021-09-291-3/+5
| | | | (Also, fix a test)
* tor-netdir: Add RelayWeight type and accessors.Nick Mathewson2021-09-293-0/+130
| | | | | I'm not thrilled with this code, but I think it's needed to implement guards correctly.
* tor_netdir::testnet: Correct a documentation error.Nick Mathewson2021-09-291-1/+1
|
* tor-netdir: Add some accessor that guardmgr will need.Nick Mathewson2021-09-291-2/+67
| | | | | | | | 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.
* Typo fix in comment.Nick Mathewson2021-09-291-1/+1
|