summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | safelog: Remove type argument from `impl_display_traits`Ian Jackson2022-11-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | We're going to have this same macro implement the same traits for a second type. And its function is specific to `Sensitive`, so have it know that.
| * | | safelog: Provide some more accessorsIan Jackson2022-11-231-0/+15
| | | | | | | | | | | | | | | | | | | | We're about to use `.as_inner()` in a few places, and `.as_ref()` (by analogy with `Option`) seems obviously necessary.
* | | | Merge branch 'bdm-dormant' into 'main'Ian Jackson2022-11-232-13/+71
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bridge desc mgr: Honour specified dormancy Closes #630 See merge request tpo/core/arti!861
| * | | | bridge desc mgr: Add dormancy comment to effective_parallelismIan Jackson2022-11-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/861#note_2856922
| * | | | bridge desc mgr: Test dormancyIan Jackson2022-11-231-0/+42
| | | | |
| * | | | bridge desc mgr: Honour specified dormancyIan Jackson2022-11-231-6/+13
| | | | | | | | | | | | | | | | | | | | Fixes #630
| * | | | bridge desc mgr: Introduce effective_parallelism helperIan Jackson2022-11-231-5/+12
| | | | |
| * | | | bridge desc mgr: Move set_dormancy to impl that is for mock tooIan Jackson2022-11-231-6/+6
| |/ / /
* | | | Merge branch 'watch-drop-option' into 'main'Ian Jackson2022-11-233-13/+50
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-basic-utils: DropNotifyWatchSender: use DropNotifyEofSignallable See merge request tpo/core/arti!853
| * | | arti-client: Add comment about Option DormantModeIan Jackson2022-11-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/852#note_2854090 (ftaod, that is a different MR to this one)
| * | | tor-basic-utils: DropNotifyWatchSender: use DropNotifyEofSignallableIan Jackson2022-11-232-7/+38
| | | | | | | | | | | | | | | | | | | | This will help avoid the programmer making the mistake I made here: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/852#note_2854029
| * | | tor-basic-utils: DropNotifyWatchSender test: introduce IIan Jackson2022-11-231-6/+9
| |/ / | | | | | | | | | | | | We do want to test this with a non-Option type, but we are going to have to wrap it up.
* | | Merge branch 'bridge-config-arc' into 'main'Nick Mathewson2022-11-235-34/+47
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Make BridgeConfig be Arc, so no Arc<BridgeConfig> Closes #635 See merge request tpo/core/arti!885
| * | | BridgeConfig: Replace all Arc<BridgeConfig> with BridgeConfigIan Jackson2022-11-224-12/+7
| | | | | | | | | | | | | | | | BridgeConfig is itself an Arc now, so these are redundant.
| * | | BridgeConfig: Make it be a newtype around Arc<Inner>Ian Jackson2022-11-221-21/+40
| | | | | | | | | | | | | | | | | | | | This leaves the external API of this type unchanged, but now it's much smaller and quite cheap to clone.
| * | | bridge config: Remove a done TODOIan Jackson2022-11-221-1/+0
| | | | | | | | | | | | | | | | This was done by !874 and #604 closed accordingly.
* | | | Merge branch 'test-config' into 'main'Ian Jackson2022-11-232-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-guardmgr: Fix visibility of TestConfig with no features enabled See merge request tpo/core/arti!875
| * | | | tor-guardmgr: Fix visibility of TestConfig with no features enabledIan Jackson2022-11-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Without this, tor-guardmgr tests don't build when run without the crate's own testing feature enabled.
* | | | | Merge branch 'stability' into 'main'Nick Mathewson2022-11-232-17/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti-client, tor-config: Remove stability warning from top-level docs See merge request tpo/core/arti!878
| * | | | | arti-client, tor-config: Remove stability warning from top-level docsIan Jackson2022-11-212-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ticket #285 is closed and most of this is stable now we think. (There are still a couple of stability warnings for specific types in tor-config, which aren't exposed at the arti-client level.)
* | | | | | Merge branch 'remove_deadcode_allow' into 'main'Nick Mathewson2022-11-231-1/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | guardmgr: Remove a now-unneeded "allow(dead_code)" See merge request tpo/core/arti!862
| * | | | | | guardmgr: Remove a now-unneeded "allow(dead_code)"Nick Mathewson2022-11-161-1/+0
| | | | | | |
* | | | | | | ChanMgr: Another attempt to build on CI.Nick Mathewson2022-11-231-1/+7
| | | | | | |
* | | | | | | ChanMgr: Rename Factory -> CompoundFactoryNick Mathewson2022-11-232-5/+5
| | | | | | |
* | | | | | | ChanMgr: Fix a few more conditional-compilation issuesNick Mathewson2022-11-233-0/+3
| | | | | | |
* | | | | | | ChanMgr: Remove Arc aliases.Nick Mathewson2022-11-231-12/+6
| | | | | | |
* | | | | | | Mark set-default-factory API as experimental.Nick Mathewson2022-11-232-5/+4
| | | | | | |
* | | | | | | Make ChannelFactory and AbstractPtMgr require Send+SyncNick Mathewson2022-11-232-6/+6
| | | | | | |
* | | | | | | ChanMgr: Implement functions that replace channel factories.Nick Mathewson2022-11-234-21/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes it possible to replace the default channel factory (used when there is no PtMgr), and to replace the PtMgr. This is part of #659.
* | | | | | | ChanMgr: move the AbstractChanFactory into MgrState.Nick Mathewson2022-11-225-18/+60
| |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will want the freedom to replace this, so it needs to go behind a lock. We need to be able to Clone it cheaply now, so we're using an Arc instead of a Box.
* | | | | | Merge branch 'retire_on_guard_cfg_change' into 'main'Nick Mathewson2022-11-223-19/+102
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CircMgr: retire all circuits if bridge configuration changes. Closes #650 See merge request tpo/core/arti!880
| * | | | | | Even more comments explaining circuit cancellation.Nick Mathewson2022-11-221-3/+37
| | | | | | |
| * | | | | | Improve notes surrounding circuit cancellation.Nick Mathewson2022-11-222-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that bug #656 is not a real bug, but it was easy to overlook the code that prevented it. Closes #656.
| * | | | | | CircMgr: retire all circuits if bridge configuration changes.Nick Mathewson2022-11-222-12/+49
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | Closes #650.
* | | | | | Merge branch 'main' into 'abstract-pt-mgr'Nick Mathewson2022-11-2251-348/+1334
|\| | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # crates/tor-chanmgr/src/factory.rs
| * | | | | TransportId: Fix test case for no pt-targetIan Jackson2022-11-221-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes cargo +stable clippy --manifest-path=/home/ian/Rustup/Arti/arti/Cargo.toml --locked --target-dir=target --offline -p tor-linkspec --no-default-features --all-targets giving 446 | .method(ChannelMethod::Pluggable(PtTarget::new( | ^^^^^^^^^ variant or associated item not found in `transport::ChannelMethod`
| * | | | | bridge config parsing tests: Show expected error message in asssrtIan Jackson2022-11-221-2/+3
| | | | | |
| * | | | | bridge config parsing: Parse transport as TransportId (fmt)Ian Jackson2022-11-221-17/+15
| | | | | |
| * | | | | bridge config parsing: Parse transport as TransportIdIan Jackson2022-11-221-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #653
| * | | | | bridge config parsing: Move unsupported blockIan Jackson2022-11-221-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | This will make the next commit textually smaller.
| * | | | | TransportId: Parse "bridge" as builtin transportIan Jackson2022-11-221-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow transport="bridge" in bridge configurations, etc. Doing it at this layer means it will be recognised everywhere.
| * | | | | TransportId: Provide new_builtin and new_pluggableIan Jackson2022-11-221-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think normal Rustic practice is to provide a real constructor as well as just `Default`.
| * | | | | TransportId: Provide name accessor and deconstructorIan Jackson2022-11-221-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are maintaining the notion that at some point this thing might grow additional variants.
| * | | | | TransportId: Document and change string repr for builtinIan Jackson2022-11-221-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Change the Display of builtin to "-" * Parse "" and "-" as builtin, as well as "<none>" * Document this
| * | | | | TransportId: Add test case for builtin Display reprIan Jackson2022-11-221-0/+2
| | | | | |
| * | | | | bridge non-support: Add doc notes to GuardMgrConfig::bridges_enabledIan Jackson2022-11-211-0/+7
| | | | | |
| * | | | | bridge non-support: Test that we reject configsIan Jackson2022-11-211-4/+19
| | | | | |
| * | | | | bridge non-support: De-cfg the primary bridge config fieldsIan Jackson2022-11-212-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now parse the `bridges.enabled` BoolOrAuto, and the `bridges.bridges` list. The `bridges.bridges` list is Vec<()> in the builder, and Vec<Void> in the built config. Ie, it is simply a count, and vanishes in the built config. But this count triggers us to try to call build(), to try to parse bridges, and to try to set and honour the enablement boolean. The result is that the type system now ensures that if bridges are disabled, but specified (either by listing them in the config, or writing `enabled=true`), we inevitably try to insist that we have a non-empty Vec<Void>, which is of course impossible. There will be a test case too for those who think this too abstract a way to guarantee this property :-).
| * | | | | bridge non-support: Provide a better BridgeConfigBuilderIan Jackson2022-11-212-3/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This type now does all the things people expect of it: you can (try to) deserialize it, parse it from a string, and call build on it.
| * | | | | bridge config: Feature-gate the error variantsIan Jackson2022-11-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This leaves this enum empty of actual errors, when bridge-client is disabled. We're going to add the not supported variant in a moment.