summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-proto circuit tests: fix some comment copy-pastaJim Newsome2024-07-291-1/+1
| | |
| * | circuit reactor: add comment pointing to tests in other moduleJim Newsome2024-07-291-1/+3
|/ /
* | Merge branch 'audit' into 'main'gabi-2502024-07-292-2/+2
|\ \ | | | | | | | | | | | | Use a pinned compiler version to run cargo audit See merge request tpo/core/arti!2289
| * | Bump our CI Rust build cache tokenIan Jackson2024-07-291-1/+1
| | | | | | | | | | | | | | | | | | This invalidates the cache. This may not be strictly necessary, but it will make sure that the new pinned image is used in the CI run *for this MR*.
| * | Use a pinned compiler version to run cargo auditIan Jackson2024-07-291-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids CI failures like this https://gitlab.torproject.org/nickm/arti/-/jobs/617654 arising from situations like this cargo-audit install fails with rust 1.80 https://github.com/rustsec/rustsec/issues/1217 error[E0282]: type annotations needed for Box<_> https://github.com/time-rs/time/issues/693 IMO we should pin many of the other images too but I suspect that may be controversial. I'm hoping that pinning this one to get CI working is uncontroversial (perhaps only on a temporary basis). The other way to solve this would be to remove --locked which IMO is going in the wrong direction, by exposing us to more rather than fewer uncontrolled inputs from our upstreams.
* | Merge branch 'new-nightly-warnings' into 'main'Ian Jackson2024-07-296-6/+7
|\ \ | | | | | | | | | | | | Fix new warnings from nightly clippy See merge request tpo/core/arti!2288
| * | Mark a struct as allowed-to-be-unused.Nick Mathewson2024-07-281-0/+1
| | | | | | | | | | | | | | | (This will either become used later, or we will remove it; the TODO RPC will remind us.)
| * | Fix "clippy::manual-pattern-char-comparison" warning on nightlyNick Mathewson2024-07-282-2/+2
| | | | | | | | | | | | | | | | | | | | | This warning suggests using `[a,b]` as a Pattern when it sees a search for `|ch| ch == a || ch == b`. (All of our supported rust versions allow this kind of Pattern.)
| * | Fix new "clippy::needless-maybe-sized" warning on nightlyNick Mathewson2024-07-283-4/+4
|/ / | | | | | | | | This warning complains when we say `where T: SomeTrait + ?Sized` when `SomeTrait` is inherently Sized.
* | Merge branch 'rpclib-i64-id' into 'main'David Goulet2024-07-251-3/+2
|\ \ | | | | | | | | | | | | rpclib: Use i64 rather than u64 for request IDs. See merge request tpo/core/arti!2279
| * | rpclib: Use i64 rather than u64 for request IDs.Nick Mathewson2024-07-221-3/+2
| | | | | | | | | | | | This makes it conform to the spec and match arti-rpcserver.
* | | Merge branch 'rpcbase-cleanup' into 'main'Nick Mathewson2024-07-2517-294/+237
|\ \ \ | | | | | | | | | | | | | | | | rpcbase: Fix most TODO RPC comments. See merge request tpo/core/arti!2284
| * | | rpc: Remove special conversion for SendUpdateError.Nick Mathewson2024-07-252-10/+6
| | | |
| * | | rpc: Rename the error codes for something like consistency.Nick Mathewson2024-07-256-24/+25
| | | |
| * | | rpc: Remove RpcError data field and use ReportNick Mathewson2024-07-257-128/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per discussion, this field isn't really specified in a way that lets us fill it sensibly at the moment. So for now, we're going to just omit it. Additionally, we said that we'd Report on our errors; this branch changes the implementation of RpcError to do that. Question: Will the blanket implementation for Into<RpcError> make it harder to re-add a Data field later on if we want to do so?
| * | | rpc: Refactor errors part 1: a new RpcMethod trait.Nick Mathewson2024-07-259-56/+49
| | | | | | | | | | | | | | | | | | | | It is no longer necessary to say, for every RPC method, that its error type is RpcError.
| * | | rpcbase: remove now-unused invoke methodsNick Mathewson2024-07-252-71/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These methods were defined on DispatchTable, and then replaced by top-level functions in the crate. (The reason for using top-level functions instead is so that we get the locking on the dispatch table correct.)
| * | | rpcbase: Remove a TODO RPC about duplicationNick Mathewson2024-07-251-1/+0
| | | | | | | | | | | | | | | | | | | | The duplication is only a few lines. I've looked into a couple of ways for removing it, but they make the code flow even less clear.
| * | | rpcbase: Replace a TODO with a set of notes and caveatsNick Mathewson2024-07-252-7/+45
| | | | | | | | | | | | | | | | | | | | | | | | We have decided not to remove the "anybody can define methods" property. This commit documents the consequences, and warns extenders away from some really bad ideas.
| * | | rpc: remove TODO about adding an extension traitNick Mathewson2024-07-251-4/+0
| | | | | | | | | | | | | | | | | | | | These functions are called rarely enough that it is probably okay for the ergonomics to be a bit verbose.
| * | | rpc: Remove TODO about moving @special to a different macro.Nick Mathewson2024-07-251-4/+0
| | | |
| * | | rpc: Do not hide InvokeError::Bug when converting to RpcErrorNick Mathewson2024-07-251-18/+35
| | | |
| * | | rpc: split "method not found"Nick Mathewson2024-07-254-12/+17
| | | | | | | | | | | | | | | | | | | | We've wanted separate error codes for "no such method exists" and "this method exists, but this object doesn't have it."
| * | | rpcbase: remove "Nil" TODO.Nick Mathewson2024-07-251-3/+0
| | | | | | | | | | | | | | | | This change would take some serde magic that is probably not worth it.
| * | | rpcbase: Use newer "tgens" deftly syntaxNick Mathewson2024-07-251-3/+1
| | | |
| * | | rpcbase: remove a TODO about expose_outside_of_sessionNick Mathewson2024-07-251-4/+0
| | | | | | | | | | | | | | | | (There is no longer such a thing as a "pseudomethod.")
* | | | Merge branch 'stream-peek' into 'main'Ian Jackson2024-07-246-2/+540
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-memquota: Provide StreamUnobtrusivePeeker See merge request tpo/core/arti!2280
| * | | tor-memquota: discuss StreamUnobtrusivePeeker nameIan Jackson2024-07-241-7/+8
| | | | | | | | | | | | | | | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051134
| * | | tor-memquota: Elide a lifetimeIan Jackson2024-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051270
| * | | tor-memquota: Fix a wrong commentIan Jackson2024-07-241-3/+1
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051268
| * | | tor-memquota: Provide StreamUnobtrusivePeeker (tests)Ian Jackson2024-07-241-0/+163
| | | |
| * | | tor-memquota: Provide StreamUnobtrusivePeekerIan Jackson2024-07-246-2/+378
|/ / / | | | | | | | | | | | | | | | I'm not particularly pleased with this name. We need names for both the type, and the trait we'll almost certainly want to introduce in the future.
* | | Merge branch 'rpc-testing' into 'main'Nick Mathewson2024-07-247-11/+517
|\ \ \ | | | | | | | | | | | | | | | | rpclib: Add initial unit tests See merge request tpo/core/arti!2277
| * | | rpclib: Add tests for errors that terminate an RpcConn.Nick Mathewson2024-07-241-1/+101
| | | |
| * | | rpclib: Initial tests for RpcConnNick Mathewson2024-07-246-4/+243
| | | | | | | | | | | | | | | | | | | | | | | | The "complex" test here is fairly involved, since it tries to detect deadlocks and race conditions by using multiple threads and answering requests out of order.
| * | | rpclib: Test low-level reader/writer.Nick Mathewson2024-07-243-1/+166
| | | |
| * | | rpc: Relax 'static requirement on execute_with_updates closure.Nick Mathewson2024-07-241-1/+1
| | | | | | | | | | | | | | | | This turns out not to be necessary.
| * | | rpclib: do not include `"meta":null` when serializing.Nick Mathewson2024-07-241-0/+1
| | | |
| * | | rpclib: re-encode outgoing requests.Nick Mathewson2024-07-241-5/+6
|/ / / | | | | | | | | | | | | | | | I hadn't been sure that we wanted to do this, since arti is forgiving about its inputs, but IIRC Diziet was in favor of this, and it _does_ make it easier to write tests.
* | | Merge branch 'memquota-typed' into 'main'Ian Jackson2024-07-246-38/+469
|\ \ \ | | | | | | | | | | | | | | | | tor-memquota: HasMemoryCost trait, and type-safe methods See merge request tpo/core/arti!2282
| * | | tor-memquota: Test Debug, Display and HasKind impls for errorsIan Jackson2024-07-241-0/+72
| | | |
| * | | tor-memquota: impl HasKind for StartupError and ReclaimCrashedIan Jackson2024-07-241-0/+19
| | | | | | | | | | | | | | | | | | | | Trying to write comprehensive tests for the errors showed that these impls were missing.
| * | | tor-memquota: impl HasKind for ReclaimedErrorInnerIan Jackson2024-07-241-1/+7
| | | | | | | | | | | | | | | | This will make testing easier.
| * | | tor-memquota: Fix Display impl for Error::TrackerCorruptedIan Jackson2024-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | Bug found in review: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2282#note_3051101
| * | | tor-memquota: memory_cost: Introduce try_claim (tests)Ian Jackson2024-07-241-0/+31
| | | |
| * | | tor-memquota: memory_cost: Introduce try_claimIan Jackson2024-07-241-0/+38
| | | | | | | | | | | | | | | | | | | | Our stream wrapper is going to want this. It's fiddly enough that doing it as a standalone facility seems sensible.
| * | | tor-memquota: memory_cost: New trait and typed wrappers (tests)Ian Jackson2024-07-241-0/+69
| | | |
| * | | tor-memquota: memory_cost: New trait and typed wrappersIan Jackson2024-07-243-0/+158
| | | |
| * | | tor-memquota: Expose some test utilities for the rest of the crateIan Jackson2024-07-242-5/+8
| | | |
| * | | tor-memquota: Improve register_participant_with (fmt)Ian Jackson2024-07-241-18/+24
| | | |