summaryrefslogtreecommitdiff
path: root/crates/tor-rtcompat
Commit message (Collapse)AuthorAgeFilesLines
* Version bumps for 1.4.6Ian Jackson2025-08-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made with the following shell script: export CARGO='nailing-cargo -Eu' # Non-functional changes only maint/bump_nodep hashx # Special $CARGO set-version -p arti 1.4.6 # Additional features, no breaking changes, depended on in tree $CARGO set-version -p safelog 0.4.8 # Unconditional bump to 0.33.0 xargs -I P <<END $CARGO set-version -p P 0.33.0 tor-error tor-general-addr tor-geoip tor-rtcompat tor-rtmock tor-async-utils tor-config tor-config-path tor-rpc-connect tor-log-ratelim tor-rpcbase tor-memquota tor-units tor-llcrypto tor-bytes tor-protover tor-checkable tor-cert tor-key-forge tor-hscrypto tor-socksproto tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-relay-selection tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy tor-relay-crypto arti-client arti-relay arti-rpcserver arti-ureq arti-rpc-client-core END
* Typo fixes (automatic and hand-verified)Nick Mathewson2025-07-091-2/+2
| | | | Made with https://crates.io/crates/typos-cli
* Bump all the unstable tor- and arti- crates to 0.32.0.Gabriela Moldovan2025-07-071-3/+3
| | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.32.0 done ```
* tor-rtcompat, tor-rtmock: Allow unused functions.Gabriela Moldovan2025-07-071-0/+1
| | | | These only serve as a compile-time check.
* Temporarily suppress mismatched_lifetime_syntaxes.Gabriela Moldovan2025-07-071-0/+1
| | | | See #2060.
* tor-rtmock: Blocking::blocking_io: add clarificationIan Jackson2025-06-231-0/+3
|
* tor-rtmock: Blocking::spawn_blocking: clarify drop behaviourIan Jackson2025-06-231-0/+6
| | | | | Explain that you don't need to .await the returned future, and say what happens when you drop it.
* tor-rtcompat: Remove rustls dependency in favor of futures-rustlsparazyd2025-06-062-3/+1
| | | | | | | | | | futures-rustls provides and re-exports rustls and thus the rustls dependency is redundant. Additionally, this removes `aws-lc-rs` and its inherent dependencies from `Cargo.lock` and the entire project since they've been included because the rustls dependency did not use `default-features = false` and rustls by default now depends on `aws-lc-rs` as its crypto engine.
* tor-proto: add optimization for `DynTimeProvider`Steven Engler2025-06-051-0/+27
|
* release: Bump all tor-/arti- crates to 0.31.0.Alexander Hansen Færøy2025-06-051-3/+3
| | | | | | | | This was done using: for crate in $(./maint/list_crates | grep -P '^tor-|^arti-'); do cargo set-version -p $crate 0.31.0 done
* ./maint/cargo_sort: Run cargo-sort on the entire workspace.Gabriela Moldovan2025-05-271-5/+18
| | | | | | | | | | | | | | | | | | | The [latest version] of `cargo-sort` is more opinionated than the previous one, and is now causing the `rust-checks` job to fail on `main`. This commit applies the fixes needed to satisfy the new `cargo-sort` rules. These changes were generated by running `cargo sort --workspace` several times, until `cargo sort --check --workspace` finally succeeded (it couldn't fix all the errors in one go, for some reason). I have omitted the changes `cargo-sort` made to the top-level `Cargo.toml`, to preserve the topological ordering of the workspace members. Closes #2014 [latest version]: https://github.com/DevinR528/cargo-sort/blob/f066ae80e5e6f5c1d8f0e2b8099461dcb97d9656/changelog.md#200
* rtcompat: remove Letsencrypt/Rustls kludgeretort-dev2025-05-203-48/+13
|
* *: use std::io::Error::other in many placesNick Mathewson2025-05-153-9/+6
| | | | | | | The `IoError::other` function is an easier way to say `IoError::new(IoErrorKind::Other, ...)`. It's been around since 1.74, but clippy started warning about the more verbose version in 1.87.
* All crates: bump rust-version to 1.83.Nick Mathewson2025-05-131-1/+1
|
* release: Bump all unstable tor/arti crates to 0.30.0Wesley Aptekar-Cassels2025-05-012-6/+3
| | | | | | | | ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.30.0 done ```
* Merge branch 'fork' into 'main'David Goulet2025-04-142-0/+56
|\ | | | | | | | | | | | | Forbid fork, except very carefully before exec Closes #1897 See merge request tpo/core/arti!2925
| * tor-rtcompat: xref to fork policy from PreferredRuntimeIan Jackson2025-04-071-0/+11
| |
| * tor-rtcompat: Add div anchor for policyIan Jackson2025-04-071-0/+4
| | | | | | | | | | | | We're going to want to make many xrefs to this. This trick with the <div> has worked well for us in derive-deftly.
| * tor-rtcompat: Write policy on fork without execIan Jackson2025-04-071-0/+41
| |
* | Merge branch 'rtmock-unsend' into 'main'David Goulet2025-04-144-3/+6
|\ \ | | | | | | | | | | | | | | | | | | Relax bounds on BlockOn::reenter_block_on Closes #1933 See merge request tpo/core/arti!2934
| * | tor-rtcompat: BlockOn: relax bounds on reenter_block_onIan Jackson2025-04-094-3/+6
| |/ | | | | | | The future no longer needs to be `Send + 'static`.
* / Allow StreamOps import to be unusedNick Mathewson2025-04-091-0/+1
|/ | | | | This comes up on OSX; I hadn't seen it before, so I assume it is new with Rust 1.86.
* Remove semver.md files post-release.Gabriela Moldovan2025-04-011-11/+0
|
* tor-rtcompat: Avoid wildcard dependency requirements.Gabriela Moldovan2025-04-011-1/+1
| | | | | | | | | This is preventing us from publishing `tor-rtcompat`: > error: failed to publish to registry at https://crates.io > > Caused by: > the remote server responded with an error (status 400 Bad Request): wildcard (`*`) dependency constraints are not allowed on crates.io. Crate with this problem: `hex` See https://doc.rust-lang.org/cargo/faq.html#can-libraries-use--as-a-version-for-their-dependencies for more information
* Bump all the unstable tor- and arti- crates to 0.29.0.Gabriela Moldovan2025-03-311-3/+3
| | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.29.0 done ```
* Upgrade rustls-wekpki dependency to 0.103.1.Gabriela Moldovan2025-03-271-1/+1
| | | | | | We aren't affected by any of the breaking changes from [0.103.0]. [0.103.0]: https://github.com/rustls/webpki/releases/tag/v%2F0.103.0
* AF_UNIX terminology: Rename two error structsIan Jackson2025-03-245-10/+21
| | | | | | We change `NoUnixAddressSupport` to `NoAfUnixSocketSupport` because it doesn't make much sense to talk about support for the addresses separately from support for the sockets.
* Fix AF_UNIX terminology in docs, comments, and error messagesIan Jackson2025-03-242-4/+4
|
* Merge branch 'x509-signature-yeet' into 'main'Nick Mathewson2025-03-055-120/+104
|\ | | | | | | | | | | | | Switch from x509-signature to rustls-webpki when using rustls. Closes #1824 and #1854 See merge request tpo/core/arti!2816
| * rustls: move provider-installer to its own function.Nick Mathewson2025-03-041-13/+21
| | | | | | | | | | We do this so that we can make sure there's a provider installed when we run the tests.
| * Require rustls 0.23.20Nick Mathewson2025-03-041-1/+2
| | | | | | | | | | This is the version that introduces `root_hint_subjects()`, which we want our ServerCertVerifier to override.
| * Require rustls-pki-types 1.8 for CertificateDer::from_sliceNick Mathewson2025-03-041-1/+1
| |
| * rustls.rs: Replace x509-signature with rustls-webpkiNick Mathewson2025-03-045-103/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The x509-signature crate is archived, and won't see any more releases. Using it is tying us to ring 0.16 internally, which means we depend on two ring versions. Fortunately, rustls-webpki relaxes some of the earlier restrictions from the vanilla webpki crate, which means that its certificate parser now accepts C tor's oddball x509 certificates as valid. With this change, we can delegate to rustls's built-in signature-checking code, and we only have to override its certificate validation. (We still override it with a pile of comments about how we don't validate link certificates much.) I've had to include a few certificates: two are for tests, but one is needed as a placeholder, since we can't construct a rustls certificate validator without a root cert, even if we'll never use it. Closes #1824. Closes #1854.
| * rtcompat: Un-rename CertificateDer type.Nick Mathewson2025-03-041-6/+8
| | | | | | | | (We had added this rename when rustls renamed it originally.)
* | tor-rtcompat: Fix grammar in docIan Jackson2025-03-041-1/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3168425
* | tor-rtcompat: Rename spawn_thread to spawn_blockingIan Jackson2025-03-045-34/+33
| | | | | | | | Let's use Tokio terminology here.
* | tor-rtcompat: Give a reason in blocking_io for not using for cpu workIan Jackson2025-03-041-1/+4
| | | | | | | | | | As requested https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167979
* | tor-rtcompat: Fix docs typoIan Jackson2025-03-041-1/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167978
* | tor-rtcompat: Change the title of RuntimeIan Jackson2025-03-041-1/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167977
* | tor-rtcompat: Clarify reentrancy restrictions on `block_on`Ian Jackson2025-03-041-2/+5
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167976
* | tor-rtcompat: Explain Sendness of reenter_block_on futureIan Jackson2025-03-041-0/+6
| | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167975 Also allow ourselves the option of changing this in the future.
* | tor-rtcompat: Clarify distinction between Runtime and ToplevelIan Jackson2025-03-041-2/+8
| | | | | | | | | | Prompted by and partially taken from https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167973
* | tor-rtcompat: Linkify a mention of spawn_threadIan Jackson2025-03-041-1/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167972
* | tor-rtcompat: Clarify docs (3)Ian Jackson2025-03-041-1/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167970
* | tor-rtcompat: Make a precise example for mpsc::channelIan Jackson2025-03-041-1/+1
| | | | | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167969
* | tor-rtcompat: Blocking::spawn_thread semantics correctionIan Jackson2025-03-041-2/+11
| | | | | | | | | | | | | | | | | | The: table entry for `spawn_thread` was wrong. We use AsyncExecutors' spawn_blocking which uses tokio::task::spawn_blocking. This has implications for the semantics, as per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167967 https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167968
* | tor-rtcompat: Clarify docs (2)Ian Jackson2025-03-041-1/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167966
* | tor-rtcompat: Clarify docsIan Jackson2025-03-041-1/+1
| | | | | | | | | | As suggested https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167965
* | tor-rtcompat: Add a semver.md for changes to BlockOn etc.Ian Jackson2025-03-041-0/+4
| |
* | tor-rtmocK; Detect wrong-context blocking_io and spawn_threadIan Jackson2025-03-041-2/+0
| |