summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | channel padding: Test timeout updatesIan Jackson2022-06-212-1/+50
| | | |
* | | | tor-chanmgr tests: Add config_update tracking to FakeChannelIan Jackson2022-06-211-1/+7
| | | |
* | | | channel padding: Honour NetDir for timeoutsIan Jackson2022-06-211-3/+47
| | | | | | | | | | | | | | | | But padding is still not enabled by default.
* | | | channel padding: Add the parameters from the spec to NetDirIan Jackson2022-06-211-0/+28
| | | |
* | | | channel padding: Plumb settings from chanmgrIan Jackson2022-06-218-27/+191
| | | |
* | | | channel padding: Introduce ChannelsConfig and reconfigure facilityIan Jackson2022-06-214-3/+242
| | | | | | | | | | | | | | | | Nothing geenrates config updates yet.
* | | | chanmgr: inner (map): Reorganise to prepare for having more stateIan Jackson2022-06-211-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | The main copy of the (global) configuration for the client's channels is going to have to live here, inside this mutex. So this really needs to become a struct with names fields.
* | | | channel padding timer: Support reconfigurationIan Jackson2022-06-211-4/+15
| | | | | | | | | | | | | | | | Nothing calls this yet.
* | | | channel padding timer: Allow creation without providing parameters yetIan Jackson2022-06-212-16/+32
| | | | | | | | | | | | | | | | It turns out that we are going to want this.
* | | | channel padding: Test creation in disabled stateIan Jackson2022-06-211-0/+12
| | | | | | | | | | | | | | | | | | | | We're about to split the main new() function off so write a separate test for new_disabled().
* | | | channel padding: Make Parameters a pub struct with builderIan Jackson2022-06-213-3/+15
| | | | | | | | | | | | | | | | chanmgr is going to want to make one of these from a NetDir.
* | | | tor-chanmgr: tests: Have unwrap_open return a (mut) referenceIan Jackson2022-06-211-2/+2
| |/ / |/| | | | | | | | | | | This avoids confusing bugs where you try to modify the result and nothing happens!
* | | Updated the warning message providing additional information about the type ↵0x4ndy2022-06-211-2/+1
| | | | | | | | | | | | of the proxy port.
* | | Merge branch 'ring_out_the_old' into 'main'Ian Jackson2022-06-172-2/+4
|\ \ \ | | | | | | | | | | | | | | | | Enforce no-ring-in-arti/full (and make it true) See merge request tpo/core/arti!592
| * | | Remove rustls from tor-rtcompat/fullNick Mathewson2022-06-162-2/+4
| | | | | | | | | | | | | | | | This is another consequence of the `ring` license issue; see #493.
* | | | Merge branch 'reachable_addrs_v2' into 'main'Nick Mathewson2022-06-1714-150/+480
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for reachable_addrs Closes #491 and #93 See merge request tpo/core/arti!583
| * | | | Rename guardset-selection function.Nick Mathewson2022-06-171-2/+7
| | | | | | | | | | | | | | | | | | | | Also, improve its documentation.
| * | | | Rename pick_guard, pick_guard_ext.Nick Mathewson2022-06-172-17/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the primary exposed function is `pick_guard` again. This commit is just function renaming.
| * | | | Refactor and document issues with modify_hop.Nick Mathewson2022-06-173-14/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the site of modify_hop, we now have a comment explaining the internal-error issue. To make the internal error less likely, we lower the modify_hop call in lib.rs into GuardSet, where it can make sure it's looking at the same filter as was used to select the guard. The function name "pick_guard_ext" is not permanent; I'm going to rename it in the next commit.
| * | | | API-fix for extend_sample_as_needed.Nick Mathewson2022-06-172-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the API said "you need to call this in a loop till it returns false". We did that in one place, but not another. With the introduction of filters, forgetting to loop here becomes a bug: so instead, change the behavior of extend_sample_as_needed so it handles looping itself.
| * | | | Remove some outdated comments.Nick Mathewson2022-06-174-19/+1
| | | | | | | | | | | | | | | | | | | | | | | | | These all say, in one form or another, "there is no guard filtering; there is only one selection". That's now false.
| * | | | Tweak parameters in guardmgr tests to improve testnet behavior.Nick Mathewson2022-06-171-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fake network we construct for these tests is small in ways that can sometimes cause weird behavior with guard filters. We fix this by adjusting the parameters of the guard selection algorithm accordingly in the tests. With these new parameters, #491 no longer occurs. This commit also adds comments to explain why the parameters are set as they are. Closes #491.
| * | | | CircMgr: Enable reachable_addrs filter.Nick Mathewson2022-06-172-1/+21
| | | | |
| * | | | Add a configuration option for reachable_addrsNick Mathewson2022-06-173-0/+46
| | | | | | | | | | | | | | | | | | | | (This doesn't do anything yet.)
| * | | | NetDoc: Make AddrPortPattern implement serde traitsNick Mathewson2022-06-173-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm using serde_with here to just re-use the Display and FromStr implementations, since those are what has proven easier to type in the past.
| * | | | GuardMgr: Support for multiple guard setsNick Mathewson2022-06-172-33/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | guard-spec.txt specifies that we have multiple separate samples of guards that we can use depending on whether the filter is restrictive or not. Here we implement the rules for switching between samples.
| * | | | Move set_filter into GuardMgrInner.Nick Mathewson2022-06-173-41/+34
| | | | | | | | | | | | | | | | | | | | | | | | | Convert its argument type to Option<&NetDir> to better match the rest of the API.
| * | | | GuardMgr: Function to tell how permissive a filter is.Nick Mathewson2022-06-171-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we're filtering guards, we have to check whether the filter is "restrictive": if it forbids most of the guards (by bandwidth), we keep its guards separated from the main set. If it is super-restrictive, we also warn. This functionality is specified in guard-spec.txt.
| * | | | Make AddrPortPattern and friends implement Eq and PartialEqNick Mathewson2022-06-172-2/+3
| | | | |
| * | | | GuardMgr: Also apply filters to fallback directories.Nick Mathewson2022-06-172-7/+12
| | | | |
| * | | | GuardMgr: remove disallowed addresses from returned FirstHops.Nick Mathewson2022-06-174-2/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since a guard can have a bunch of addresses, and the guard is permitted if any one of those addresses is permitted, then we might decide to use a guard with some non-permitted addresses. Thus, we need to filter those addresses before returning the view of the guard as a FirstHop.
| * | | | GuardMgr: Remove old testing filter variant.Nick Mathewson2022-06-172-21/+9
| | | | | | | | | | | | | | | | | | | | | | | | | We don't need to restrict based on bits in the key id any longer, since we have a real filter.
| * | | | GuardMgr: Add a new filter type based on reachable addresses.Nick Mathewson2022-06-172-8/+24
| | | | |
| * | | | Guardmgr: Change the GuardFilter API.Nick Mathewson2022-06-173-19/+46
| |/ / / | | | | | | | | | | | | | | | | The guard filter is now a set of restrictions that can be placed on allowable guards.
* | | | Merge branch 'config-fix2' into 'main'Nick Mathewson2022-06-168-104/+76
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Use impl_standard_builder more and remove manual Default/builder impls See merge request tpo/core/arti!594
| * | | | tor-proto: channel: Tell clippy it's ok to print in testsIan Jackson2022-06-161-0/+1
| | | | |
| * | | | impl_standard_builder: Use for tor_dirmgr::AuthorityIan Jackson2022-06-161-10/+2
| | | | |
| * | | | impl_standard_builder: Use for tor_guardmgr::FallbackDirIan Jackson2022-06-161-6/+3
| | | | |
| * | | | impl_standard_builder: Use for tor_dirmgr::DownloadScheduleIan Jackson2022-06-161-14/+3
| | | | |
| * | | | impl_standard_builder: Use for arti::logging::LogfileConfigIan Jackson2022-06-161-7/+2
| | | | |
| * | | | impl_standard_builder: Allow for !DefaultIan Jackson2022-06-161-13/+54
| | | | |
| * | | | arti: logging config: Replace a manual Debug implIan Jackson2022-06-162-7/+5
| | | | |
| * | | | impl_standard_builder: Use for tor_dirmgr::DownloadScheduleConfigIan Jackson2022-06-161-14/+1
| | | | |
| * | | | impl_standard_builder: Use for tor_dirmgr::NetworkConfigIan Jackson2022-06-161-19/+2
| | | | |
| * | | | impl_standard_builder: Use for tor_dirmgr::DirSkewToleranceIan Jackson2022-06-161-13/+2
| | | | |
| * | | | tor-config: impl_standard_builder: handle contexts with local ResultIan Jackson2022-06-161-1/+1
| | | | |
* | | | | Merge branch 'upgrade_float_eq' into 'main'Ian Jackson2022-06-161-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Upgrade to float_eq 1.0.0 See merge request tpo/core/arti!591
| * | | | | Upgrade to float_eq 1.0.0Nick Mathewson2022-06-161-1/+1
| | |/ / / | |/| | |
* | | | | Merge branch 'config-fix' into 'main'Ian Jackson2022-06-164-49/+92
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Config handling and logging fixes Closes #480 See merge request tpo/core/arti!589
| * | | | | arti: cfg: Remove another needless borrowIan Jackson2022-06-161-1/+1
| | | | | |