| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `KeyMgr` is now initialized with an `ArtiNativeKeyStore` built from
an invalid key store root dir (this is alright for the purposes of this
proof-of-concept, since `ArtiNativeKeyStore::new` won't fail as it
doesn't currently validate the keystore root dir).
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This means `KeyMgr` users don't need to specify the underlying key type
(e.g. `ed25519::Keypair`) when retrieving keys. Instead, they can just
specify the type required (as long as it implements `ToEncodableKey`),
e.g. `HsClientIntroAuthKeypair`.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
`TorClient` now uses a `KeyMgr` to retrieve the `HsClientSecretKeys`
client auth keys passed to `get_or_launch_connection`.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This adds a proof-of-concept `SshKeyType::read_ssh_format_erased`
implementation for `KeyType`. The implementation decodes an OpenSSH key
and converts it to one of the key types used internally by Arti. The
value returned is type-erased, and will be downscast later down the line
by the `KeyMgr` (note: `KeyMgr` doesn't exist yet).
The `SshKeyType::write_ssh_format` will be implemented once these APIs
are a bit more stable.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This adds implementation stubs for `ArtiNativeKeyStore`, and introduces
the traits needed to make the `KeyStore` APIs work.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It's not perfectly clear what this error type should be, so let's use
`ConfigBuildError` for now (it makes things easier in `arti-client`, as
we already have an `ErrorDetail` for it).
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Suggested here
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1247#note_2912642
It's unlikely this will grow any content, so fine.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Add a cross-reference to docs arising from MR comments in !1246.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
This will be used in a moment.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Right now this just always chooses randomly because nothing stores
anything in the HashMap.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Wrap this up in a newtype so we don't accidentally use it for anything
else. Provide two constructors, one for storing and one for lookups.
|
| | | | | |
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | | |
Having a newtype for this kind of thing is considerably more
convenient. I'm going to use this in a moment.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
make snowflake example feature-gated
See merge request tpo/core/arti!1249
|
| | |/ / |
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1246#note_2912105
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
There is a cross-reference here to code (`IptSortKey`) in another
branch that I haven't made an MR for yet.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
rustdoc insisted on misindenting this before, and now it insists on
un-mis-indenting it.
|
| | | |
| | |
| | |
| | |
| | | |
Remove this todo as per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1246#note_2912104
|
| | | |
| | |
| | |
| | | |
IntroduceAckStatus
|
| | | | |
|
| | | | |
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
Resolve most TODO HS comments in tor-cell
See merge request tpo/core/arti!1245
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This module didn't have anything in it; nonetheless, removing it
does count as an API break since it was public.
|
| | | |
| | |
| | |
| | |
| | | |
Yes, we still will need more accessors for onion services, but we
can add them as we find the need.
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
hscrypto: Resolve all but one TODO HS comment.
See merge request tpo/core/arti!1244
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Return a more informative error type (instead of Option)
* Check that time periods are an integer number of seconds
* Decide not to change the semantics of an argument.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We updated and clarified the spec in arti!107, and noted the
remaining infelicities in proposal 342.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(I'm not removing it entirely since maybe we _should_ use it, and
maybe we _will_ as we do services. I've added a TODO HS for
removing it or using it, and removed the TODO HS at the head of
pk.rs about making sure that all the key types in the module really
belong there.)
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I think it isn't actually a great idea for HsIdParseError to
implement ErrorKind, since the actual ErrorKind would depend
entirely on where the problematic ID came from.
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
proto: Make sure that auth tags are truncated to 20 bytes
See merge request tpo/core/arti!1242
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Onion service hops (pointlessly) use SHA3-256 for their
authentication, but they truncate it to 20 bytes (assuming I'm
reading the C right.)
See torspec#204 for clarification here.
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
tor-hsclient: Finish(?) plumbing up first cut of HS client connection
See merge request tpo/core/arti!1240
|
| | | | | |
|
| | | | | |
|