summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | 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
| |
* | add basic integration testTrinity Pointard2021-09-271-0/+24
| |
* | Run cargo update on other dependencies.Nick Mathewson2021-09-251-4/+4
| |