Commit Graph

1544 Commits

Author SHA1 Message Date
Nick Mathewson 58da76c6c4 Lock down some dirmgr config functions. 2021-10-09 17:30:06 -04:00
Nick Mathewson 58355d7d54 Re-export configuration types from tor-client. 2021-10-09 17:30:06 -04:00
Nick Mathewson af7c9d5a0b enable checked_conversions lint. 2021-10-09 16:53:13 -04:00
Nick Mathewson a5bfc3c963 Remove some planned items in add_warnings. 2021-10-09 16:52:54 -04:00
Nick Mathewson 2fa6f5dbb0 Normalize tor-guardmgr warnings 2021-10-09 16:17:54 -04:00
Nick Mathewson a0bcec5863 Note a possible heisenbug in a unit test. 2021-10-08 10:03:38 -04:00
Nick Mathewson 6230e1e2a6 Small edits on Android.md 2021-10-08 09:50:02 -04:00
Nick Mathewson 4a7c563b79 Fix some typos (via the "typos" tool) 2021-10-08 09:42:54 -04:00
Nick Mathewson aed9572c03 Add a few tracing calls to tor-guardmgr. 2021-10-08 09:14:36 -04:00
Nick Mathewson 29112e0729 Update the tor-guardmgr README.md. 2021-10-07 15:36:26 -04:00
Nick Mathewson 0ff56a3138 Resolve small issues and XXXX/TODO comments in GuardMgr.
By the time I merge this, most of the comments should have tickets
to go with them.
2021-10-07 14:03:21 -04:00
Nick Mathewson 00acc5c5b8 Tests for top-level GuardMgr.
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.
2021-10-07 12:09:29 -04:00
Nick Mathewson 7ef33b7afa Tests for tor_guardmgr::sample. 2021-10-07 10:45:42 -04:00
Nick Mathewson 0710fb2102 Initial tests for tor_guardmgr::guard 2021-10-07 10:45:42 -04:00
Nick Mathewson 6cdce3dee6 Implement persistent state for guard mgr 2021-10-07 10:45:42 -04:00
Nick Mathewson 0779923d64 Initial backend implementation for guard node manager.
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.
2021-10-07 10:45:42 -04:00
Nick Mathewson 520396bd2d Update total_weight to use UncheckedRelay. 2021-10-07 09:30:08 -04:00
Nick Mathewson 2b0ecec041 Make UncheckedRelay public in tor-netdir.
This will let us provide a couple of better APIs for use in tor-guardmgr
2021-10-07 09:30:08 -04:00
Nick Mathewson 565b396b86 Add From<u64> for RelayWeight. 2021-10-07 09:30:08 -04:00
Nick Mathewson 7e68883a27 Change tor-persist to use json instead of toml.
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.
2021-10-07 09:30:08 -04:00
Nick Mathewson 6c6785c04d Fix a type inference complaint in tor-dirmgr's tests.
I have no idea why this just turned up now.
2021-10-07 09:30:08 -04:00
Trinity Pointard 9c275a04ee update ctrlc and der
ctrlc had rustsec issues, der was yanked
2021-10-06 23:55:08 +02:00
Neel Chauhan 2e4f5e2d10 Formatting fixes 2021-10-06 12:32:17 -07:00
Neel Chauhan 31cf7e4d56 Make is_valid_hostname() global 2021-10-06 12:32:17 -07:00
Neel Chauhan 0e98e4a033 Add unit tests for hostnames 2021-10-06 12:32:17 -07:00
Neel Chauhan e76988738a Introduce ClientConfig for is_localhost config parameter 2021-10-06 12:32:17 -07:00
Neel Chauhan f4caae3569 Hostname corrections and add IPv6 hostname validation support 2021-10-06 12:32:17 -07:00
Neel Chauhan 0edafc76fa Reject bad hostnames and internal addresses in Arti 2021-10-06 12:32:17 -07:00
Nick Mathewson 150270f904 Update cargo.lock again. 2021-10-05 08:21:34 -04:00
Nick Mathewson 7bdb6e7633 Update cargo.lock; upgrade to newer rusqlite. 2021-10-05 08:10:04 -04:00
Nick Mathewson 10bedd925c Use subtle and some refactoring to remove branches in ntor
Closes #163
2021-10-01 12:27:24 -04:00
Nick Mathewson 1d64e88d67 Implement ConstantTimeEq for key ids. 2021-10-01 10:53:18 -04:00
Nick Mathewson 0c0a057bef In CI, *temporarily* ignore RUSTSEC-2021-0119 in nix crate.
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.
2021-10-01 09:24:38 -04:00
Jani Monoses f7e114c833 Allow building tor-persist for WASM 2021-10-01 14:22:31 +03:00
Nick Mathewson 83b03a20a3 Clarify why we use a dyn pointer for StorageHandle. 2021-09-30 15:36:11 -04:00
Nick Mathewson f1d6779218 Use StorageHandle in tor_circmgr. 2021-09-30 15:36:11 -04:00
Nick Mathewson 37bec4997d remote unused tor-persist/src/config.rs 2021-09-30 15:36:11 -04:00
Nick Mathewson 37040d06d1 Add tests for tor-persist object-safe wrapper. 2021-09-30 15:36:11 -04:00
Nick Mathewson fa9e64e27b tor-persist: Add a testing-only state manager that doesn't use disk 2021-09-30 15:36:11 -04:00
Nick Mathewson eef06efea6 Move FsStatemgr to an inner module. 2021-09-30 15:36:11 -04:00
Nick Mathewson f3d29b5006 Add an object-safe wrapper for StateMgr.
This is an attempt to uplift the trick that tor-circgmr is currently
using, since we'll want it in tor-guardmgr too.
2021-09-30 15:36:11 -04:00
Nick Mathewson ed44d7d968 Ensure pick_n_relays returns relays in random order.
(Also, fix a test)
2021-09-29 13:49:07 -04:00
Nick Mathewson 932924b733 tor-netdir: Add RelayWeight type and accessors.
I'm not thrilled with this code, but I think it's needed to
implement guards correctly.
2021-09-29 13:49:07 -04:00
Nick Mathewson 9114a9ed6e tor_netdir::testnet: Correct a documentation error. 2021-09-29 13:49:07 -04:00
Nick Mathewson d6e5d1b5a1 tor-netdir: Add some accessor that guardmgr will need.
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.
2021-09-29 13:49:07 -04:00
Nick Mathewson d78b25f2b0 Typo fix in comment. 2021-09-29 13:49:07 -04:00
Trinity Pointard e05a2ae51d add basic integration test 2021-09-27 17:35:32 +02:00
Nick Mathewson 5e196f7f3f Run cargo update on other dependencies. 2021-09-25 15:46:32 -04:00
Trinity Pointard 954395573a update fslock to compile android 2021-09-25 12:01:45 +02:00
Nick Mathewson 34ad08c1db Run cargo upate. 2021-09-23 08:27:48 -04:00