summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | arti_client: Add TODO about refactoring code around HsClientSecretKeysBuilder.Gabriela Moldovan2023-06-151-0/+4
| | | | | |
| * | | | | keymgr: Add TODO regarding some error refactorings.Gabriela Moldovan2023-06-151-0/+14
| | | | | |
| * | | | | keymgr: Move the HS client and service key specifiers out of tor-keymgr.Gabriela Moldovan2023-06-1512-124/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HS `HsClientSpecifier` and `HsClientSecretKeySpecifier` are moved to `tor-hsclient`. The HS service secret key specifier stubs are moved to `tor-hsservice`.
| * | | | | keymgr: Expand the TODOs regarding HS service key specifiers.Gabriela Moldovan2023-06-151-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | | | | keymgr: Expand HsClientSpecifier docs, add TODO about refactoring.Gabriela Moldovan2023-06-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | | | | arti-client, keymgr: Initialize KeyMgr with an ArtiNativeKeyStore.Gabriela Moldovan2023-06-151-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | | | | keymgr: Introduce ToEncodableKey to simplify lookups.Gabriela Moldovan2023-06-154-20/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
| * | | | | arti-client: Make the client use the KeyMgr.Gabriela Moldovan2023-06-153-3/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `TorClient` now uses a `KeyMgr` to retrieve the `HsClientSecretKeys` client auth keys passed to `get_or_launch_connection`.
| * | | | | keymgr: Add key manager implementation stub.Gabriela Moldovan2023-06-154-1/+117
| | | | | |
| * | | | | keymgr: Implement `SshKeyType::read_ssh_format_erased` for `KeyType`.Gabriela Moldovan2023-06-151-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | keymgr: Add ArtiNativeKeyStore implementation skeleton.Gabriela Moldovan2023-06-1512-11/+805
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds implementation stubs for `ArtiNativeKeyStore`, and introduces the traits needed to make the `KeyStore` APIs work.
| * | | | | hsclient: Change builder error return type to ConfigBuildError.Gabriela Moldovan2023-06-151-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | | | Merge branch 'hs' into 'main'Ian Jackson2023-06-154-26/+210
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Store our IPT experiences and try to try good IPTs first See merge request tpo/core/arti!1247
| * | | | tor-hsclient: Make Untried a {}-less unitIan Jackson2023-06-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1247#note_2912642 It's unlikely this will grow any content, so fine.
| * | | | tor-hsclient: Insert a blank linegabi-2502023-06-151-0/+1
| | | | |
| * | | | tor-hsclient: Docs improvements.gabi-2502023-06-151-2/+2
| | | | |
| * | | | tor-hsclient: Remove two done TODOsIan Jackson2023-06-151-2/+0
| | | | |
| * | | | tor-hsclient: provide intro_index accessor for FailedAttemptError (xref)Ian Jackson2023-06-151-1/+2
| | | | | | | | | | | | | | | | | | | | Add a cross-reference to docs arising from MR comments in !1246.
| * | | | tor-hsclient: Actually store our IPT experiencesIan Jackson2023-06-151-7/+42
| | | | |
| * | | | tor-hsclient: intro_rend_connect: bind `outcome`Ian Jackson2023-06-151-3/+3
| | | | | | | | | | | | | | | | | | | | This will be used in a moment.
| * | | | tor-hsclient: Actually choose which intro points to useIan Jackson2023-06-151-3/+75
| | | | | | | | | | | | | | | | | | | | | | | | | Right now this just always chooses randomly because nothing stores anything in the HashMap.
| * | | | tor-hsclient: Introduce RelayIdForExperienceIan Jackson2023-06-151-9/+37
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | tor-hsclient: Add random sort key to UsableIptIan Jackson2023-06-151-0/+6
| | | | |
| * | | | tor-hsclient: provide intro_index accessor for FailedAttemptErrorIan Jackson2023-06-152-1/+24
| | | | |
| * | | | tor-error: Introduce `LooseCmpRetryTime`Ian Jackson2023-06-152-0/+20
|/ / / / | | | | | | | | | | | | | | | | Having a newtype for this kind of thing is considerably more convenient. I'm going to use this in a moment.
* | | | Merge branch 'ci' into 'main'Nick Mathewson2023-06-141-2/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | CI: Upgrade every-crate test to required See merge request tpo/core/arti!1252
| * | | | CI: Upgrade every-crate test to requiredIan Jackson2023-06-141-2/+0
|/ / / / | | | | | | | | | | | | Since it passes now.
* | | | Merge branch 'ci2' into 'main'Nick Mathewson2023-06-142-0/+28
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Test every crate with default features See merge request tpo/core/arti!1250
| * | | CI: test every crate with default featuresIan Jackson2023-06-141-0/+9
| | | |
| * | | CI: add script to test every crate with default featuresIan Jackson2023-06-141-0/+19
| |/ /
* | | Merge branch 'pt-snowflake-fix' into 'main'Ian Jackson2023-06-141-5/+13
|\ \ \ | | | | | | | | | | | | | | | | make snowflake example feature-gated See merge request tpo/core/arti!1249
| * | | make snowflake example feature-gatedtrinity-1686a2023-06-141-5/+13
| |/ /
* | | Merge branch 'retry' into 'main'Ian Jackson2023-06-144-3/+92
|\ \ \ | |/ / |/| | | | | | | | impl HasRetryTime for various errors See merge request tpo/core/arti!1246
| * | tor-hsclient: InvalidTarget::ImpossibleRelayIds is RetryTime::NeverIan Jackson2023-06-141-1/+1
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1246#note_2912105
| * | tor-hsclient: Correction to HasRetryTime for InvalidTarget docNick Mathewson2023-06-141-1/+2
| | |
| * | tor-hsclient: Add doc for HasKind for FailedAttemptErrorIan Jackson2023-06-141-0/+16
| | | | | | | | | | | | | | | There is a cross-reference here to code (`IptSortKey`) in another branch that I haven't made an MR for yet.
| * | tor-hsclient: Add docs and comments about HasRetryTime for InvalidTargetIan Jackson2023-06-141-0/+18
| | |
| * | tor-cell: HasRetryTime for IntroduceAckStatus: Confirm re CANT_RELAY (fmt)Ian Jackson2023-06-141-1/+1
| | | | | | | | | | | | | | | rustdoc insisted on misindenting this before, and now it insists on un-mis-indenting it.
| * | tor-cell: HasRetryTime for IntroduceAckStatus: Confirm re CANT_RELAYIan Jackson2023-06-141-1/+1
| | | | | | | | | | | | | | | Remove this todo as per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1246#note_2912104
| * | tor-cell: Add a doc comment for impl tor_error::HasRetryTime for ↵Ian Jackson2023-06-141-0/+4
| | | | | | | | | | | | IntroduceAckStatus
| * | tor-hsclient: impl HasRetryTime for FailedAttemptErrorIan Jackson2023-06-142-2/+25
| | |
| * | tor-hsclient: impl HasRetryTime for InvalidTargetIan Jackson2023-06-141-1/+14
| | |
| * | tor-cell: impl HasRetryTime for IntroduceAckStatusIan Jackson2023-06-141-0/+14
|/ /
* | Merge branch 'tor-cell-todos' into 'main'Nick Mathewson2023-06-137-53/+10
|\ \ | | | | | | | | | | | | Resolve most TODO HS comments in tor-cell See merge request tpo/core/arti!1245
| * | cell: Downgrade a couple more TODO HS comments.Nick Mathewson2023-06-132-3/+3
| | |
| * | cell: Remove relaycell::restrictNick Mathewson2023-06-133-35/+1
| | | | | | | | | | | | | | | This module didn't have anything in it; nonetheless, removing it does count as an API break since it was public.
| * | cell: Remove some TODOsNick Mathewson2023-06-133-10/+2
| | | | | | | | | | | | | | | Yes, we still will need more accessors for onion services, but we can add them as we find the need.
| * | cell: remove/localize "allow(dead-code)"Nick Mathewson2023-06-133-5/+4
| | |
* | | Merge branch 'hscrypto-todos' into 'main'gabi-2502023-06-136-60/+103
|\ \ \ | | | | | | | | | | | | | | | | hscrypto: Resolve all but one TODO HS comment. See merge request tpo/core/arti!1244
| * | | hscrypto: fix TODOs in time-period code.Nick Mathewson2023-06-133-39/+63
| | | | | | | | | | | | | | | | | | | | | | | | * 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.