summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | 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-184-21/+41
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-172-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | 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-166-10/+110
|\ | | | | | | | | 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-165-8/+79
| | | | | | | | | | | | | | 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.
* | | 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.
* | | 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`.
* | 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.
* bridges: Create and install a BridgeDescMgr when we bootstrapIan Jackson2022-11-152-0/+72
|
* arti-client: Store a handle to the DirMgrStore in TorClient (fmt)Ian Jackson2022-11-151-1/+6
| | | | rustfmt only.
* arti-client: Store a handle to the DirMgrStore in TorClientIan Jackson2022-11-151-1/+4
| | | | We'll need this shortly.
* arti-client: Store a handle to the guardmgr in TorClientIan Jackson2022-11-151-1/+5
| | | | We'll need this shortly.
* Merge branch 'make_bridges_work' into 'main'Nick Mathewson2022-11-141-0/+1
|\ | | | | | | | | Bugfix: preserve active_set when loading guards See merge request tpo/core/arti!848
| * Preserve active_set when loading guards.Nick Mathewson2022-11-141-0/+1
| |
* | Merge branch 'report_missing_descs' into 'main'Nick Mathewson2022-11-143-1/+66
|\| | | | | | | | | | | | | GuardMgr: Update desired bridge descs from 'update' function. Closes #622 See merge request tpo/core/arti!847
| * GuardMgr: Update desired bridge descs from 'update' function.Nick Mathewson2022-11-142-1/+29
| | | | | | | | | | There are some new TODOs here for us to think about, but I think this will give us something to test.
| * GuardSet: Add a method to report which bridge descs we want.Nick Mathewson2022-11-141-0/+37
| |