summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | bridge config builder: Document PT one address restrictionIan Jackson2022-11-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/874/diffs?commit_id=620cc90f6dcdad20f49a001a9e04d191a323e904#d53209cbcd12771c549f3a130379ecb65dd60145_100_121
| * | | | | Make the bridge list in the builder be a list of BridgeConfigBuilderIan Jackson2022-11-212-33/+30
| | | | | | | | | | | | | | | | | | | | | | | | By changing MultilineListBuilder.
| * | | | | BridgeConfigBuilder: Allow (de)ser to/from bridge linesIan Jackson2022-11-211-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That the *de*serialisation works as expected will be tested properly in just a moment, because when we plumb this all the way through, it will be what parses the bridge lines in the example config file.
| * | | | | tor-basic-utils: Provide helper for serde flexible parsingIan Jackson2022-11-214-0/+93
| | | | | |
| * | | | | BridgeConfigBuilder: Implement FromStrIan Jackson2022-11-211-1/+46
| | | | | |
| * | | | | BridgeConfigBuilder: Introduce build() functionIan Jackson2022-11-213-8/+257
| | | | | | | | | | | | | | | | | | | | | | | | And test cases for it, and its errors.
| * | | | | BridgeConfigBuilder: Introduce the struct with the dictionary reprIan Jackson2022-11-215-6/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This struct is going to be the principal "dictionary-style" serde representation for a bridge, and the builder, making this all in keeping with our usual approach. In this commit: * Introduce the struct (defining the serialisation) * Provide the setters (defining the Rust API) * Add success test cases (not all of the data in which is used yet)
| * | | | | tor-basic-utils: list_builder: Introduce DirectDefaultEmptyListBuilderAccessorsIan Jackson2022-11-211-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This trait can have this ludicrously long name because no-one needs to import it.
| * | | | | BridgeAddr rename: update tor_guardmgr::bridge::configIan Jackson2022-11-211-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is where my motivation is and I'm working on this code now, so do this renaming cleanup now.
| * | | | | BridgeAddr rename from PtTargetAddr: Update in tor-linkspecIan Jackson2022-11-213-29/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And the error too. We need this for the API for BridgeConfigBuilder, where the user can specify any kind of target "address", even a hostname. It's already non-conditional, it's just that the name is too limiting. In this commit: * Change in tor-linkspec * Export transitional aliases * Add TODOs to remove the transitional aliases
| * | | | | tor-linkspec: Provide deconstructors for PtTargetSettings and PtTargetIan Jackson2022-11-212-0/+11
|/ / / / /
* | | | | Merge branch 'cfg-allow' into 'main'Nick Mathewson2022-11-182-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | cfg compilation: Add two allows See merge request tpo/core/arti!876
| * | | | | cfg compilation: Add two allowsIan Jackson2022-11-182-0/+2
|/ / / / /
* | | | | Merge branch 'fix_nightly_20221118' into 'main'Ian Jackson2022-11-1812-20/+21
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | Fix warnings and breakage in nightly (2022-11-18 edition) See merge request tpo/core/arti!872
| * | | | Fix a couple of rustdoc issues.Nick Mathewson2022-11-182-3/+4
| | | | | | | | | | | | | | | | | | | | These slipped in while nightly was broken.
| * | | | Fix a bunch of "needless borrow" warnings on nightlyNick Mathewson2022-11-1810-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | It looks like, despite a few false starts, they've got this warning right; there weren't any false positives.
* | | | | Merge branch 'fix_ownedchantarget_missing' into 'main'Nick Mathewson2022-11-181-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Fix a missing import in tests. See merge request tpo/core/arti!873
| * | | | | Fix a missing import in tests.Nick Mathewson2022-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | I'm not sure why the CI didn't reject this the first time around.
* | | | | | Merge branch 'fix_nightly_version' into 'main'Nick Mathewson2022-11-181-1/+3
|\ \ \ \ \ \ | |/ / / / / |/| / / / / | |/ / / / | | | | | gitlab-ci: Pin to nightly-2022-11-05 See merge request tpo/core/arti!871
| * | | / gitlab-ci: Pin to nightly-2022-11-11Nick Mathewson2022-11-181-1/+3
| | |_|/ | |/| | | | | | | | | | This is a workaround for #633.
* | | | Merge branch 'refactor_into_ownedchantarget' into 'main'Nick Mathewson2022-11-184-12/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | CircMgr: Refactor DirSpecificTarget constructor See merge request tpo/core/arti!866
| * | | | CircMgr: Refactor DirSpecificTarget constructorNick Mathewson2022-11-184-12/+24
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the `impl From<&T> for OwnedChanTarget where T:ChanTarget` with a new `IntoOwnedChanTarget` trait. This lets us be explicit that we're constructing an owned object, and not just converting something. No semver change needed, since these APIs haven't been released. ----------- (new description)
* | | | Merge branch 'mark-bridges-not-experimental' into 'main'Nick Mathewson2022-11-1815-43/+103
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark bridge and PT-related APIs as non-experimental. Closes #643 See merge request tpo/core/arti!865
| * | | | circmgr: make some imports conditionalNick Mathewson2022-11-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This resolves an "unused import" warning when bridges are not enabled.
| * | | | arti-client: make bridge-client depend on dirmgr/bridge-clientNick Mathewson2022-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This resolves some errors when building with `bridge-client` but not with `--all-features`.
| * | | | arti: Mark bridge and pt support non-experimental, and on-by-defaultNick Mathewson2022-11-182-4/+14
| | | | |
| * | | | arti: Split long lines in Cargo.tomlNick Mathewson2022-11-181-1/+10
| | | | | | | | | | | | | | | | | | | | This will make the next commit easier to review.
| * | | | arti-client: Mark "bridge-client" and "pt-client" as non-experimentalNick Mathewson2022-11-182-4/+4
| | | | |
| * | | | arti-client: split long lines in Cargo.tomlNick Mathewson2022-11-181-2/+13
| | | | | | | | | | | | | | | | | | | | Doing this separately to make the next commit easier to read.
| * | | | dirmgr: make "bridge-client" non-experimental.Nick Mathewson2022-11-182-12/+16
| | | | |
| * | | | guardmgr: Make bridge-client and pt-client non-experimentalNick Mathewson2022-11-182-2/+14
| | | | |
| * | | | circmgr: Make "specific-relay" non-experimental.Nick Mathewson2022-11-182-6/+11
| | | | |
| * | | | chanmgr: Make "pt-client" non-experimental.Nick Mathewson2022-11-182-4/+9
| | | | |
| * | | | linkspec: Make "pt-client" non-experimental.Nick Mathewson2022-11-162-5/+10
| |/ / /
* | | | Merge branch 'log_guard_status' into 'main'Nick Mathewson2022-11-185-21/+42
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GuardMgr: Log significant guard/bridge status changes at info/warn Closes #627 See merge request tpo/core/arti!869
| * | | | GuardMgr: Log when a guard status changes (significantly).Nick Mathewson2022-11-173-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We previously had a trace message on _every_ change. That's fine, but we also want to log more important changes where the user can see them. Namely: * If we go from any other status to Reachable, we want to tell the user. (We don't want to spam them if it was already reachable.) * If we go from Untried or Reachable to Unreachable, we want to tell the user. (We don't tell them about changes from Retriable to Unreachable, since that just means that a retry attempt was not successful.) Closes #627.
| * | | | GuardMgr: split Reachable::Unknown into Untried and RetriableNick Mathewson2022-11-172-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two cases here, and we will want to log them differently. (By removing the "Unknown" variant entirely, we ensure that we didn't miss any code that formerly checked for Unknown.)
| * | | | ChanMgr: Log every conection attempt at debug.Nick Mathewson2022-11-171-0/+2
| | | | |
* | | | | Merge branch 'display_chan_target' into 'main'Ian Jackson2022-11-183-21/+81
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ChanTarget: Add a display function, with better output. Closes #647 See merge request tpo/core/arti!868
| * | | | Remove impl Display for OwnedCircTargetNick Mathewson2022-11-172-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Nothing used this; if anything wants it, it would be better off calling `.display_chan_target()`.
| * | | | ChanTarget: Add a display function, with better output.Nick Mathewson2022-11-172-13/+80
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change lets us display a ChanTarget's members without first cloning them into an OwnedChanTarget. It also resolves a reliability issue by outputting better info when talking about connections via pluggable transports. Closes #647
* | | | Merge branch 'inst_as_arg' into 'main'Ian Jackson2022-11-182-22/+40
|\ \ \ \ | |/ / / |/| | | | | | | | | | | GuardMgr: Resolve a `TODO pt-client` by having `update` take an `Instant`. See merge request tpo/core/arti!863
| * | | GuardMgr: Add Instant to update().Nick Mathewson2022-11-162-20/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us avoid calling `Instant::now()`, when `Runtime::now()` is what we want. Unfortunately, there are a bunch of functions that called `update()` that needed to change. Fortunately, none of the changes were very complicated. Fixes a `TODO pt-client` comment.
| * | | GuardMgr: Rename "now" arg in update() to "wallclock"Nick Mathewson2022-11-161-10/+10
| |/ / | | | | | | | | | | | | | | | | | | I'm about to add an `Instant` argument. By convention, when we have both, we call the Instant "now". This commit is a pure renaming.
| | * Replace TransportRegistry with AbstractPtMgreta2022-11-225-74/+34
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't make much sense to have the pluggable transport manager be a registry, so replace its interface with a more narrowly defined, less generic version. Other changes: - instead of returning a &-reference, it returns an owned Arc, which should make the ptmgr easier to implement while allowing efficient reuse - provision for error handling is added, but will probably be revised in a future commit pending discussion - tor-ptmgr code that would generate warnings as a result of this change is temporarily removed This is a split out version of arti!886, intended so work on arti#659 can proceed.
* | Merge branch 'channelmap_rename' into 'main'eta2022-11-173-42/+41
|\ \ | |/ |/| | | | | | | | | ChanMgr: Rename ChannelMap to MgrState Closes #606 See merge request tpo/core/arti!864
| * chanmgr: rename new_test_channel_map to new_test_state.Nick Mathewson2022-11-161-5/+5
| |
| * chanmgr::mgr::*: misc spelling fixes and normali[sz]ationsNick Mathewson2022-11-162-6/+6
| |
| * Fix up documentation that referred to a ChannelMap.Nick Mathewson2022-11-162-18/+17
| |
| * ChanMgr: Rename map.rs to state.rsNick Mathewson2022-11-163-9/+9
| | | | | | | | This is another pure renaming.