summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | tor-proto: renamed `CancelledError` to `SenderDropped`Steven Engler2024-12-101-17/+17
| | | |
| * | | tor-proto: switched from `Slab` to `DenseSlotMap` for waker mapSteven Engler2024-12-103-12/+14
| | | |
| * | | tor-proto: change the message type from `Option<T>` to `Result<T, ↵Steven Engler2024-12-101-9/+12
| | | | | | | | | | | | | | | | CancelledError>`
| * | | tor-proto: changed regular comments on `Shared` to doc commentsSteven Engler2024-12-101-21/+21
| | | |
| * | | tor-proto: update docs on `Channel::reactor_closed_rx`Steven Engler2024-12-101-3/+1
| | | | | | | | | | | | | | | | | | | | This is no longer applicable with the new oneshot broadcast channel design.
| * | | tor-proto: replace oneshot broadcast channelSteven Engler2024-12-104-138/+564
| | | | | | | | | | | | | | | | | | | | The old version had some issues, so this is a rewrite which uses slightly lower level synchronization types (`Mutex` and `OnceLock`).
| * | | tor-proto: replace `Channel`s "closed" state handlingSteven Engler2024-12-102-35/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously `Channel` had two concepts of "closed". There was an atomic flag that was set to `true` at the end `Reactor::run`, and an experimental oneshot channel where the sender was dropped when the reactor was dropped. This commit consolidates these two using the `oneshot_broadcast` module. This means that the behaviour is consistent between both "closed" statuses (`is_closing()` and `wait_for_close()`). A channel is considered closed when its reactor is dropped. This also helps progress towards making the channel reactor cancellation safe (see arti#1756).
| * | | tor-proto: move `ChannelDetails::reactor_closed_rx` to `Channel`Steven Engler2024-12-101-11/+17
| | | | | | | | | | | | | | | | This doesn't need to be shared with the reactor.
| * | | tor-proto: add 'oneshot_broadcast' util moduleSteven Engler2024-12-102-0/+246
|/ / /
* | | Merge branch 'remove-haskind' into 'main'David Goulet2024-12-102-14/+1
|\ \ \ | | | | | | | | | | | | | | | | tor-key-forge: Abolish the HasKind impl of Error. See merge request tpo/core/arti!2664
| * | | tor-key-forge: Abolish the HasKind impl of Error.Gabriela Moldovan2024-12-102-14/+1
|/ / / | | | | | | | | | | | | | | | | | | We can't possibly know the `ErrorKind` of such an error, unless we know where the unsupported key came from. Since we can't know this, we should let a higher level crate (like `tor-keymgr`) decide the `ErrorKind` instead.
* | | Merge branch 'rtcompat-streamops' into 'main'gabi-2502024-12-1015-12/+252
|\ \ \ | |/ / |/| | | | | | | | | | | | | | tor-rtcompat: Add a StreamOps trait. Closes #1769 See merge request tpo/core/arti!2660
| * | tor-rtcompat: Replace bad_api_usage with UnsupportedStreamOp (fmt).Gabriela Moldovan2024-12-104-6/+21
| | |
| * | tor-rtcompat: Replace bad_api_usage with UnsupportedStreamOp.Gabriela Moldovan2024-12-105-30/+15
| | |
| * | tor-rtcompat: Add an error type for unsupported StreamOps.Gabriela Moldovan2024-12-102-1/+28
| | |
| * | tor-rtcompat: Add a default implementation for StreamOps::set_tcp_notsent_lowat.Gabriela Moldovan2024-12-101-2/+8
| | |
| * | tor-rtcompat: Clarify the StreamOps documentation.Gabriela Moldovan2024-12-101-4/+6
| | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2660#note_3139562
| * | tor-rtcompat: Require NetStream{Listener,Provider} streams to impl StreamOps ↵Gabriela Moldovan2024-12-101-2/+6
| | | | | | | | | | | | (fmt).
| * | tor-rtcompat: Require NetStream{Listener,Provider} streams to impl StreamOps.Gabriela Moldovan2024-12-104-8/+14
| | | | | | | | | | | | Part of #1769
| * | tor-rtcompat: Add tests for set_tcp_notsent_lowat.Gabriela Moldovan2024-12-101-0/+60
| | |
| * | tor-rtcompat: Implement StreamOps for all the stream types.Gabriela Moldovan2024-12-1011-8/+133
| | | | | | | | | | | | Part of #1769
| * | tor-rtcompat: Add a StreamOps trait.Gabriela Moldovan2024-12-102-1/+11
|/ / | | | | | | | | | | | | | | This trait will provide additional operations on `Stream`s. For now, the only supported operation is `set_tcp_notsent_lowat` (needed for #1728). Part of #1769
* | Merge branch 'connect-point-2' into 'main'Nick Mathewson2024-12-0925-290/+1351
|\ \ | | | | | | | | | | | | RPC: Implement connect points (client side) See merge request tpo/core/arti!2655
| * | rpc_tests: Add testcase for no-arguments ArtiRpcConn.Nick Mathewson2024-12-091-0/+26
| | |
| * | Remove needless cbindgen item.Nick Mathewson2024-12-092-1/+1
| | |
| * | rpc-client: Reject relative paths.Nick Mathewson2024-12-093-1/+11
| | |
| * | rpc-client: split paths better on windows.Nick Mathewson2024-12-091-1/+12
| | |
| * | rpc-client: Add TODOs about links to connect point docsNick Mathewson2024-12-091-0/+6
| | |
| * | rpc-client: Rename PathEntry to SearchEntry.Nick Mathewson2024-12-091-18/+18
| | |
| * | rpc-client: Clarity and consistency in envvar docsNick Mathewson2024-12-091-10/+20
| | |
| * | connpt: note an opportunity to save some fds.Nick Mathewson2024-12-091-0/+3
| | |
| * | connpt: use cfg-if to declare connect point defaults.Nick Mathewson2024-12-093-20/+29
| | |
| * | arti_rpc_tests: Check that the various forms of connect-point cfg work.Nick Mathewson2024-12-092-0/+231
| | |
| * | arti_rpc_tests: Clear environment variables with special meaning.Nick Mathewson2024-12-091-0/+13
| | |
| * | artilib: Revise C and Python APIs for builders.Nick Mathewson2024-12-0910-57/+376
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose ArtiRpcConnBuilder and appropriate C wrapper functions in our FFI code, and wrap those functions in our python wrapper. This breaks the old C API, but that's allowed since the API is still experimental. Some design decisions: * I've wrapped the builder in a Mutex, so that we can continue our FFI rule that we do not require non-Rust code to wrap `&mut`. * I've removed the non-builder connect() function from the C API as extraneous. * I've made a single function to prepend elements to the search path.
| * | rpc-client-core: Correct various FFI error types.Nick Mathewson2024-12-093-6/+65
| | |
| * | rpc-client: Initial implementation for RPC connect points.Nick Mathewson2024-12-097-71/+323
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit covers the major points of the design: Parsing the environment, parsing and resolving connect points, connecting to Arti, and handling errors. There are a few areas that need to be fixed, all marked with XXXXs.
| * | connpts: duplicate socket before returning.Nick Mathewson2024-12-091-15/+24
| | | | | | | | | | | | | | | (We want a separate read and write socket before we return, and once we've done the type-erasure, we can't do try_clone().)
| * | connpts: Add default connect points as constants.Nick Mathewson2024-12-092-1/+61
| | |
| * | rpc-client: move Builder to its own module.Nick Mathewson2024-12-094-85/+97
| | |
| * | arti_client_paths: Clean up documentation.Nick Mathewson2024-12-091-4/+7
| | |
| * | Move base CfgPathResolver for arti-client back to tor-config-path.Nick Mathewson2024-12-096-122/+150
| | | | | | | | | | | | | | | This time, we make explicit that it is a _base_ resolver, and that it is client-only.
* | | Merge branch 'idna-audit' into 'main'Nick Mathewson2024-12-091-0/+9
|\ \ \ | |/ / |/| | | | | | | | Add an exception for RUSTSEC-2024-0421 to fix CI. See merge request tpo/core/arti!2661
| * | Add an exception for RUSTSEC-2024-0421 to fix CI.Nick Mathewson2024-12-091-0/+9
|/ /
* | Merge branch 'use-tpo-images' into 'main'David Goulet2024-12-091-2/+4
|\ \ | | | | | | | | | | | | Use TPA-maintained debian image See merge request tpo/core/arti!2656
| * | Use TPA-maintained debian imageJim Newsome2024-12-041-2/+4
| | | | | | | | | | | | | | | | | | This is primarily to reduce usage of our dockerhub pull quota. See https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service/ci#tpa-maintained-images
* | | Merge branch 'dev/cve/mit' into 'main'Ian Jackson2024-12-051-1/+1
|\ \ \ | |/ / |/| | | | | | | | meta: Update license year range to 2024 See merge request tpo/core/arti!2658
| * | meta: Update license year range to 2024Clara Engler2024-12-051-1/+1
|/ /
* | Merge branch 'release_clarify_pages' into 'main'Nick Mathewson2024-12-041-4/+27
|\ \ | | | | | | | | | | | | Release.md: clarify some post-release steps See merge request tpo/core/arti!2614
| * | release: Clarify how to alert network-team and when.Nick Mathewson2024-11-121-1/+10
| | |