summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | 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.
| * ChanMgr: Rename ChannelMap to MgrStateNick Mathewson2022-11-162-7/+7
|/ | | | | | | | | We're doing this because the type now holds "all the mutable state in a ChanMgr", not just the map. This is a pure renaming; no documentation has been updated. Part of #606.
* Merge branch 'ptmgr-config' into 'main'eta2022-11-167-10/+112
|\ | | | | | | | | tor-ptmgr: make configuration use builders, plumb into arti-client See merge request tpo/core/arti!823
| * pt config, arti cfg test: Expect bridges.transports to be missingIan Jackson2022-11-161-2/+9
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/823#note_2854365
| * arti cfg test: Coalesce expect_missingIan Jackson2022-11-161-0/+22
| | | | | | | | | | | | If there are subkeys which are covered by also expected_missing superkeys, delete them, since we expect the superkey to be missing, so the subkey won't show up.
| * tor-ptmgr: make configuration use builders, plumb into arti-clienteta2022-11-166-8/+81
| | | | | | | | | | | | | | This brings the draft configuration mechanisms in tor-ptmgr in line with the config in other crates, using builders. It also plumbs the config type through into the main `arti-client` config, and adds some example lines to `arti-example-config.toml`.
* | Merge branch 'real_netdoc_pos' into 'main'Ian Jackson2022-11-162-21/+15
|\ \ | | | | | | | | | | | | | | | | | | Replace `Option<Pos>` with `Pos` in `ParseError`. Closes #640 See merge request tpo/core/arti!859
| * | Replace `Option<Pos>` with `Pos` in `ParseError`.Nick Mathewson2022-11-152-21/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have `Pos::Unknown` for an error at an unknown location and `Pos::None` for an error where no location is sensible. There's no reason to have an additional `Option` here. Additionally, the use of `Option` gave us a bug where our old `ParseError::at_pos()` method didn't actually set the position unless the position was already set. That's not what we want! Fixes #640. Finally, we have to fix a test that was a bit broken because it was working around #640.
* | | Merge branch 'remove_netdoc_todo' into 'main'Nick Mathewson2022-11-151-2/+0
|\ \ \ | |/ / |/| | | | | | | | Remove a `TODO pt-client` in netdoc. See merge request tpo/core/arti!860
| * | Remove a `TODO pt-client` in netdoc.Nick Mathewson2022-11-151-2/+0
|/ / | | | | | | This issue is now torspec!94.
* | Merge branch 'fix_bridgeconf_lookup' into 'main'Nick Mathewson2022-11-154-2/+21
|\ \ | | | | | | | | | | | | | | | | | | Allow a subset-only ChanMethod match when looking up a BridgeConfig Closes #642 See merge request tpo/core/arti!858
| * | Resolve a dead-code warning.Nick Mathewson2022-11-151-0/+1
| | |
| * | Allow a subset-only ChanMethod match when looking up a BridgeConfigNick Mathewson2022-11-152-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | If we have a bridge guard that is using Direct connection and it knows multiple addresses, our code to match it with a BridgeConfig is wrong, because the BridgeConfig has only one address, and our code looks for an exact match. Fixes #642.
| * | Remove a spurious log that I committed by mistake. Whoops.Nick Mathewson2022-11-151-1/+0
| | |
* | | Merge branch 'cfg-doc' into 'main'Ian Jackson2022-11-151-3/+48
|\ \ \ | |/ / |/| / | |/ | | arti cfg test: Add more documentation See merge request tpo/core/arti!856
| * arti cfg test: Document exhaustive_1 and comment exhaustiveIan Jackson2022-11-151-0/+39
| |
| * arti cfg test: Break out CONFIG_KEYS_EXPECT_NO_EXAMPLEIan Jackson2022-11-151-2/+9
| | | | | | | | Giving this a name will allow us to refer to it docs in a moment.
| * arti cfg test: Drop a redundant allowIan Jackson2022-11-151-1/+0
| | | | | | | | | | This allow is also present in the standard lint block at the start of the test inline module.
* | Merge branch 'fix_parse' into 'main'eta2022-11-154-5/+42
|\ \ | | | | | | | | | | | | | | | | | | netdoc: Allow empty lines at the end of router descriptors Closes #637 See merge request tpo/core/arti!857
| * | netdoc: Allow empty lines at the end of a router descriptor.Nick Mathewson2022-11-152-3/+34
| | |
| * | tor-netdoc: Add a new ErrorKind for EmptyLine.Nick Mathewson2022-11-153-2/+8
| | | | | | | | | | | | | | | Empty lines were previously reported as BadKeyword, which is confusing.
* | | Merge branch 'implement_usage' into 'main'Nick Mathewson2022-11-151-1/+22
|\ \ \ | |/ / |/| | | | | | | | Implement more cases for `DirSpecificTarget`. See merge request tpo/core/arti!855
| * | Implement more cases for `DirSpecificTarget`.Nick Mathewson2022-11-151-1/+22
|/ / | | | | | | | | | | Without this fix, any attempt to actually use a circuit for a `DirSpecificTarget` will fail, since supports() will say false, and `restrict_mut()` will say `NotSupported`.
* | Merge branch 'bdm-arc' into 'main'Nick Mathewson2022-11-152-5/+12
|\ \ | |/ |/| | | | | | | | | arti-client: Retain a strong reference to the inner Arc<BridgeDescMgr> Closes #636 See merge request tpo/core/arti!854
| * guardmgr: Document that guardmgr only holds a WeakIan Jackson2022-11-151-0/+5
| |
| * arti-client: Retain a strong reference to the inner Arc<BridgeDescMgr>Ian Jackson2022-11-151-5/+7
|/ | | | Fixes #636.