| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
| | | |
| | | |
| | | | |
This will allow us to fix #1592, but it doesn't do so yet.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is going to want to do something more complicated (as described
in the docs).
In this commit we change all the tests that are expecting Truncated
errors. That reduces noise in the next commit.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This refers to the `deficit` field in Error::Truncated, which is going
to appear in a later commit. It seems kinder to my reviewer to add
this doc now early in the branch.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Error::Truncated is going to become more complicated, and anyway it
would be nice to print the values if the test fails.
Error is PartialEq now. (Maybe it wasn't when this was written?)
|
| |/ / /
| | |
| | |
| | |
| | | |
This removes one construction site of Error::Truncated. We are about
to make constructing one of those more fiddly.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
arti-relay: add and use `Error`/`ErrorDetail`
See merge request tpo/core/arti!2392
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Most of this is copied from `arti_client::err`, but with a lot of stuff
removed to simplify the error types (for example no `error_detail`
feature handling). I tried to keep things generally consistent with
arti-client so that error handling will be similar in both crates.
`TorRelayBuilder::create()` will likely need to be fallible in the
future (for example if spawning a task for the OR port listener fails),
so it now returns a `Result<TorRelay, crate::err::Error>` instead of
just a `TorRelay`.
|
| | | | | |
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | | |
eliminate all but one use of `KeyMgr::get::<HsIdKeypair>()`
Closes #1194
See merge request tpo/core/arti!2393
|
| | | | |
| | | |
| | | |
| | | | |
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2393#note_3073480
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There are three places where we query the KeyMgr for an `HsIdKeypair` but all
we really need is the public part. This commit changes those three callsites
to instead use `get::<HsIdKey>`.
This relies on the previous commit, which makes sure that a request for an
`HsIdKey` will always succeed if the keystore has a `HsIdKeypair` with the
same service nickname.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
keypair
Now that:
- KeySpecifier::get_keypair_specifier() can be used to convert the
KeySpecifier for a public key into the KeySpecifier for its secret key
- ToEncodableKey<Key=PublicKey> has a "type level pointer" to
ToEncodableKey<Key=KeyPair>
We can use these two features together to automatically satisfy any request to
get a public key using the corresponding secret key (if available).
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This comment adds a second associated type `KeyPair` to ToEncodableKey. For a
`ToEncodableKey` which represents a (secret) KeyPair, this type is Self. For
a `ToEncodableKey` which represents a public key, this is the `ToEncodableKey`
whose `Key` is the pair of which this is the public part.
This is essentially a "type level pointer" from the ToEncodableKey for a
public key to the ToEncodableKey for its secret key.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit adds a new method `get_keypair_specifier()` to `KeySpecifier`.
This method is used to indicate when one KeySpecifier (e.g. `KP_hs_id`) is the
public part of another keypair (e.g. `KS_hs_id`). It will return the
containing keypair in this case, and `None` otherwise.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
FooKeypairSpecifier` instances
This adds the following trivial `From` instances:
- tor_hsservice: impl From<&HsIdPublicKeySpecifier> for HsIdKeypairSpecifier
- tor_hsservice: impl From<&BlindIdPublicKeySpecifier> for BlindIdKeypairSpecifier
- tor_hscrypto::pk: impl From<HsBlindIdKeypair> for HsBlindIdKey
- tor_llcrypto::pk::ed25519: impl From<ExpandedKeypair> for PublicKey
- tor_keymgr::mgr: impl From<TestKey> for TestPublicKey
- tor::hscrypto::pk: impl From<HsIdKeypair> for HsIdKey
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
rpclib: Support opening a data stream.
Closes #1524
See merge request tpo/core/arti!2373
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Ticket #1509 will probably get rid of this constant,
but for now we may as well put it in one place.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Here we make sure that we can actually skip over other proxy formats
in the future.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Renamed address to tcp_address, and made it optional, so that later
we can have a unix_path, etc.
On deser side, add support for unrecognized listener types.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is done so that we can make "not authenticated" a non-internal
error, under the theory that someday unauthenticated connections
might be exposed.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This belongs in a spec, but adding things to a spec is slow and
fraught. Instead we'll put it here for now and move it later.
There are some XXXXs about "finalizing" the design that we need to
resolve before we can merge !2373 and implement stream creation in
`arti-rpc-client-core`.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently this behaves the same as get_proxy_info,
but this may change in the future, if we introduce RPC-unsuitable
proxy ports.
(Also rename the get_proxy_info method to avoid x_ prefix.)
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
There's a blocking TODO here about exposing socks error codes that
I still need to solve.
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
Requires #1523.
Implements #1524.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
maint/downgrade-dependencies: Update exceptions.
See merge request tpo/core/arti!2398
|
| | | | |
| | | |
| | | |
| | | | |
Adding an exception for now, as per #1608
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes the `minimal-versions` failure:
```
error: package ID specification `[email protected]` did not match any packages
Did you mean one of these?
[email protected]
```
(we don't actually need to un-downgrade `futures-lite` anymore)
But we *do* need to un-downgrade `event-listener`
(`async-global-executor` needs `event_listener::EventListener` to be `UnwindSafe`,
and in `event-listener 3.0.0`, they are not)
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
arti: Temporarily disable a flaky test.
See merge request tpo/core/arti!2391
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This effectively reverts 71e3d52f5aeb34ca7bca80053079a8c7505b99ac,
which was itself a revert of disabling this test the first time.
Sadly it still doesn't seem to be reliable. We have agreed on IRC to
disable it for now.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Use dpkg-buildpackage -uc -b in CI
See merge request tpo/core/arti!2368
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
The effect of this is just to make the job run sooner. But it's
actually quite unlikely to fail, and nothing now depends on it, so we
should run it later along with the rest of the jobs in the `test`
stage.
|
| | | |
| | |
| | |
| | |
| | | |
This avoids any inherited data (eg from previous jobs) influencing the
output.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Pass -b to dpkg-buildpackage, meaning "build binaries only".
* Don't `need` the source package job
* Don't try to import source package artifacts
This means we're not building the .debs from the .dsc, but we weren't
doing that anyway. (.dscs are IMPO obsolete...)
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default dpkg-buildpackage signs the output if the d/changelog isn't
UNRELEASED.
If we ever change the d/changelog, we don't want it to fail because it
tries to sign things.
In the future, if and when we want to sign things, that probably won't
be done directly in gitlab CI when the package is built.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
arti: Make the config watcher debounce interval configurable.
Closes #1589
See merge request tpo/core/arti!2387
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, the `reload_cfg::test::watch_multiple` test would take about
3s to run. This test modifies 3 files and waits for the corresponding
`reconfigure()` events to fire. Because of the
`sleep(DEBOUNCE_INTERVAL)` in `run_watcher`, it would wind up waiting
for about 1s for each of them.
This makes the event debouncing optional, and disables it in the tests.
Closes #1589
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
tor-keys: New crate for Tor key declaration
Closes #1137
See merge request tpo/core/arti!2356
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Everything copied in the previous commits to tor-keys is now removed and
tor-keys crate is used accross the code.
Minor changes to tor-keys to accomodate this change.
Part of #1137
Signed-off-by: David Goulet <[email protected]>
|