summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | rpc-cookie: Formatting cleanup wrt `P`.Nick Mathewson2024-10-211-3/+3
| | | |
| * | | rpc-cookie: Make more text normative; defined a malformed cookie fileNick Mathewson2024-10-211-6/+11
| | | |
| * | | rpc-cookie: More naming consistencyNick Mathewson2024-10-211-8/+9
| | | |
| * | | rpc-sketches: Unify, clarify, and clean up socket_canonicalNick Mathewson2024-10-212-31/+32
| | | |
| * | | rpc-cookie-sketch: unify non-address field names.Nick Mathewson2024-10-211-9/+8
| | | |
| * | | rpc-cookie-sketch: re-order SADDR_USE and SADDR_VERIFY.Nick Mathewson2024-10-211-7/+8
| | | |
| * | | rpc-cookie-sketch: specify cookie IO failures.Nick Mathewson2024-10-211-0/+13
| | | |
| * | | cookie-sketch: Revise "in arti-rpc" section for clarityNick Mathewson2024-10-211-6/+12
| | | | | | | | | | | | | | | | In particular, specify which methods are invoked on which objects.
| * | | rpc-cookie-sketch: Clarifications from @dizietNick Mathewson2024-10-211-6/+7
| | | |
| * | | cookie-sketch: More security concerns on addr_canonicalNick Mathewson2024-10-211-0/+13
| | | |
| * | | cookie-sketch: Use a separate set of methods for cookie-auth.Nick Mathewson2024-10-211-10/+16
| | | |
| * | | cookie-sketch: Describe use of TupleHashNick Mathewson2024-10-211-15/+17
| | | | | | | | | | | | | | | | | | | | Also, rename values to S_MAC and C_MAC, and include SADDR_CANONICAL in messages.
| * | | cookie-sketch: Use agreed-upon mitm prevention.Nick Mathewson2024-10-211-5/+12
| | | |
| * | | cookie-sketch: "nonce", not "secret".Nick Mathewson2024-10-211-3/+3
| | | |
| * | | RPC cookie authentication spec sketch.Nick Mathewson2024-10-211-0/+81
| |/ / | | | | | | | | | Part of #1521.
* | | Merge branch 'mq-fix' into 'main'Ian Jackson2024-10-2226-27/+124
|\ \ \ | | | | | | | | | | | | | | | | memquota: Fix account lifetime bugs, and arrange to test mq in shadow See merge request tpo/core/arti!2560
| * | | memquota: Use _ rather than allow(dead_code) (fmt)Ian Jackson2024-10-221-1/+4
| | | |
| * | | memquota: Use _ rather than allow(dead_code)Ian Jackson2024-10-222-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Promote the associated comments. As suggested here: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2560#note_3097188
| * | | tor-memquota: Fix rustfmt-damaged indentationIan Jackson2024-10-221-5/+5
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2560#note_3097189
| * | | shadow tests: Enable and turn on memquotaIan Jackson2024-10-212-1/+6
| | | | | | | | | | | | | | | | This detected the account lifetime bugs fixed in this branch.
| * | | shadow tests: Provide an arti.extra.toml to arti-extra binaryIan Jackson2024-10-2117-0/+26
| | | |
| * | | memquota: Fix error message stringsIan Jackson2024-10-211-2/+2
| | | | | | | | | | | | | | | | | | | | These errors aren't necessarily memory pressure. They can occur due to bugs, and during teardown.
| * | | memquota: In debug builds, reliably detect use of dropped AccountIan Jackson2024-10-211-0/+13
| | | | | | | | | | | | | | | | | | | | This detects the bugs I have just fixed - in Shadow tests with the feature enabled and a (large) limit set.
| * | | memquota: Fix a test not to rely on accessing cache with dead AccountIan Jackson2024-10-211-1/+1
| | | |
| * | | memquota: fix data stream account lifetimeIan Jackson2024-10-211-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DataStream is sometimes disassembled, eg by split. When that happens, the StreamAccount would be dropped - and that was the only strong reference. Put a StreamAccount in each of the pieces, instead of just in the combined DataStream struct.
| * | | memquota: Fix resolve stream account lifetimeIan Jackson2024-10-212-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need the mq account for the stream not to collapse. The ResolveStream object needs to contain a strong reference to it. Have begin_stream_impl return the StreamAccount, rather than taking it as a parameter. That makes this bug a little more obvious. It also centralises the StreamAccount creation.
| * | | memquota: Fix circuit account lifetime (fmt)Ian Jackson2024-10-212-5/+24
| | | |
| * | | memquota: Fix circuit account lifetime (clippy churn)Ian Jackson2024-10-212-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Now that it doesn't call CircuitAccount::new() it has no error paths, and clippy demands we remove the Result, so it must once again become infallible.
| * | | memquota: Fix circuit account lifetimeIan Jackson2024-10-212-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We foolishly made *two* CircuitAccounts, one of which gets immediately dropped. But we need to hold onto the account somewhere, because an mq_queue doesn't keep the account alive. Otherwise everything breaks when mq tracking is enabled.
| * | | memquota: Log a trace message when a claim failsIan Jackson2024-10-212-1/+9
| | | |
| * | | memquota: Log a message at info on startup, if enabledIan Jackson2024-10-211-0/+3
| | | |
* | | | Merge branch 'inet_not_tcp' into 'main'David Goulet2024-10-222-40/+40
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | general::SocketAddr: Say "inet" rather than "tcp" Closes #1701 See merge request tpo/core/arti!2554
| * | | | general::SocketAddr: Say "inet" rather than "tcp"Nick Mathewson2024-10-172-40/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "inet" makes more sense, since in principle these can also be used for udp, etc. Also making a corresponding change in rpc-connect-sketch.md, which uses this format. Closes #1701.
* | | | | Merge branch 'peek' into 'main'Ian Jackson2024-10-221-4/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Remove an obsolete TODO See merge request tpo/core/arti!2562
| * | | | | Remove an obsolete TODOIan Jackson2024-10-211-4/+0
| | |/ / / | |/| | | | | | | | | | | | | This *is* in tor-async-utils :-).
* | | | | Merge branch 'rpc-api-cleaning' into 'main'Nick Mathewson2024-10-2212-77/+326
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Tests and Improvements to python rpc client API See merge request tpo/core/arti!2567
| * | | | | python: Enforce that a response has just one type.Nick Mathewson2024-10-211-3/+13
| | | | | |
| * | | | | Typo fixes from @jnewsomeNick Mathewson2024-10-221-2/+2
| | | | | |
| * | | | | python: add tests for opening streams via RPC.Nick Mathewson2024-10-212-0/+35
| | | | | |
| * | | | | python: Expose RPC status code from errors.Nick Mathewson2024-10-214-3/+52
| | | | | |
| * | | | | python: Rename connect to open_stream, for consistency.Nick Mathewson2024-10-211-1/+1
| | | | | |
| * | | | | python: add more tests for the rpc code.Nick Mathewson2024-10-211-1/+38
| | | | | |
| * | | | | python: avoid redundant error messages.Nick Mathewson2024-10-211-1/+4
| | | | | |
| * | | | | rpclib: Rename RequestCancelled to be accurate.Nick Mathewson2024-10-214-18/+9
| | | | | |
| * | | | | python: Move meta.features test to new module.Nick Mathewson2024-10-213-47/+50
| | | | | |
| * | | | | python: remove an unused importNick Mathewson2024-10-211-1/+0
| | | | | |
| * | | | | python: Return "stream" as an object.Nick Mathewson2024-10-211-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | Make the return type from connect() more sensible.
| * | | | | python: Provide a sensible way to set metaparams in requestsNick Mathewson2024-10-212-2/+36
| | | | | |
| * | | | | python: Decode JSON in rpc responses more aggressivelyNick Mathewson2024-10-213-26/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This tweaks the APIs to return a dict in cases where we know that we are getting a result, and to return an ArtiRpcResponse in cases where we don't know what kind of response we're getting. It also expands our Error objects to support decoding. Rationale: everybody who is using this libaray will want to decode the json objects that they receive. By doing it in the library, we can save them some annoyance.
| * | | | | python: Allow execute methods to accept dictsNick Mathewson2024-10-212-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, they only took strings, which sometimes required the caller to use json.