summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | 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.
| * | | | | maint/cbindgen: Workaround for systems without gnu-getopt by default.Nick Mathewson2024-10-211-2/+9
|/ / / / /
* | | | | Merge branch 'rpc-cancel' into 'main'Ian Jackson2024-10-211-9/+28
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | rpc-draft: Clarify and weaken cancel guarantees See merge request tpo/core/arti!2564
| * | | | | rpc-draft: Clarify and weaken cancel guaranteesNick Mathewson2024-10-211-9/+28
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | Part of #818. Tries to match the set of guarantees specified by @diziet on that ticket.
* | | | | Merge branch 'bug1531' into 'main'Ian Jackson2024-10-2116-40/+53
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move crates to crates to slotmap-careful Closes #1531 See merge request tpo/core/arti!2530
| * | | | | Convert a few crates to slotmap-carefulNeel Chauhan2024-10-1716-40/+53
| | | | | |
* | | | | | Merge branch 'test_create_hop_count_reinstate' into 'main'gabi-2502024-10-211-4/+1
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | tor-proto: Reinstate circuit hop check in test_create() See merge request tpo/core/arti!2546
| * | | | | tor-proto: Reinstate circuit hop check in test_create()Neel Chauhan2024-10-161-4/+1
| |/ / / /
* | | | | Merge branch 'arti-rpcserver-comment' into 'main'wesleyac2024-10-211-1/+1
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Fix typo in arti-rpcserver auth.rs comment See merge request tpo/core/arti!2558
| * | | | Fix typo in arti-rpcserver auth.rs commentNeel Chauhan2024-10-181-1/+1
| | |/ / | |/| |
* | | | Merge branch 'rpc-error-improvements' into 'main'Alexander Hansen Færøy2024-10-2115-148/+237
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Cleanups and improvements in the RpcError code Closes #1662 See merge request tpo/core/arti!2556
| * | | rpc: List missing required features in error dataNick Mathewson2024-10-172-5/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our spec says that when the RPC client has said "I require you to have feature X" and we don't have it, we need to include the feature(s) we don't have in an `rpc:unsupported_features` field of our error. Also, add an integration test for this behavior. Closes #1662