summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
...
* | extract tor_async_utils::oneshot into ::oneshot-fused-workaroundJim Newsome2024-08-281-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Having this in the `tor-async-utils` crate prevents us from doing both of the following without introducing a circular dependency: * using it in `tor-rtmock` (which we currently do, particularly in tests). * using `tor-rtmock` to test things in `tor-async-utils`. We don't do this yet, but it is generally sensible to do so. In particular we want to move the `stream_peak` module there, which is currently tested with `tor-rtmock`. Moving this into its own crate avoids this circular dependency.
* | rpc: Use MockRuntime for set_proxy_info test.Nick Mathewson2024-08-281-0/+1
| |
* | arti: Define a new ArtiRpcSession type.Nick Mathewson2024-08-281-0/+1
| | | | | | | | | | | | | | This type exists in the `arti` crate. It wraps and delegates to `arti_rpcserver::RpcSession`. Subsequent commits will use it to expose information from the `arti` crate to the RPC system; right now it does nothing.
* | byte_qty: Support deserialising from strings and floatsIan Jackson2024-08-271-0/+2
| | | | | | | | This finally makes this type suitable for parsing in config files.
* | byte_qty: Implement FromStr, and improve Display implIan Jackson2024-08-271-0/+1
| | | | | | | | Display can now choose appropriate units.
* | Merge branch 'live-reload' into 'main'gabi-2502024-08-221-0/+10
|\ \ | | | | | | | | | | | | | | | | | | tor-hsservice: Add watcher for restricted_discovery config changes Closes #1505 See merge request tpo/core/arti!2353
| * | arti: Use a postage::watch channel in the tests.Gabriela Moldovan2024-08-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The watch channel should help prevent flakiness in the tests (`TestModule` uses `maybe_send` to only send the received config if it's different from the previously received value. This is supposed to prevent the tests from failing when duplicate update events are received).
| * | arti: Add test for config reloading.Gabriela Moldovan2024-08-211-0/+1
| | |
| * | tor-config: Write tests for FileWatcher.Gabriela Moldovan2024-08-211-0/+2
| | |
| * | tor-config: Add getters for FileWatcher.Gabriela Moldovan2024-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | | Sometimes it's useful to know what files/directories are being watched. For example, the descriptor publisher needs to know in order to figure out if it needs to update the watcher in response to changes in the config.
| * | tor-config: Make FileWatcher use an opaque channel type.Gabriela Moldovan2024-08-211-0/+2
| | | | | | | | | | | | The `FileWatcher` now uses a `postage::watch` channel under the hood.
| * | tor-config: Give FileWatcherBuilder a handle to the runtime.Gabriela Moldovan2024-08-211-0/+1
| | | | | | | | | | | | | | | The event handler will soon be made async, so we need a handle to the runtime.
| * | tor-config: Move FileWatcher to tor-config.Gabriela Moldovan2024-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | For the most part, this is just code motion. The only change here is that `prepare` is no longer a method on `FileWatcher`. This decouples `FileWatcher` from `ConfigurationSources`, enabling us to use it to watch files and directories that aren't configuration.
* | | Merge branch 'optional-managed-pts' into 'main'Nick Mathewson2024-08-221-0/+1
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | tor-ptmgr: make managed PTs optional ('managed-pts' feature flag) Closes #1334 See merge request tpo/core/arti!2354
| * | tor-ptmgr: added a 'managed-pts' default featureSteven Engler2024-08-211-0/+1
| | | | | | | | | | | | | | | This conditionally compiles most of the code related to managed transports.
* | | Merge branch 'peekable-poll-set' into 'main'Jim Newsome2024-08-211-0/+2
|\ \ \ | |_|/ |/| | | | | | | | Add and use `PeekableStream` and `UnobtrusivePeekableStream` See merge request tpo/core/arti!2345
| * | StreamMap: Use StreamUnobtrusivePeeker instead of PeekableJim Newsome2024-08-211-0/+1
| | |
| * | StreamUnobtrusivePeeker: implement PeekableStream and UnobtrusivePeekableStreamJim Newsome2024-08-211-0/+1
| |/
* | keymanip: Make blind_pubkey exist unconditionallyNick Mathewson2024-08-211-0/+1
| | | | | | | | | | | | | | | | | | Now it exists unconditionally so that we can have our assertion for public key consistency happen unconditionally. (Blinding secret keys is not remotely in the critical path, so I'm not concerned about the critical path.) From a suggestion from Gabi on !2341.
* | relay: Add basic configuration and builderDavid Goulet2024-08-201-0/+13
|/ | | | | | | | | | | | | | | This adds the basic TorRelayConfig object along a builder in order to create a TorRelay object. At this commit, the configuration object only holds a "StorageConfig" which is a simple starting point which will allow to expand to a KeyMgr and then a ChanMgr along more configuration. There is also no custom Error for the crate at this point. Fixes #1534 Signed-off-by: David Goulet <[email protected]>
* rpcserver: Use slotmap-careful instead of generational-arena.Nick Mathewson2024-08-141-10/+1
| | | | | | | | | Unlike generational-arena, slotmap is maintained. Unlike slotmap, slotmap-careful should never be able to reuse the same key for two different objects. Closes #1282.
* Merge branch 'careful-slotmap' into 'main'Nick Mathewson2024-08-141-0/+13
|\ | | | | | | | | New `slotmap-careful` crate to use when we mustn't re-use keys. See merge request tpo/core/arti!2298
| * New `slotmap-careful` crate to use when we mustn't re-use keys.Nick Mathewson2024-08-081-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crate works as a drop-in replacement for the generational arena types `slotmap::{SlotMap, DenseSlotMap, HopSlotMap}`, and is implemented a set of wrappers around those types. The wrappers guarantee that slot versions numbers can never wrap around by marking as unusable any slot whose version number would otherwise get too high. (We add some leeway between our max allowed version number and the largest possible version number, so that we can detect bugs.) The code relies on the serde encoding of slotmap key versions. For notes on stability and (surprisingly good) performance, see the comments. Test coverage is around 98% for the lib.rs file; it's lower in key_data.rs, since the error cases are unreachable given slotmap's current behavior. Open questions: * What further testing is a good idea? * Will slotmap ever upstream something like this? See "# Limitations" comment for the parts of slotmap that are not implemented; I hope that we don't need them.
* | Resolve unreachable_patterns warnings from nightly.Nick Mathewson2024-08-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Nightly rust doesn't like it when you have a `match` arm that can never be reached because of an uninhabited type. As such, we can't say stuff like: ``` let x: Option<Void> = ...; match x { Some(_) => unreachable!(), None => ... } ```
* | Merge branch 'rpc-describe' into 'main'Nick Mathewson2024-08-131-0/+1
|\ \ | | | | | | | | | | | | RPC: Method to expose a list of RPC methods. See merge request tpo/core/arti!2332
| * | Unstable RPC method to dump method information.Nick Mathewson2024-08-121-0/+1
| |/
* | Merge branch '1144-std-backtrace' into 'main'David Goulet2024-08-121-3/+0
|\ \ | |/ |/| | | | | | | | | Use std::backtrace instead of backtrace crate Closes #1144 See merge request tpo/core/arti!2301
| * Use std::backtrace instead of backtrace crateRobin Leander Schröder2024-08-011-3/+0
| | | | | | | | | | Removes resolve_backtraces from rtmock since it is no longer needed as stdlib's backtraces automatically lazily resolve without needing a &mut.
* | tor-hsservice: Add restricted discovery configuration.Gabriela Moldovan2024-08-051-0/+2
| |
* | Merge branch 'version-bumps-arti-v1.2.6' into 'main'Nick Mathewson2024-08-011-44/+44
|\ \ | | | | | | | | | | | | Version bumps for Arti 1.2.6 See merge request tpo/core/arti!2303
| * | Bump "arti" crate to 1.2.6Nick Mathewson2024-08-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Done with ``` cargo set-version --bump patch -p arti ```
| * | Bump versions for tor- and arti- crates to 0.21.0Nick Mathewson2024-08-011-40/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the result of: ``` for crate in $( ./maint/list_crates |grep '^\(tor\|arti-\)' ); do cargo set-version -p $crate 0.21.0 done ```
| * | Minor bumps on fslock-guard, fs-mistrust, equixNick Mathewson2024-08-011-3/+3
| |/ | | | | | | | | | | | | | | No updates on their dependents, because: fslock-guard (only tests have changed) equix (only change is removal of a private constant) fs-mistrust (documentation, formatting, and use of Path::try_exists in tests)
* | Unpin ccIan Jackson2024-08-011-1/+0
| | | | | | | | | | | | | | The previous commit added a pinned dep on cc 1.0.93, which we don't want. See also !2231
* | Cargo.lock: Downgrade cc againIan Jackson2024-08-011-10/+11
| | | | | | | | | | | | Roughly the same as 32a45edb84a210eb9fa692f7f339b2a0b20cb1c6. Add the line to arti's Cargo.toml for convenience for next time.
* | Run "cargo update" in preparation for release.Nick Mathewson2024-08-011-261/+307
|/
* ffi: use void to omit unreachable "on invalid" blocksNick Mathewson2024-07-311-0/+1
|
* rpc: Initial core of an FFI interface.Nick Mathewson2024-07-311-0/+8
| | | | | | | | | This only covers the absolute minimal API in order to launch a connection and run simple requests, and it doesn't document anything nearly well enough. Nonetheless I think it's good enough for an initial review, to make sure that we've got the basics right (as well as a general consensus on the error handling API, naming, and so forth).
* Update bytemuck to 1.16.3; previous version was yanked.Nick Mathewson2024-07-311-2/+2
|
* arti: Add tests for the arti hss subcommand.Gabriela Moldovan2024-07-301-0/+158
| | | | Closes #1250
* tor-memquota: Provide StreamUnobtrusivePeekerIan Jackson2024-07-241-0/+1
| | | | | | 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.
* rpclib: Initial tests for RpcConnNick Mathewson2024-07-241-0/+3
| | | | | | 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-241-1/+40
|
* Bump openssl to 0.10.66 to satisfy cargo-audit.Gabriela Moldovan2024-07-221-4/+4
| | | | See RUSTSEC-2024-0357.
* Merge branch 'arti-rpc-client-core-v4' into 'main'Nick Mathewson2024-07-161-0/+12
|\ | | | | | | | | Lower and middle levels of Arti rpc core, version 4. See merge request tpo/core/arti!2270
| * rpc client: Documentation.Nick Mathewson2024-07-161-0/+1
| |
| * WIP: Lower and middle levels of Arti rpc core.Nick Mathewson2024-07-161-0/+11
| |
* | Merge branch 'rpcbase-testing' into 'main'gabi-2502024-07-161-0/+1
|\ \ | |/ |/| | | | | A bit more test coverage in tor-rpcbase See merge request tpo/core/arti!2264
| * rpc: Test some lower level dispatch internals.Nick Mathewson2024-07-151-0/+1
| |
* | Upgrade bytes to 1.6.1, to appease cargo-audit.Nick Mathewson2024-07-151-2/+2
|/ | | | | Version 1.6.0 has been yanked. We don't use the affected API, but our dependencies may.