summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | 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-233-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-guardmgr: Fix visibility of TestConfig with no features enabled See merge request tpo/core/arti!875
| * | | | fixup! tor-guardmgr: Fix visibility of TestConfig with no features enabledIan Jackson2022-11-181-1/+1
| | | | |
| * | | | 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 'matrix-test' into 'main'Nick Mathewson2022-11-231-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | maint/matrix_test: Print what command we are running! See merge request tpo/core/arti!879
| * | | | | maint/matrix_test: Print what command we are running!Ian Jackson2022-11-211-0/+1
| | | | | |
* | | | | | 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
| | | | | | |
* | | | | | | Merge branch 'install_mgr' into 'main'Nick Mathewson2022-11-236-36/+172
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | ChanMgr: Implement the functions needed to install a ChannelFactory and an AbstractPtMgr. See merge request tpo/core/arti!888
| * | | | | | 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 'abstract-pt-mgr' into 'main'Nick Mathewson2022-11-225-74/+34
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | Replace TransportRegistry with AbstractPtMgr See merge request tpo/core/arti!887
| * | | | | | Merge branch 'main' into 'abstract-pt-mgr'Nick Mathewson2022-11-2254-349/+1348
| |\ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | # Conflicts: # crates/tor-chanmgr/src/factory.rs
* | | | | | | Merge branch 'bridge-transp-parse' into 'main'Ian Jackson2022-11-223-52/+124
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use TransportId FromStr in BridgeConfig parsing Closes #653 See merge request tpo/core/arti!881
| * | | | | | 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
|/ / / / / /
* | | | | | Merge branch 'atty' into 'main'Nick Mathewson2022-11-221-0/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore atty theoretical unaligned read for now See merge request tpo/core/arti!883
| * | | | | | Ignore atty theoretical unaligned read for nowIan Jackson2022-11-221-0/+7
|/ / / / / /
* | | | | | Merge branch 'bridge-require' into 'main'Ian Jackson2022-11-217-148/+232
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refuse to run with bridges configured, but disabled in the build Closes #644 See merge request tpo/core/arti!877
| * | | | | | 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.