| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This will make the next commit easier to review.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Doing this separately to make the next commit easier to read.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | |/ / / |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
GuardMgr: Log significant guard/bridge status changes at info/warn
Closes #627
See merge request tpo/core/arti!869
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.)
|
| | | | | | |
|
| |\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
ChanTarget: Add a display function, with better output.
Closes #647
See merge request tpo/core/arti!868
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Nothing used this; if anything wants it, it would be better off
calling `.display_chan_target()`.
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
GuardMgr: Resolve a `TODO pt-client` by having `update` take an `Instant`.
See merge request tpo/core/arti!863
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 ChannelMap to MgrState
Closes #606
See merge request tpo/core/arti!864
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
This is another pure renaming.
|
| |/
|
|
|
|
|
|
|
| |
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.
|
| |\
| |
| |
| |
| | |
tor-ptmgr: make configuration use builders, plumb into arti-client
See merge request tpo/core/arti!823
|
| | |
| |
| |
| |
| | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/823#note_2854365
|
| | |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| | |
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`.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Replace `Option<Pos>` with `Pos` in `ParseError`.
Closes #640
See merge request tpo/core/arti!859
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
See merge request tpo/core/arti!860
|
| |/ /
| |
| |
| | |
This issue is now torspec!94.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Allow a subset-only ChanMethod match when looking up a BridgeConfig
Closes #642
See merge request tpo/core/arti!858
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | | |
|
| |\ \ \
| |/ /
|/| /
| |/
| | |
arti cfg test: Add more documentation
See merge request tpo/core/arti!856
|
| | | |
|
| | |
| |
| |
| | |
Giving this a name will allow us to refer to it docs in a moment.
|
| | |
| |
| |
| |
| | |
This allow is also present in the standard lint block at the start of
the test inline module.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
netdoc: Allow empty lines at the end of router descriptors
Closes #637
See merge request tpo/core/arti!857
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Empty lines were previously reported as BadKeyword, which is
confusing.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Implement more cases for `DirSpecificTarget`.
See merge request tpo/core/arti!855
|
| |/ /
| |
| |
| |
| |
| | |
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`.
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
arti-client: Retain a strong reference to the inner Arc<BridgeDescMgr>
Closes #636
See merge request tpo/core/arti!854
|
| | | |
|
| |/
|
|
| |
Fixes #636.
|