summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | arti: Move RpcConfig to rpc.rsNick Mathewson2024-12-192-29/+33
| | |
| * | map_builder: Add support for default settings.Nick Mathewson2024-12-191-10/+133
| | | | | | | | | | | | | | | | | | This is a little tricky (beyond the usual macro fun) because we needed to use ExtendBuilder to get reasonable behavior for our default trees.
| * | Define macros to create a map-builder type.Nick Mathewson2024-12-192-0/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're about to need this to define some of the configuration for RPC listeners. The provided map-builder type is much less voluminous in terms of APIs added than the list-builder type: It just uses Deref* and sub_builder. I think this simplicity may be a win. I'll need to rethink how this type handles defaults in order to implement connect points properly; I've left XXXXs for that issue.
| * | tor-config: Add "extend" functionality for config builders.Nick Mathewson2024-12-192-0/+180
| | | | | | | | | | | | We'll use this to implement defaults for maps in our configuration.
| * | connpt: Make unix socket handling more robust.Nick Mathewson2024-12-194-21/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Grab an associated lock file... - ... then delete the socket file (if it's present) ... - ... then bind to it. On exit: - remove the socket - then drop the lock.
| * | rpc-connect: Make LoadOptions buildable.Nick Mathewson2024-12-192-1/+3
| | |
| * | rpc-connect: fix another very typoed lineNick Mathewson2024-12-191-1/+1
| | |
| * | list_builder: fix a very typoed line.Nick Mathewson2024-12-191-1/+1
| | |
| * | rtcompat: re-export items from tor_general_addr::generalNick Mathewson2024-12-191-0/+2
| | |
| * | tor-general-addr: Add general::SocketAddr::as_pathname()Nick Mathewson2024-12-191-0/+9
| | |
* | | fs-mistrust: trim whitespace in env var valuesSteven Engler2024-12-182-4/+8
|/ /
* | fs-mistrust: commit to stable env var handlingSteven Engler2024-12-182-4/+43
| | | | | | | | | | | | | | | | Since these environment variables become part of the stable API for applications that use fs-mistrust, we should be explicit about how these environment variables are interpreted so that applications can show the values in their documentation or help text, and so that we don't accidentally change the behaviour and break applications.
* | fs-mistrust: (docs) fix incomplete list of env variable valuesSteven Engler2024-12-181-2/+2
| |
* | Merge branch 'reverse-hscrypto-key-forge-dep' into 'main'David Goulet2024-12-124-114/+112
|\ \ | | | | | | | | | | | | | | | | | | tor-hscrypto: Move encodable key trait impls from tor-key-forge. Closes #1778 See merge request tpo/core/arti!2668
| * | tor-hscrypto: Move encodable key trait impls from tor-key-forge.Gabriela Moldovan2024-12-114-114/+112
| |/ | | | | | | | | | | | | | | | | This enables us to get rid of the tor-key-forge -> tor-hscrypto dependency, partially addressing the TODO from `tor_key_forge::traits`. This commit is mostly code motion. Best reviewed with `--color-moved`. See also #1778
* | streamops: Resolve unused-variable warnings.Nick Mathewson2024-12-121-1/+1
| |
* | Merge branch 'cbindgen-label' into 'main'Nick Mathewson2024-12-111-0/+1
|\ \ | |/ |/| | | | | | | | | Label our cbindgen output, to detect version incompatibility. Closes #1772 See merge request tpo/core/arti!2662
| * Label our cbindgen output, to detect version incompatibility.Nick Mathewson2024-12-091-0/+1
| | | | | | | | | | | | | | This will help us keep track of whether we are using the pinned-to version of cbindgen. Closes #1772.
* | tor-proto: replaced error type of `Sender::send_and_wake`Steven Engler2024-12-101-6/+10
| |
* | tor-proto: add some (disabled) doc testsSteven Engler2024-12-101-0/+27
| |
* | tor-proto: moved `Shared::count_wakers` into 'test' modSteven Engler2024-12-101-13/+12
| |
* | tor-proto: changed an `expect` to a `debug_assert`Steven Engler2024-12-101-5/+4
| |
* | tor-proto: use thiserror for `SenderDropped`Steven Engler2024-12-101-9/+2
| |
* | tor-proto: use `ready!` instead of `match`Steven Engler2024-12-101-5/+3
| |
* | tor-proto: `borrowed()` now explicitly returns a `BorrowedReceiverFuture`Steven Engler2024-12-101-3/+2
| |
* | tor-proto: improve commentsSteven Engler2024-12-101-15/+31
| |
* | Revert "tor-proto: implement `FusedFuture` for receiver futures"Steven Engler2024-12-101-57/+10
| | | | | | | | This reverts commit d73f8894551d37e3bc36947eccf0c6007ffc066e.
* | tor-proto: implement `FusedFuture` for receiver futuresSteven Engler2024-12-101-10/+57
| |
* | Revert "tor-proto: deduplicate future fields into `FutureState`"Steven Engler2024-12-101-18/+11
| | | | | | | | This reverts commit acc79ffb44343e52ecb72e27ee8843a63448ff5a.
* | Revert "tor-proto: implement `FusedFuture` for receiver futures"Steven Engler2024-12-101-79/+33
| | | | | | | | This reverts commit 2fd105b79c25d919e32e53daf81cb369d1e44331.
* | tor-proto: implement `FusedFuture` for receiver futuresSteven Engler2024-12-101-33/+79
| | | | | | | | | | | | | | | | I considered just using `FutureExt::fuse`, but that becomes a little annoying since the future type is exposed through `IntoFuture::IntoFuture`, which means `ReceiverFuture` would need to wrap a `Fuse`. I figured it's cleaner just to implement the trait directly.
* | tor-proto: deduplicate future fields into `FutureState`Steven Engler2024-12-101-11/+18
| |
* | tor-proto: renamed `ReceiverBorrowedFuture` to `BorrowedReceiverFuture`Steven Engler2024-12-101-5/+5
| |
* | tor-proto: renamed `ReceiverOwnedFuture` to `ReceiverFuture`Steven Engler2024-12-101-6/+6
| |
* | tor-proto: rename `Receiver::recv` to `borrowed`Steven Engler2024-12-101-24/+24
| |
* | tor-proto: moved the `Weak::upgrade` into `Sender::send_and_wake`Steven Engler2024-12-101-22/+15
| |
* | tor-proto: changed `wakers` from an `Option<_>` to a `Result<_, ↵Steven Engler2024-12-101-9/+21
| | | | | | | | WakersAlreadyWoken>`
* | tor-proto: added `use std::ops::Drop`Steven Engler2024-12-101-3/+4
| |
* | tor-proto: removed `Receiver::recv_clone` and implemented `IntoFuture` for ↵Steven Engler2024-12-102-25/+24
| | | | | | | | `Receiver`
* | tor-proto: renamed `CancelledError` to `SenderDropped`Steven Engler2024-12-101-17/+17
| |
* | tor-proto: switched from `Slab` to `DenseSlotMap` for waker mapSteven Engler2024-12-102-11/+13
| |
* | 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-103-138/+563
| | | | | | | | | | 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
| |
* | 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.
* | tor-rtcompat: Replace bad_api_usage with UnsupportedStreamOp (fmt).Gabriela Moldovan2024-12-104-6/+21
| |