summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | rpclib: preserve unrecognized request fieldsNick Mathewson2024-08-042-6/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When writing a request, we want to keep any fields that we don't recognize, in case the application (and arti) know about some field that we haven't heard of.
| * | | | rpclib: Split ParsedRequest and Request types.Nick Mathewson2024-08-043-27/+58
| | |/ / | |/| | | | | | | | | | (They are about to diverge even further.)
* | | | arti: Add the restricted_discovery configuration to the example config.Gabriela Moldovan2024-08-052-9/+94
| | | | | | | | | | | | | | | | This also adds a test for it.
* | | | tor-hsservice: Fix broken doc links in RestrictedDiscoveryConfig.Gabriela Moldovan2024-08-051-6/+4
| | | |
* | | | tor-hsservice: Rewrite read_keys impl to be more functional.Gabriela Moldovan2024-08-051-21/+11
| | | |
* | | | tor-hsservice: Use DirEntry::file_name to simplify key file reading logic.Gabriela Moldovan2024-08-051-19/+14
| | | |
* | | | tor-hsservice: Reduce code duplication in restricted mode tests.Gabriela Moldovan2024-08-051-6/+3
| | | |
* | | | tor-hsservice: Give static_keys precedence over key_dirs (fmt).Gabriela Moldovan2024-08-053-16/+8
| | | |
* | | | tor-hsservice: Give static_keys precedence over key_dirs.Gabriela Moldovan2024-08-052-32/+100
| | | | | | | | | | | | | | | | | | | | This rewrites `RestrictedDiscoveryConfig::read_keys` to give `static_keys` precedence over the keys from `key_dirs`.
* | | | tor-hsservice: Do not error if there are more than ↵Gabriela Moldovan2024-08-053-93/+24
| | | | | | | | | | | | | | | | | | | | | | | | MAX_RESTRICTED_DISCOVERY_CLIENTS. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2266#note_3051758
* | | | tor-hsservice: Add a note about live updates.Gabriela Moldovan2024-08-051-0/+7
| | | |
* | | | tor-hsservice: Use the configured authorized clients when encrypting the ↵Gabriela Moldovan2024-08-055-8/+49
| | | | | | | | | | | | | | | | descriptor.
* | | | tor-hsservice: Remove unused import from internal prelude.Gabriela Moldovan2024-08-051-1/+0
| | | | | | | | | | | | | | | | | | | | The base64ct dependency is now unused in tor-hsservice, so we should consider removing it at some point.
* | | | tor-hsservice: Remove unused config types.Gabriela Moldovan2024-08-052-79/+1
| | | |
* | | | tor-hsservice: Store the client keys in RunningOnionService.Gabriela Moldovan2024-08-052-0/+41
| | | |
* | | | tor-hsservice: Use restricted config option in OnionServiceConfig.Gabriela Moldovan2024-08-051-13/+30
| | | |
* | | | tor-hsservice: Add restricted discovery configuration.Gabriela Moldovan2024-08-056-3/+919
| | | |
* | | | arti: Avoid using the now-deprecated arti_client constant.Gabriela Moldovan2024-08-051-2/+2
| | | | | | | | | | | | | | | | We can just used `build_for_arti()` here.
* | | | arti-client: Move BuilderExt to tor-config.Gabriela Moldovan2024-08-053-23/+35
| | | | | | | | | | | | | | | | | | | | `BuilderExt` will soon be used in tor-hsservice too (for configuring the mistrust settings of the client "restricted mode" authorization keys).
* | | | tor-hscrypto: Implement Eq for HsClientDescEncKey.Gabriela Moldovan2024-08-051-0/+2
| | | | | | | | | | | | | | | | Needed because such keys will be stored in the `OnionServiceConfig`.
* | | | tor-hsservice: Add a restricted-discovery feature.Gabriela Moldovan2024-08-054-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Restricted discovery mode is initially going to be gated behind the experimental `restricted-discovery` feature. Part of #1292
* | | | tor-hsservice: Remove extraneous whitespace.Gabriela Moldovan2024-08-051-2/+2
| | | |
* | | | doc: Add arti hsc subcommand docs to doc/hsc.md.Gabriela Moldovan2024-08-051-28/+1
| | | | | | | | | | | | | | | | | | | | This also makes the `tests/testcases/hsc/hsc.md` test case a symlink to `doc/hsc.md`.
* | | | arti: Update the hsc markdown test.Gabriela Moldovan2024-08-051-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a bit more information to `hsc.md`. Note: `hsc.md` is currently just a test case for the CLI tests. A future commit promote it to module-level README.
* | | | Merge branch 'typo-fix-1' into 'main'Ian Jackson2024-08-051-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix a pair of typos in an ffi comment. See merge request tpo/core/arti!2310
| * | | | Fix a pair of typos in an ffi comment.Nick Mathewson2024-08-031-2/+2
| |/ / /
* | | | Merge branch 'ticket_1501_errno' into 'main'Nick Mathewson2024-08-053-8/+69
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ffi: Expose errno from errors that have it. Closes #1501 See merge request tpo/core/arti!2311
| * | | | ffi: Expose OS error field.Nick Mathewson2024-08-031-2/+23
| | | | | | | | | | | | | | | | | | | | Closes #1501.
| * | | | ffi: Store the os error code in FfiError.Nick Mathewson2024-08-031-0/+40
| | | | | | | | | | | | | | | | | | | | (This is an errno or a GetLastError.)
| * | | | rpc-client-core: Add thiserror #[source] annotationsNick Mathewson2024-08-032-7/+7
| |/ / / | | | | | | | | | | | | | | | | This will make error outputs more usable, and will make it possible to expose OS error codes.
* / / / arti: Elide the -c help in the expected output of the CLI tests.Gabriela Moldovan2024-08-051-2/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The help output of the `-c ` option includes some local paths, which can be quite long on some platforms, spanning over multiple lines. This causes the CLI tests to fail, because they expect each of the paths from the `-c` help to fit on a single line. To fix this, we can use `trycmd`'s `...` to match as many lines as needed. Closes #1509
* | | Merge branch 'hss-nickname-error' into 'main'gabi-2502024-08-022-4/+7
|\ \ \ | | | | | | | | | | | | | | | | Have `arti hss onion-name` error if it doesn't print the onion name See merge request tpo/core/arti!2305
| * | | Have `arti hss onion-name` error if it doesn't print the onion nameKunal Mehta2024-08-012-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two error cases where the onion name isn't printed, but previously returned `Ok(())`. It now returns an error to exit with a non-zero status code.
* | | | Merge branch 'use-unordered-futures-rebased' into 'main'Jim Newsome2024-08-017-144/+1109
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | tor-proto::circuit::StreamMap: Use StreamPollSet See merge request tpo/core/arti!2285
| * | | tor-proto: Remove circuit reactor's outbound bufferJim Newsome2024-08-011-71/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We no longer need this. StreamMap now supports handling only one outgoing message at a time while ensuring no streams starve, so we no longer ever pull messages out of the map when we're not actually ready to send them.
| * | | tor-proto::circuit::StreamMap: Use StreamPollSetJim Newsome2024-08-014-76/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactors `StreamMap` to use `StreamPollSet` to manage its receivers for mpsc streams. * Extends `StreamMap` to support iterating only over streams that have a pending outgoing message, and in round-robin order. * Updates `circuit::reactor::Reactor` to use this functionality. It now iterates only over streams that have a ready outgoing message, and only actually "pops" a message that is ready to be sent. This mildly simplifies the circuit reactor, but more importantly clears the way to: * Remove the "outbound queue" of messages that were pulled from stream channels but that we couldn't send yet due to congestion control. * Support opportunistic packing when preparing to send a relay message. (proposal 340). * Refactor the circuit reactor's `run_once` into futures that we can `select!` over.
| * | | Add StreamPollSetJim Newsome2024-08-012-0/+603
| | | |
| * | | Add KeyedFuturesUnorderedJim Newsome2024-08-012-0/+367
| |/ /
* / / Remove semver.md files post-release.Nick Mathewson2024-08-013-3/+0
|/ /
* | Bump "arti" crate to 1.2.6Nick Mathewson2024-08-013-3/+3
| | | | | | | | | | | | | | | | Done with ``` cargo set-version --bump patch -p arti ```
* | Bump versions for tor- and arti- crates to 0.21.0Nick Mathewson2024-08-0145-358/+358
| | | | | | | | | | | | | | | | | | | | This is the result of: ``` for crate in $( ./maint/list_crates |grep '^\(tor\|arti-\)' ); do cargo set-version -p $crate 0.21.0 done ```
* | Run "cargo update" for crates/{equix/hashx}/bench.Nick Mathewson2024-08-012-162/+210
| |
* | Minor bumps on fslock-guard, fs-mistrust, equixNick Mathewson2024-08-013-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)
* | Run "fixup-features".Nick Mathewson2024-08-013-3/+3
|/
* ffi: Make "sealed" a little less effective.Nick Mathewson2024-07-311-7/+7
| | | | | Rust 1.70 (our MSRV) will not allow us to use a trait from a private module in this way, unfortunately.
* ffi: Re-run cbindgen.Nick Mathewson2024-07-312-23/+55
|
* ffi: Add some explicit ()s to prove they are there.Nick Mathewson2024-07-312-2/+6
|
* ffi: Document safety for each function using ffi_body_raw.Nick Mathewson2024-07-312-3/+17
|
* ffi: rename ffi_body_simple to ffi_body_rawNick Mathewson2024-07-313-18/+18
|
* ffi: Document rules for ensuring return valuesNick Mathewson2024-07-311-0/+13
|