aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | RelayId: implement id_type and as_bytes in terms of RelayIdRefIan Jackson2023-04-271-8/+2
| | | | | | | | | | | | | | | | | | | | This eliminates some duplicated code.
| * | | | RelayIdRef: as_bytes: Doesn't borrow from selfIan Jackson2023-04-272-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This borrows from the contained key, but not from self. This will allow us to implement RelayId::as_bytes in terms of RelayIdRef::as_bytes.
| * | | | RelayId: impl Display in terms of RelayIdRefIan Jackson2023-04-271-3/+9
| | | | | | | | | | | | | | | | | | | | This removes a duplicated copy of the format strings.
* | | | | Merge branch 'arti-client-doc-test' into 'main'Alexander Færøy2023-05-021-1/+2
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | arti-client: Only run BridgesConfig doc test if pt-client feature is enabled. Closes #843 See merge request tpo/core/arti!1166
| * | | | arti-client: Only run BridgesConfig doc test if pt-client feature is enabled.Gabriela Moldovan2023-05-021-1/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the tests run as part of `cargo test -p arti-client` fails because the `pt-client` feature is not enabled by default: ``` failures: ---- src/config.rs - config::BridgesConfig (line 221) stdout ---- error[E0432]: unresolved import `arti_client::config::pt` --> src/config.rs:225:26 | 7 | use arti_client::config::pt::ManagedTransportConfigBuilder; | ^^ could not find `pt` in `config` error[E0599]: no method named `bridges` found for mutable reference `&mut BridgesConfigBuilder` in the current scope --> src/config.rs:233:19 | 15 | builder.bridges().bridges().push(bridge_1); | ^^^^^^^ private field, not a method error[E0599]: no function or associated item named `default` found for struct `BridgeConfigBuilder` in the current scope --> src/config.rs:236:48 | 18 | let mut bridge2_builder = BridgeConfigBuilder::default(); | ^^^^^^^ function or associated item not found in `BridgeConfigBuilder` error[E0599]: no method named `bridges` found for mutable reference `&mut BridgesConfigBuilder` in the current scope --> src/config.rs:247:19 | 29 | builder.bridges().bridges().push(bridge2_builder); | ^^^^^^^ private field, not a method error[E0599]: no method named `transports` found for mutable reference `&mut BridgesConfigBuilder` in the current scope --> src/config.rs:255:19 | 37 | builder.bridges().transports().push(transport); | ^^^^^^^^^^ method not found in `&mut BridgesConfigBuilder` error: aborting due to 5 previous errors Some errors have detailed explanations: E0432, E0599. For more information about an error, try `rustc --explain E0432`. Couldn't compile the test. failures: src/config.rs - config::BridgesConfig (line 221) test result: FAILED. 5 passed; 1 failed; 3 ignored; 0 measured; 0 filtered out; finished in 2.10s ``` This disables the `BridgesConfig` doc test if the `pt-client` feature is not enabled. Closes #843 Signed-off-by: Gabriela Moldovan <[email protected]>
* | | | Merge branch 'update_20230429' into 'main'Nick Mathewson2023-04-291-7/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Run cargo update again. (Tracing 0.1.38 has been yanked) See merge request tpo/core/arti!1162
| * | | | Run cargo update again. (Tracing 0.1.38 has been yanked)Nick Mathewson2023-04-291-7/+8
|/ / / /
* | | | Merge branch 'update_20230428' into 'main'Nick Mathewson2023-04-281-84/+134
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Run cargo update in preparation for release next week See merge request tpo/core/arti!1161
| * | | | Run cargo update in preparation for release next weekNick Mathewson2023-04-281-84/+134
|/ / / /
* | | | Merge branch 'serial_test_upgrade' into 'main'Nick Mathewson2023-04-282-24/+24
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Upgrade to serial_test 2.0.0 See merge request tpo/core/arti!1159
| * | | Upgrade to serial_test 2.0.0Nick Mathewson2023-04-282-24/+24
|/ / /
* | | Merge branch 'key-mgmt-api-sketch' into 'main'gabi-2502023-04-251-0/+568
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | dev docs: Add key manager API sketch. Closes #834 See merge request tpo/core/arti!1147
| * | dev docs: Add a few lines about handling concurrent access.Gabriela Moldovan2023-04-251-0/+14
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Fill out insert/remove APIs.Gabriela Moldovan2023-04-251-8/+31
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Remove incoherent waffle.Gabriela Moldovan2023-04-251-19/+4
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Update KeyMgr implementation based on latest discussions.Gabriela Moldovan2023-04-251-113/+314
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Remove unnecessary trait bounds.Gabriela Moldovan2023-04-251-1/+1
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Remove outdated reference to the comment field.Gabriela Moldovan2023-04-251-6/+0
| | | | | | | | | | | | | | | | | | We decided against using it. Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Add namespacing for client/hs/relay/.. keys.Gabriela Moldovan2023-04-251-39/+42
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Remove KeyIdentityResult.Gabriela Moldovan2023-04-251-10/+0
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Remove HSM APIs.Gabriela Moldovan2023-04-251-22/+0
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: clarify what a "key identity" is.Gabriela Moldovan2023-04-251-35/+99
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Allow multiple key stores to be in use at the same time.Gabriela Moldovan2023-04-251-18/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | The key manager needs to be flexible enough to support loading keys from one of several key stores. This is because when we add support for smart cards, users will want to be able to store some keys on the smart card, and others in one of the disk key stores (for example). Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Add some impls for `LocalUserIdentity`.Gabriela Moldovan2023-04-251-1/+4
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | dev docs: Add key manager API sketch.Gabriela Moldovan2023-04-251-0/+239
|/ / | | | | | | | | | | | | | | | | | | | | | | This is the first draft of the key manager API. I don't expect this to be the final version of the API, and I'm sure there are plenty of improvements to be made. This is mostly a request for comments. Closes #834 Signed-off-by: Gabriela Moldovan <[email protected]>
* | Merge branch 'memchr_upgrade' into 'main'Nick Mathewson2023-04-231-1/+1
|\ \ | | | | | | | | | | | | Bump our own memchr dependency to 2.5 See merge request tpo/core/arti!1151
| * | Bump our own memchr dependency to 2.5Nick Mathewson2023-04-221-1/+1
|/ / | | | | | | | | This appears to be necessary for getting "minimal-versions" to be happy with memchr dependencies between reges and async-compression.
* | Merge branch 'rpc_method_syntax' into 'main'Nick Mathewson2023-04-1916-678/+982
|\ \ | | | | | | | | | | | | | | | | | | RPC: update method declaration syntax and implementation Closes #835 and #821 See merge request tpo/core/arti!1148
| * | RPC: Log all internal errors.Nick Mathewson2023-04-192-4/+13
| | |
| * | rpc: Simplify and clarify SendUpdateError.Nick Mathewson2023-04-191-7/+13
| | |
| * | Arti: Add ability to remember the list of methods names.Nick Mathewson2023-04-195-14/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, this lets us say whether the method was unrecognized or whether the parameter type was incorrect. We'll use this to enforce correct method names later on. (I have to add another `inventory` here, since the `typetag` maintainer does not want to expose this functionality: see https://github.com/dtolnay/typetag/issues/57#issuecomment-1506106290 )
| * | rpc: New syntax for method declarationNick Mathewson2023-04-191-9/+46
| | | | | | | | | | | | | | | Now you just declare your function `my_func` with the right types, and invoke `rpc_invoke_fn!{ my_func(ObjType, MethodType); }`
| * | rpc: impl From<SendUpdateError> for RpcError.Nick Mathewson2023-04-191-0/+14
| | |
| * | rpcserver: Use with_fn.Nick Mathewson2023-04-193-12/+9
| | |
| * | rpcbase: Use with_fn.Nick Mathewson2023-04-194-8/+15
| | |
| * | async-utils: Add a SinkExt with a with_fnNick Mathewson2023-04-192-0/+85
| | | | | | | | | | | | | | | (This function behaves as `futures::sink::SinkExt::with`, except that the function that it takes does not return a future.)
| * | async-utils: rename sinkext to prepare_sendNick Mathewson2023-04-192-2/+2
| | |
| * | async-utils: rename SinkExt to SinkPrepareExtNick Mathewson2023-04-194-13/+14
| | |
| * | rpc: Minor tweaks to get a sink to compile.Nick Mathewson2023-04-191-4/+5
| | |
| * | rpc: Use Method types to determine type of method outputs, updates.Nick Mathewson2023-04-192-81/+142
| | | | | | | | | | | | This lets us do much less in our rpc_invoke_fn functions.
| * | rpc: Split Method into DynMethod and MethodNick Mathewson2023-04-195-42/+86
|/ / | | | | | | | | Now `Method` has an Output and Update associated type, and `decl_method` can do a little more.
* | Merge branch 'post_1145' into 'main'Alexander Færøy2023-04-182-8/+18
|\ \ | | | | | | | | | | | | Followups from !1145 See merge request tpo/core/arti!1146
| * | netdoc: Document that particular bit values for flags are not part of our API.Nick Mathewson2023-04-171-1/+3
| | |
| * | netstatus: re-number routerstatus flags to go in order.Nick Mathewson2023-04-171-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise there is too much risk of accidentally adding in another 1<<12 when we meant to add a 1<<13. (It would be neat to have an alternative to bitflags here that would auto-number our bitflags for us.)
| * | netdir: more documentation on MIDDLE_ONLY flag.Nick Mathewson2023-04-172-0/+8
| | | | | | | | | | | | Clarify that it isn't anything that most users will need to check.
* | | Merge branch 'rpc_refactoring_v2' into 'main'Ian Jackson2023-04-183-195/+150
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | A few RPC refactorings Closes #817 and #824 See merge request tpo/core/arti!1144
| * | | rpc: simplify API by always providing a sink.Nick Mathewson2023-04-162-26/+18
| | | | | | | | | | | | | | | | | | | | Previously we have two places where we had to do "make a `Drain` sink if updates aren't wanted"; now there's only one.
| * | | rpc: Ensure well-ordering of responses.Nick Mathewson2023-04-161-60/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the main loop received updates via a `mpsc::channel`, and final responses via a `futures::unordered`. This could lead to final responses being transmitted to the user before the updates were all flushed. Now all of the responses are sent to the main loop via the same channel, and they can't get out-of-sequence. Closes #817 and (IMO) simplifies the code a bit.
| * | | rpc: Wire updates into rpc invoke functions again.Nick Mathewson2023-04-161-12/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the sink is not part of the context, RPC functions that are able to send an update have to declare an `impl Sink` as their fourth argument. This syntax is not final. Part of #824.
| * | | rpc: Move update sink out of context.Nick Mathewson2023-04-163-147/+51
| | | | | | | | | | | | | | | | | | | | Now the update sink is its own boxed object. It is not yet passed to the invoke functions that want it.