summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | GuardMgr: Change BridgeSet, BridgeRelay to use more referencesNick Mathewson2022-11-082-29/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | GuardMgr: Store bridge configuration.Nick Mathewson2022-11-081-15/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | GuardMgr: Remove duplicate code in set_filterNick Mathewson2022-11-081-13/+2
| | | | |
| * | | | GuardMgr: Clarify intent with update_active_set.Nick Mathewson2022-11-081-4/+5
| | | | | | | | | | | | | | | | | | | | Also fix its behavior when using bridges.
| * | | | GuardMgr: Split `update_internal` into two functions.Nick Mathewson2022-11-081-27/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Refactor external guardmgr APIs: Stop taking NetDir arguments.Nick Mathewson2022-11-087-84/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
| * | | | Mock implementation of a NetDirProvider for testing.Nick Mathewson2022-11-082-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Add an accessor for the latest BridgeDescList.Nick Mathewson2022-11-081-0/+12
| | | | |
| * | | | Implement GuardMgr::install_bridge_desc_providerNick Mathewson2022-11-081-6/+25
| | | | |
| * | | | Require Send+Sync for BridgeDescProviderNick Mathewson2022-11-081-1/+1
| | |/ / | |/| | | | | | | | | | We require these for NetDirProvider, so this shouldn't be a big reach.
* | | | Merge branch 'hilev_spelling' into 'main'Nick Mathewson2022-11-075-8/+8
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Spelling fixes and normalizations on some high-level crates See merge request tpo/core/arti!835
| * | | Spelling fixes and normalizations on some high-level cratesNick Mathewson2022-11-075-8/+8
| | | |
* | | | bridge desc: Make BridgeDescProvider DynCloneIan Jackson2022-11-071-1/+3
|/ / / | | | | | | | | | | | | This allows the use of Box<dyn BridgeDescProvider> in callers, since Box<dyn BridgeDescProvider> is now Clone.
* / / Fix typosDimitris Apostolou2022-11-066-9/+9
|/ /
* | bridgedesc: Rename "text" from "output"Ian Jackson2022-11-031-5/+5
| | | | | | | | | | | | 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.
* | bridgedesc: Make process_document into a free functionIan Jackson2022-11-031-53/+67
| | | | | | | | It deserves this treatment, I think.
* | bridgedesc: Introduce DownloadedIan Jackson2022-11-031-13/+17
| | | | | | | | | | This gives names to things and makes things clearer, and this will be even more true in a moemnt.
* | bridgedesc: download: Break out process_documentIan Jackson2022-11-031-47/+54
| | | | | | | | We're going to want to reuse this for handling cached stuff.
* | bridgedesc: Prepare Mockable trait for if-modified-sinceIan Jackson2022-11-032-6/+15
|/
* Merge branch 'warning' into 'main'Nick Mathewson2022-11-031-1/+1
|\ | | | | | | | | tor-guardmgr: use imported WeightThreshold in one place See merge request tpo/core/arti!825
| * tor-guardmgr: use imported WeightThreshold in one placeIan Jackson2022-11-031-1/+1
| | | | | | | | | | Without this, an unused import warning is generated when building without features.
* | guardmgr config: Provide bridge information to new and reconfigureIan Jackson2022-11-033-3/+61
| |
* | bridges config: Provide uninhabited placeholderIan Jackson2022-11-031-0/+14
| | | | | | | | | | This will avoid having to make bridge-related trait features in GuardMgr conditional, which would be non-additive.
* | bridges config: Check that bridges aren't enabled with no bridgesIan Jackson2022-11-031-1/+32
| | | | | | | | This is the validation which is called for by the documentation.
* | guardmgr config: Introduce and require new GuardMgrConfig traitIan Jackson2022-11-038-27/+78
| | | | | | | | | | It doesn't seem to me like it makes sense to provide the backward compatibility here.
* | define_accessor_trait: Allow specification of other itemsIan Jackson2022-11-031-1/+10
| |
* | define_accessor_trait: Allow specification of supertraitsIan Jackson2022-11-031-4/+8
| |
* | guardmgr config: Pass fallback list from config by referenceIan Jackson2022-11-033-12/+12
|/ | | | | This does involve additional cloning. However, soon it will mean that we can pass the whole `TorClientConfig` by reference.
* Suppress two clippy::large_enum_variant warningsNick Mathewson2022-11-032-0/+2
| | | | These are newly present on 1.65. We can address them later.
* Run add_warnings.Nick Mathewson2022-11-0338-0/+38
|
* Merge branch 'edition-2021' into 'main'eta2022-11-039-9/+9
|\ | | | | | | | | set all crate edition to 2021 See merge request tpo/core/arti!822
| * set all crate edition to 2021trinity-1686a2022-11-019-9/+9
| |
* | bridge descriptors tests: Fix flaky testIan Jackson2022-11-031-1/+11
| |
* | bridge descriptors tests: Test set_bridges more thoroughly (fix)Ian Jackson2022-11-031-1/+1
| | | | | | | | | | | | The RetryDelays are being triggered for the 2nd time here, so their timeouts can be longer. We must bump the sleep to make sure we don't have a flaky test.
* | bridge descriptors: logging: Log addition and removal (fmt)Ian Jackson2022-11-031-12/+20
| | | | | | | | Worsify formatting as demanded by rustfmt.
* | bridge descriptors: logging: Log addition and removalIan Jackson2022-11-031-8/+31
| | | | | | | | | | This involves breaking the calls to `new_bridges.remove` into a helper that does the logging.
* | bridge descriptors: logging: Log download start and outcomeIan Jackson2022-11-031-0/+6
| |
* | bridge descriptors tests: Test set_bridges more thoroughlyIan Jackson2022-11-031-0/+34
| | | | | | | | | | | | | | | | Prior to the previous commit, set_bridges would malfunction if there were bridges which where (i) in current (ii) in queued or running (iii) in the new bridge set. This test failed then and passes now.
* | bridge descriptors: Rewrite set_bridgesIan Jackson2022-11-031-18/+12
| | | | | | | | | | | | | | | | This was fundamentally confused and irregular. Now it is more regular: it does the same things to all the elements of Tracked, and a simple filtering on current. This fixes a bug, for which I'm about to add a test case.
* | bridge descriptors tests: Add another couple of test casesIan Jackson2022-11-031-1/+31
| |
* | bridge descriptors tests: stream_drain_ready returns event countIan Jackson2022-11-031-1/+4
| | | | | | | | We'll use this in a moment.
* | bridge descriptors tests: Break out bad_bridge helper functionIan Jackson2022-11-031-7/+7
| |
* | bridge descriptors: Change default max_refetchIan Jackson2022-11-032-2/+2
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/820#note_2850269
* | bridge descriptors: Add clarification about bridge statesIan Jackson2022-11-031-0/+3
| |
* | bridge descriptors: Improve and fix docs for consider_launchingIan Jackson2022-11-031-1/+6
| |
* | bridge descriptors: Add comments where StateGuard is droppedIan Jackson2022-11-031-0/+8
| |
* | bridge descriptors: Document `changed` and `earliest_timeout` OptionsIan Jackson2022-11-031-0/+5
| |
* | bridge descriptors: Document updates argument to timeout_taskIan Jackson2022-11-031-0/+6
| |
* | Require derive_more 0.99.3Ian Jackson2022-11-0312-12/+12
| | | | | | | | | | | | | | | | 0.99.[012] have a bug https://github.com/JelteF/derive_more/issues/114 which makes the Deref derive for bridgedesc::StateGuard not work and therefore breaks minimal-versions CI. It seems simpler to require the newer version everywhere.
* | bridge descriptors: TestsIan Jackson2022-11-033-0/+270
| |