summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | RPC: add a temporary "listen" function.Nick Mathewson2023-04-124-1/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It requires tokio, it's unix-only, and makes some unfortunate shortcuts. Probably good enough for initial testing.
| * | | | | rpc: Declare a trivial Echo command that works on a session.Nick Mathewson2023-04-121-1/+24
| | | | | |
| * | | | | rpc: Wire up arti-rpcserver to use tor-rpccmd.Nick Mathewson2023-04-122-24/+159
| | | | | |
| * | | | | rpc: temporary converion functions for some error types.Nick Mathewson2023-04-121-0/+22
| | | | | |
| * | | | | rpc: Make all object lookup fns return LookupError.Nick Mathewson2023-04-122-9/+3
| | | | | |
| * | | | | rpc: Try refactoring the context type to _be_ a Sink.Nick Mathewson2023-04-122-45/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us avoid async_trait in tor-rpccmd, and makes us use a Box<>. I think we might actually get an even smarter type later on, but we will need to play with this for a while too.
| * | | | | tor-rpccmd: Apply standard warnings and make them pass.Nick Mathewson2023-04-126-8/+80
| | | | | |
| * | | | | rpc: Make a real test for our dispatch logic.Nick Mathewson2023-04-121-20/+83
| | | | | |
| * | | | | rpc: Remove type mangling from rpc_invoke_fn!Nick Mathewson2023-04-121-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the user has to say that the fn takes an Arc<>, a Box<>, and an Arc<dyn>. Previously, they had to pretend that it didn't.
| * | | | | rpc: Add an RpcError type.Nick Mathewson2023-04-125-9/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This could have been a trait instead, but I don't know whether that's smart or not. There is a lot of opportunity for refactoring here.
| * | | | | rpc: Make invoke return a Result of erased_serde::SerializeNick Mathewson2023-04-124-10/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will let the actual RPC functions return any Result type that we can serialize.
| * | | | | rpc: Add Update functionality to rpc::Context.Nick Mathewson2023-04-124-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm not sure about these APIs at all! They force us to use `async_trait` for `tor_rpccmd::Context`, which bothers me. Should we just have a function that returns `Option<Box<dyn Sink<Item=X, Error=Y>>` or something? If so, what's the correct Y?
| * | | | | rpc: do a better job of hiding impl_const_type_id!Nick Mathewson2023-04-124-5/+67
| | | | | |
| * | | | | RPC: Initial implementation of a multiple-argument dispatchNick Mathewson2023-04-128-8/+412
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code uses some kludges (discussed with Ian previously and hopefully well documented here) to get a type-identifier for each type in a const context. It then defines a macro to declare a type-erased versions of a concrete implementation functions, and register those implementations to be called later. We will probably want to tweak a bunch of this code as we move ahead.
| * | | | | Start on a lower-level tor-rpccmd crate.Nick Mathewson2023-04-129-35/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crate will hold the backend pieces of RPC interaction that different parts of Arti get to implement.
| * | | | | rpc: Add a Session object and an interaction loop.Nick Mathewson2023-04-122-0/+184
| | | | | |
| * | | | | rpc: Add asynchronous_codec wrapper for jsonlines.Nick Mathewson2023-04-124-0/+103
| | | | | |
| * | | | | rpc: Add a cancellable future type.Nick Mathewson2023-04-124-0/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ordinarily you can cancel a future just by dropping it, but we'll want the ability to cancel futures that we no longer own (because we gave them to a `FuturesUnordered`).
| * | | | | rpc: Implement json message types for serde.Nick Mathewson2023-04-126-2/+337
| | | | | |
| * | | | | tor-proto: Be explicit about an into().Nick Mathewson2023-04-121-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a workaround for an issue that I'm about to encounter somewhere in our pile of dependencies as I add arti-rpcserver, and somehow make serde_json visible in this test code thereby, making the PartialEq method resolution ambiguous.
* | | | | Add another entry to global semver.mdNick Mathewson2023-04-121-0/+1
| | | | |
* | | | | Merge branch 'audit' into 'main'gabi-2502023-04-121-3/+16
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Run cargo audit last and in its own job See merge request tpo/core/arti!1133
| * | | | | Run cargo audit last and in its own jobIan Jackson2023-04-121-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently we had some minor awkwardness due a new advisory. This may help in future.
* | | | | | Merge branch 'fix' into 'main'gabi-2502023-04-121-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-hsclient: Add an allow to this incomplete code See merge request tpo/core/arti!1134
| * | | | | | tor-hsclient: Add an allow to this incomplete codeIan Jackson2023-04-121-0/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | Fixes CI warning.
* | | | | | Merge branch 'fix' into 'main'gabi-2502023-04-121-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply ProtocolViolation renaming to hs connector code See merge request tpo/core/arti!1132
| * | | | | Apply ProtocolViolation renaming to hs connector codeIan Jackson2023-04-121-2/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | !1121 renamed *ProtocolFailed to *ProtocolViolation. !1118 introduced a new reference to a *ProtocolFailed I rebased !1118 onto main and enabled automerge. That tested the tip of !1118. I assume a similar thing happened to !1121. The possibility of such regressions is a property of our workflow. It's rather surprising it doesn't happen more often.
* | | | | Merge branch 'msrv-1.65' into 'main'Ian Jackson2023-04-1252-57/+58
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increase Arti MSRV to 1.65 Closes #815 See merge request tpo/core/arti!1131
| * | | | | Add a global semver.md for MSRV break.Nick Mathewson2023-04-111-0/+1
| | | | | |
| * | | | | Test with 1.65 in minimal_versions.Nick Mathewson2023-04-111-1/+1
| | | | | |
| * | | | | Update MSRV in READMENick Mathewson2023-04-111-1/+1
| | | | | |
| * | | | | Use bool::then_some() as appropriateNick Mathewson2023-04-117-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we require a version of Rust that allows `b.then_some(v)`, clippy complains about our use of `b.then(|| v)`.
| * | | | | Increment MSRV to 1.65 in every crate.Nick Mathewson2023-04-1142-42/+42
| | | | | |
* | | | | | Merge branch 'bug804' into 'main'Nick Mathewson2023-04-114-13/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s/ProtocolFailed/ProtocolViolation/g where possible Closes #804 See merge request tpo/core/arti!1121
| * | | | | | s/ProtocolFailed/ProtocolViolation/g where possibleNeel Chauhan2023-04-084-13/+6
| | | | | | |
* | | | | | | Merge branch 'rpc2' into 'main'Ian Jackson2023-04-111-0/+114
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | rpc: Proposed error format See merge request tpo/core/arti!1107
| * | | | | | rpc: Fix typos/grammar errorsNick Mathewson2023-04-111-2/+2
| | | | | | |
| * | | | | | rpc: Rewrite `data` spec in JSON termsIan Jackson2023-04-111-4/+12
| | | | | | |
| * | | | | | rpc: Clarify that error formatting display is indicativeIan Jackson2023-04-111-0/+4
| | | | | | |
| * | | | | | Use non-JSON-RPC-reserved values for our own errorsIan Jackson2023-04-111-2/+4
| | | | | | |
| * | | | | | rpc: Fix mistake in "JSON-RPC compatibility" section for errorsIan Jackson2023-04-111-1/+2
| | | | | | |
| * | | | | | rpc: Discourage use of `code`Ian Jackson2023-04-111-1/+8
| | | | | | |
| * | | | | | rpc: Warn about relying too much about `data`Ian Jackson2023-04-111-0/+5
| | | | | | |
| * | | | | | rpc: Provide example of an error responseIan Jackson2023-04-111-0/+18
| | | | | | |
| * | | | | | rpc: Provide a list of ErrorKind stringsIan Jackson2023-04-111-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1107#note_2893078
| * | | | | | rpc: Be more explicit about what the string error message is for (typo)Ian Jackson2023-04-111-1/+1
| | | | | | |
| * | | | | | rpc: Be more explicit about what the string error message is forNick Mathewson2023-04-111-1/+3
| | | | | | |
| * | | | | | rpc: Proposed error formatIan Jackson2023-04-111-0/+52
| | |_|/ / / | |/| | | |
* | | | | | Merge branch 'hs' into 'main'Ian Jackson2023-04-117-38/+641
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Download HS descriptors See merge request tpo/core/arti!1118
| * | | | | | hs connect: Improve a todo and refer to #813Ian Jackson2023-04-111-2/+1
| | | | | | |