summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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
|
* ffi: Clean up long lines and confusing expressions.Nick Mathewson2024-07-313-9/+18
|
* ffi: Clarify rules for *out pointers.Nick Mathewson2024-07-311-3/+5
| | | | Except for *error_out, they are always set to NULL on error.
* ffi: use void to omit unreachable "on invalid" blocksNick Mathewson2024-07-314-26/+59
|
* RPC: Re-wrap some macro definitions and usages.Nick Mathewson2024-07-311-14/+41
|
* ffi: Remove all non-opt conversionsNick Mathewson2024-07-313-206/+120
| | | | | | | Additionally, inline the related conversion functions. This should reduce the total amount of unsafe code that somebody would need to look at.
* ffi: Always abort on panic.Nick Mathewson2024-07-313-42/+13
|
* ffi: Document on-error behavior of consuming and setting.Nick Mathewson2024-07-311-0/+5
|
* ffi: Refactor @init macro expansions into new functions.Nick Mathewson2024-07-311-23/+102
| | | | (Documentation movement still needed.)
* ffi: Document internal ffi_initialize macro.Nick Mathewson2024-07-311-0/+14
|
* Apply suggestions about macro behavior, design, and usageNick Mathewson2024-07-311-0/+18
|
* Apply safety-related suggestions from DizietNick Mathewson2024-07-313-5/+18
|
* RPC FFI: Write a bit more text for the C no-UB requirements.Nick Mathewson2024-07-312-11/+26
| | | | | | | I got this by reading over all the relevant Rust stdlib safety documentation (now linked to in the macro definitions), and making sure that the C no-UB text is sufficient to guarantee that those requirements are met.