summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | rpc: Expose Session object.Nick Mathewson2023-06-152-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | We'll want to move the responsibility for creating Sessions outside the rpcmgr crate.
| * | | | RPC: rename new_session to new_connectionNick Mathewson2023-06-152-2/+2
| | | | |
| * | | | rpc: switch GlobalId mac to KMAC.Nick Mathewson2023-06-142-15/+5
| | | | |
| * | | | rpc: connection_id _is_ used: remove a comment to the contraryNick Mathewson2023-06-141-3/+0
| | | | |
| * | | | rpc: revise the relationship between Mgr and ConnectionNick Mathewson2023-06-143-27/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a Weak reference from Connection to Mgr, makes DispatchTable mutable, and makes a few other changes as discussed between me and Diziet the other week. I bet we are not done tweaking this, but I hope it's a setp forwards.
* | | | | Merge branch 'netdoc-todos' into 'main'Nick Mathewson2023-06-1617-135/+120
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Resolve many TODO HS items in tor-netdoc See merge request tpo/core/arti!1251
| * | | | | hsdesc.rs: finally remove "allows".Nick Mathewson2023-06-162-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last piece here is removing some needless keygen from the tests. This causes the test output (using the deterministic PRNG) to change.
| * | | | | netdoc::doc::hsdesc changes to let us downgrade/remove allowsNick Mathewson2023-06-166-10/+9
| | | | | |
| * | | | | netdoc: unmark MAC_KEY_LEN as conjectural.Nick Mathewson2023-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The value here is 32 bytes; I'm adding it to to the specification as torspec!141
| * | | | | SharedRandVal: Note that it doesn't have to be Ct.Nick Mathewson2023-06-161-2/+1
| | | | | |
| * | | | | netdoc: remove a TODO about moving a module to where it already is.Nick Mathewson2023-06-161-2/+0
| | | | | |
| * | | | | netdoc: use ct_lookup for rend descriptor cookie lookupNick Mathewson2023-06-163-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (I doubt that there is a viable side channel here, but still we might as well get in the habit of doing these things properly.)
| * | | | | llcrypto: add another warning to ct_lookup.Nick Mathewson2023-06-161-2/+3
| | | | | |
| * | | | | Lower tor-proto::util::ct::lookup to tor-llcryptoNick Mathewson2023-06-165-59/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly code movement; you may want to review it with `--color-moved`. I'm doing this so we can also use the function in netdoc for looking up hsdesc authentication.
| * | | | | netdoc: Downgrade an HS todo wrt HS_DESC_AUTH_TYPENick Mathewson2023-06-161-2/+3
| | | | | |
| * | | | | netdoc: downgrade some TODO HS to TODO HSS.Nick Mathewson2023-06-162-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | I'm using HSS for hs-service features.
| * | | | | netdoc::build remove very broken example.Nick Mathewson2023-06-161-20/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This could never be a full rustdoc test, since rustdoc never runs tests for private items. Even if it were a rustdoc test, it uses a bunch of types that aren't exposed in the right places, and it invokes nonexistent functions, and it assumes a `self` that isn't there. In lieu of writing a new untested test, I've added a note to refer the developer to where they can find working example code.
| * | | | | netdoc: Remove a TODO that we already solved.Nick Mathewson2023-06-161-1/+0
| | | | | |
| * | | | | hsclient: note that we should check revctr.Nick Mathewson2023-06-161-0/+2
| | | | | |
| * | | | | netdoc::build: remove or narrow `allow`s.Nick Mathewson2023-06-141-12/+4
| | | | | |
* | | | | | Merge branch 'tor-cell-todos-2' into 'main'Nick Mathewson2023-06-162-2/+2
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | tor-cell: Downgrade 2 TODO-HS to TODO-HSS See merge request tpo/core/arti!1259
| * | | | | tor-cell: Downgrade 2 TODO-HS to TODO-HSSNick Mathewson2023-06-162-2/+2
|/ / / / /
* | | | | Merge branch 'hs-naming-arti' into 'main'Ian Jackson2023-06-166-25/+25
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | arti-*: Rename hs feature to onion-service-client See merge request tpo/core/arti!1039
| * | | | arti-client: Rename hs feature to onion-service-client (cfg lines)Ian Jackson2023-06-164-23/+22
| | | | |
| * | | | arti-client: Rename hs feature to onion-service-clientIan Jackson2023-06-163-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rationale as per #756. This is the same name as in the `arti` crate.
* | | | | Merge branch 'insert' into 'main'Nick Mathewson2023-06-161-23/+65
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | rpc: Make CastTable::insert be more type-safe See merge request tpo/core/arti!1253
| * | | | rpc: Remove some verbiage about 'static, and demo that it's OK withoutIan Jackson2023-06-151-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's now not actually possible to write code that doesn't work, even if `Tr` *isn't* 'static, because of the bounds on `CastTable::insert`. I tried to produce a non-working setup with a non-static `Simple`, but you can't implement `Object` for such a thing. Removing 'static from Object would stop the downcasts from Any to Object working. Prior to the new typesafe insert, this change - let f: fn(&dyn $crate::Object) -> &(dyn $traitname + 'static) = |self_| { + let f: fn(&dyn $crate::Object) -> &(dyn $traitname) = |self_| { would result in a runtime crash. Now it results in a compiler error.
| * | | | rpc: Give the name `O` to "the type associated with this CastTable"Ian Jackson2023-06-151-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was locally bound to `S` in one place. Bind and use it throughout. Since this is an RPC object, `O` is a better name. In each item, use the description once and thereafter just the name.
| * | | | rpc: Add Simple test case for CastTableIan Jackson2023-06-151-3/+20
| | | | |
| * | | | rpc: Move boxing from macro to CastTable::insert (formatting)Ian Jackson2023-06-151-3/+1
| | | | |
| * | | | rpc: Move boxing from macro to CastTable::insertIan Jackson2023-06-151-4/+4
| | | | |
| * | | | rpc: Make CastTable::insert be more type-safeIan Jackson2023-06-151-6/+21
| | | | | | | | | | | | | | | | | | | | This checks the Requirements.
* | | | | Merge branch 'arti-keystore' into 'main'gabi-2502023-06-1525-17/+1255
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-keymgr: Initial implementation See merge request tpo/core/arti!1223
| * | | | | arti-client: rustfmtGabriela Moldovan2023-06-151-3/+8
| | | | | |
| * | | | | arti-client: Fix clippy lints.Gabriela Moldovan2023-06-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to allow some lints in the dummy key manager because its implementation needs to mirror that of `tor_keymgr::KeyMgr` (so we can't apply the API changes suggested by clippy).
| * | | | | keymgr: Add Diziet's notes about storing public keys in the key store.Gabriela Moldovan2023-06-151-0/+36
| | | | | |
| * | | | | arti-client: Use a dummy key manager if the keymgr feature is disabled.Gabriela Moldovan2023-06-157-8/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TorClient now only uses the tor_keymgr::KeyMgr implementation if the keymgr experimental feature is enabled. If the feature is disabled, a dummy key manager implementation is used. The new `keymgr` feature depends on `onion-client`, because the key manager is only used for HS client auth.
| * | | | | arti-client: Implement From<tor_keymgr::Error> for Error.Gabriela Moldovan2023-06-152-4/+9
| | | | | |
| * | | | | keymgr, arti-client: KeyMgr should return Ok(None) if the key is not found.Gabriela Moldovan2023-06-152-28/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies usage quite a bit and will enable us to implement a dummy `KeyMgr` that doesn't depend on the error types from tor-keymgr (which will replace the "real" `KeyMgr` if the keymgr feature is disabled).
| * | | | | keymgr: Add TODO regarding KeyStore rename.Gabriela Moldovan2023-06-151-0/+4
| | | | | |
| * | | | | keymgr: Add TODO about KeyType refactorings.Gabriela Moldovan2023-06-151-0/+3
| | | | | |
| * | | | | keymgr: Add the key type to the `arti_extension`.Gabriela Moldovan2023-06-151-1/+2
| | | | | |
| * | | | | 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`.