summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | tor-guardmgr: NoLock error: add TODO for trying to get lockIan Jackson2022-11-241-0/+2
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/889#note_2856874
| * | | tor-config: Rename to ReconfigureError::UnsupportedSituationIan Jackson2022-11-243-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Unsupported. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/889#note_2856873 This was added in this MR. Also add the missing semver note.
| * | | tor-config: Rename to ConfigBuildError::NoCompileTimeSupportIan Jackson2022-11-243-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Unsupported. Following one of the suggestions here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/889#note_2856873 This was added in 2c3711614908d0c9cf1663b20b67a3fc233301f4 which was not yet in a release so this isn't a semver break. I have added the semver note that was omitted in that MR.
| * | | tor-guardmgr: Refuse to configure bridges if we don't have the lockIan Jackson2022-11-233-1/+29
| | | | | | | | | | | | | | | | Fixes #612
| * | | tor-guardmgr: make replace_bridge_config fallibleIan Jackson2022-11-232-7/+38
| | | | | | | | | | | | | | | | | | | | | | | | The error type needs to be convertible to GuardMgrError and also to ReconfigureError. Neither of those is right, so we need a new error type.
| * | | tor-guardmgr: Replace a let _ignore with a typed versionIan Jackson2022-11-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `let _ignore =` isn't great because if the function called is currently infallible, but becomes fallible, it suppresses the detection of the error check. A better pattern is to specify the type of the ignored value. I'm about to do precisely this, here. I did a git-grep and `let _ignore =` seems very common. Let's not deal with all those now.
* | | | fix deprecation warnings from rustlstrinity-1686a2022-11-261-9/+7
| | | |
* | | | upgrade rustls to 0.20, ignoring all deprecation warningstrinity-1686a2022-11-262-38/+32
| |/ / |/| |
* | | Merge branch 'sensitive-error' into 'main'Ian Jackson2022-11-2310-31/+114
|\ \ \ | | | | | | | | | | | | | | | | Scrub channel target information in errors See merge request tpo/core/arti!890
| * | | tor-dirclient: Replace OwnedChanTarget with LoggedChanTarget in SourceInfoIan Jackson2022-11-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SourceInfo primarily appears in errors, here and in (indirectly) tor-dirmgr. This 1. Makes the errors smaller 2. Redacts (currently, scrubs) the chantarget when safe logging is enabled This commit therefore deals with both tor-dirmgr and tor-dirclient errors, from the pov of error information that should become sensitive as part of bridge support. The error pyaloads directly in tor_dirmgr/src/err.rs don't seem to contain anything in that category.
| * | | tor-cirmgr: Replace OwnedChanTarget with LoggedChanTarget in errorsIan Jackson2022-11-232-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This 1. Makes the errors smaller 2. Redacts (currently, scrubs) the chantarget when safe logging is enabled The other error variants in tor-circmgr::Error don't seem to contain information that should become sensitive as part of bridge support.
| * | | tor-chanmgr: Invent [Box]ChanSensitive for two error payloadsIan Jackson2022-11-233-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This 1. Makes the errors smaller (in the case of Io's PtTargetAddr; ChannelBuild's addresses are already indirected in a Vec). 2. Redacts (currently, scrubs) the PtTargetAddr and SocketAddr when safe logging is enabled These are the remaining error variants in tor-chanmgr that contain information that should become sensitive as part of bridge support.
| * | | tor-chanmgr: Replace OwnedChanTarget with LoggedChanTarget in errorsIan Jackson2022-11-232-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This 1. Makes the errors smaller 2. Redacts (currently, scrubs) the chantarget when safe logging is enabled This commit doesn't treat other should-be-sensitive inforemation in errors just yet. That will come in a moment.
| * | | tor-linkspec: Provide LoggedChanTarget type alias and utility methodIan Jackson2022-11-233-2/+14
| | | | | | | | | | | | | | | | | | | | This makes it easy to talk about, and construct, a BoxSensitive<OwnedChanTarget>, which is what we'll use in errors.
| * | | safelog: Provide BoxSensitiveIan Jackson2022-11-231-0/+47
| | | |
| * | | 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