aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Added setter method in impl for StreamPrefsnate_d1azzz2023-06-161-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Taken from tpo/core/arti!1113 and squashed by Ian Jackson, with conflicting hunk in StreamPrefs struct skipped. The setter name is wrong, the cfg feature is wrong, there are no docs, and the TODO is still there. These will be fixed in a moment.)
| * | | | arti-client hs: connect_to_onion_services: default to trueIan Jackson2023-06-161-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This should be enabled by default. There's still no setter for not, nor is it honoured - those are separate TODOs.
| * | | | arti-client: OnionAddressNotSupported: Change description and kindIan Jackson2023-06-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Previously this error meant "we haven't written this code yet". Now, we change it to "you haven't built Arti with this feature".
| * | | | arti-client: address: Apply deferred rustfmt churnIan Jackson2023-06-161-2/+6
| | | | |
| * | | | arti-client: address: Plumb StreamPrefs into enforce_configIan Jackson2023-06-162-7/+12
| | | | | | | | | | | | | | | | | | | | No functional change yet. We'll use this shortly.
| * | | | arti-client: address: Move config enforcementIan Jackson2023-06-162-9/+11
| | | | | | | | | | | | | | | | | | | | Disposes of two TODOs.
| * | | | arti-client: address: Move config enforcement (pre-fmt)Ian Jackson2023-06-161-2/+6
| | | | | | | | | | | | | | | | | | | | This will make subsequent commits less noisy to read.
| * | | | arti-client: address: Disable some tests when HS disabledIan Jackson2023-06-161-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | These have already been partially/replaced supplemented. The other test referred to will appear shortly.
* | | | | Merge branch 'rpc_session_mgt' into 'main'Nick Mathewson2023-06-168-92/+138
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | More work on RPC sessions, connections, and managers See merge request tpo/core/arti!1254
| * | | | | Fix compilation afver last suggestion.Nick Mathewson2023-06-161-1/+2
| | | | | |
| * | | | | Apply 1 suggestion(s) to 1 file(s)Ian Jackson2023-06-161-0/+1
| | |/ / / | |/| | |
| * | | | rpc: Document and apply lock hierarchy for Mgr/ConnectionNick Mathewson2023-06-151-4/+13
| | | | |
| * | | | rpc: Give the session-creation function an argument.Nick Mathewson2023-06-155-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will later let us tell the session-creation function how the authentication occurred, which will let it decide what privileges to provide.
| * | | | rpc: revise session initialization a lot.Nick Mathewson2023-06-155-44/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formerly, every time we wanted to launch a new connection, we had to give the RpcMgr a TorClient. The connection would hold that TorClient until a session was authenticated, and then would wrap it in a Session and put it in the object map. Now, the RpcMgr holds a Box<dyn Fn()...> that knows how to create Sessions. When a connection is authenticated, it asks the Mgr to make it a new session. This lets us make it clearer that the TorClient simply can't be given out until the connection is authenticated. Later, it will let us create more types of Session objects under more complicated rules.
| * | | | rpc: Rename Session=>RpcSessionNick Mathewson2023-06-153-9/+9
| | | | |
| * | | | 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-1616-135/+119
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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-162-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
| | | | | |
* | | | | | 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.
* | | | 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.