aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-rpc-client-core
Commit message (Collapse)AuthorAgeFilesLines
* Bump versions for tor-* and arti-* cratesSteven Engler2026-08-031-6/+6
| | | | | | | ```bash readarray -t bump < <(maint/list-crates | grep -P '^tor-|^arti-') for crate in "${bump[@]}"; do cargo set-version --bump minor -p "${crate}"; done ```
* Merge branch 'remove-lint' into 'main'Jim Newsome2026-07-151-1/+1
|\ | | | | | | | | | | | | Removed unnecessary lint Closes #2556 See merge request tpo/core/arti!4210
| * add_warning: add reference to arti#2556Jim Newsome2026-07-151-1/+1
| |
| * Removed unnecessary lintpryty262026-07-151-1/+1
| | | | | | | | Removed unnecessary lint
* | multiple crates: Fix clippy warningshjrgrn2026-07-101-1/+1
|/
* Version bumps for 2.5.0Nick Mathewson2026-06-301-8/+8
| | | | | | | | | | | | | Closes #2617. We've lucked out this time, and it turns out that every one of our published crates gets a minor bump. So this was generated with: ``` for cr in $(./maint/list-crates); do cargo set-version -p $cr --bump minor done ```
* Bump MSRV to 1.91Clara Engler2026-06-151-1/+1
| | | | | | | | | | | | | | | | | | | This commit bumps the MSRV to 1.91 which was released on 2025-10-30. The Cargo.toml files were updated as follows: ```sh git ls-files | \ grep ".*Cargo\.toml$" | \ xargs sed -i '' 's/^rust-version = "1\.89"$/rust-version = "1\.91"/g' ``` The following files were updated manually: ``` modified: .gitlab-ci.yml modified: README.md modified: flake.nix modified: maint/docker-android/Dockerfile ```
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-098-0/+8
| | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit.
* Bump all the unstable tor- and arti- crates to 0.43.0Gabriela Moldovan2026-06-011-6/+6
| | | | | | | | | | Done using: ``` for crate in $(./maint/list-crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.43.0 done ```
* Bump the versions of the non-{arti-,tor-} cratesGabriela Moldovan2026-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-{arti-,tor-} crates are: ``` ./maint/list-crates | rg -v '^(tor|arti)' oneshot-fused-workaround web-time-compat slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error futures-copy ``` We split them in the following categories: * crates with no changes (no version bumps): ``` oneshot-fused-workaround: No change. web-time-compat: No change. slotmap-careful: No change. test-temp-dir: No change. caret: No change. safelog: No change. retry-error: No change. futures-copy: No change. ``` Obtained with: ``` maint/changed-crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-' ``` * crates that only have non-functional changes (bump the patch version, but not the dependend-on version): - equix * crates where functional changes were made, but no APIs were broken (bump patch): - fs-mistrust * crates where APIs were broken (bump minor): - hashx - fslock-guard The bumps from this commit were created using this script: ``` PATCH_NF=( equix ) PATCH=" fs-mistrust " MINOR=" hashx fslock-guard " ./maint/bump-nodep "${PATCH_NF[@]}" for crate in $PATCH; do cargo set-version --bump patch -p $crate; done for crate in $MINOR; do cargo set-version --bump minor -p $crate; done ```
* Upgrade rand crates to 0.10.Wesley Aptekar-Cassels2026-05-122-4/+4
| | | | | | | | | | | When the circ-padding feature is enabled, we use maybenot, which does not yet support rand 0.10. In the meantime, enabling this feature pulls in rand 0.9. This is not ideal, but should be okay as a temporary situation. This also replaces the use of ReseedingRng (which was removed in 0.10) with the reseeding_rng crate. This is somewhat less performant, but it should be okay.
* release: Bump tor- and arti- crate versions.Wesley Aptekar-Cassels2026-05-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cargo set-version -p arti-client 0.42.0 cargo set-version -p arti-config 0.42.0 cargo set-version -p arti-relay 0.42.0 cargo set-version -p arti-rpc-client-core 0.42.0 cargo set-version -p arti-rpcserver 0.42.0 cargo set-version -p arti-testing 0.42.0 cargo set-version -p arti-ureq 0.42.0 cargo set-version -p tor-async-utils 0.42.0 cargo set-version -p tor-basic-utils 0.42.0 cargo set-version -p tor-bytes 0.42.0 cargo set-version -p tor-cell 0.42.0 cargo set-version -p tor-cert 0.42.0 cargo set-version -p tor-cert-x509 0.42.0 cargo set-version -p tor-chanmgr 0.42.0 cargo set-version -p tor-checkable 0.42.0 cargo set-version -p tor-circmgr 0.42.0 cargo set-version -p tor-config 0.42.0 cargo set-version -p tor-config-path 0.42.0 cargo set-version -p tor-consdiff 0.42.0 cargo set-version -p tor-dirclient 0.42.0 cargo set-version -p tor-dircommon 0.42.0 cargo set-version -p tor-dirmgr 0.42.0 cargo set-version -p tor-dirserver 0.42.0 cargo set-version -p tor-error 0.42.0 cargo set-version -p tor-events 0.42.0 cargo set-version -p tor-general-addr 0.42.0 cargo set-version -p tor-geoip 0.42.0 cargo set-version -p tor-guardmgr 0.42.0 cargo set-version -p tor-hsclient 0.42.0 cargo set-version -p tor-hscrypto 0.42.0 cargo set-version -p tor-hsrproxy 0.42.0 cargo set-version -p tor-hsservice 0.42.0 cargo set-version -p tor-key-forge 0.42.0 cargo set-version -p tor-keymgr 0.42.0 cargo set-version -p tor-linkspec 0.42.0 cargo set-version -p tor-llcrypto 0.42.0 cargo set-version -p tor-log-ratelim 0.42.0 cargo set-version -p tor-memquota 0.42.0 cargo set-version -p tor-memquota-cost 0.42.0 cargo set-version -p tor-netdir 0.42.0 cargo set-version -p tor-netdoc 0.42.0 cargo set-version -p tor-persist 0.42.0 cargo set-version -p tor-proto 0.42.0 cargo set-version -p tor-protover 0.42.0 cargo set-version -p tor-ptmgr 0.42.0 cargo set-version -p tor-relay-crypto 0.42.0 cargo set-version -p tor-relay-selection 0.42.0 cargo set-version -p tor-rpcbase 0.42.0 cargo set-version -p tor-rpc-connect 0.42.0 cargo set-version -p tor-rtcompat 0.42.0 cargo set-version -p tor-rtmock 0.42.0 cargo set-version -p tor-socksproto 0.42.0 cargo set-version -p tor-units 0.42.0
* Bump versions: tor-* and arti-* unstable cratesIan Jackson2026-03-301-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/issues/2436#note_3384773 Made with nailing-cargo -Eu set-version -p arti-client 0.41.0 nailing-cargo -Eu set-version -p arti-relay 0.41.0 nailing-cargo -Eu set-version -p arti-rpcserver 0.41.0 nailing-cargo -Eu set-version -p arti-ureq 0.41.0 nailing-cargo -Eu set-version -p arti-rpc-client-core 0.41.0 nailing-cargo -Eu set-version -p tor-basic-utils 0.41.0 nailing-cargo -Eu set-version -p tor-error 0.41.0 nailing-cargo -Eu set-version -p tor-general-addr 0.41.0 nailing-cargo -Eu set-version -p tor-geoip 0.41.0 nailing-cargo -Eu set-version -p tor-memquota-cost 0.41.0 nailing-cargo -Eu set-version -p tor-llcrypto 0.41.0 nailing-cargo -Eu set-version -p tor-cert-x509 0.41.0 nailing-cargo -Eu set-version -p tor-rtcompat 0.41.0 nailing-cargo -Eu set-version -p tor-rtmock 0.41.0 nailing-cargo -Eu set-version -p tor-async-utils 0.41.0 nailing-cargo -Eu set-version -p tor-config 0.41.0 nailing-cargo -Eu set-version -p tor-config-path 0.41.0 nailing-cargo -Eu set-version -p tor-rpc-connect 0.41.0 nailing-cargo -Eu set-version -p tor-log-ratelim 0.41.0 nailing-cargo -Eu set-version -p tor-rpcbase 0.41.0 nailing-cargo -Eu set-version -p tor-memquota 0.41.0 nailing-cargo -Eu set-version -p tor-units 0.41.0 nailing-cargo -Eu set-version -p tor-bytes 0.41.0 nailing-cargo -Eu set-version -p tor-protover 0.41.0 nailing-cargo -Eu set-version -p tor-checkable 0.41.0 nailing-cargo -Eu set-version -p tor-cert 0.41.0 nailing-cargo -Eu set-version -p tor-key-forge 0.41.0 nailing-cargo -Eu set-version -p tor-hscrypto 0.41.0 nailing-cargo -Eu set-version -p tor-socksproto 0.41.0 nailing-cargo -Eu set-version -p tor-linkspec 0.41.0 nailing-cargo -Eu set-version -p tor-cell 0.41.0 nailing-cargo -Eu set-version -p tor-persist 0.41.0 nailing-cargo -Eu set-version -p tor-keymgr 0.41.0 nailing-cargo -Eu set-version -p tor-relay-crypto 0.41.0 nailing-cargo -Eu set-version -p tor-proto 0.41.0 nailing-cargo -Eu set-version -p tor-netdoc 0.41.0 nailing-cargo -Eu set-version -p tor-consdiff 0.41.0 nailing-cargo -Eu set-version -p tor-netdir 0.41.0 nailing-cargo -Eu set-version -p tor-relay-selection 0.41.0 nailing-cargo -Eu set-version -p tor-chanmgr 0.41.0 nailing-cargo -Eu set-version -p tor-ptmgr 0.41.0 nailing-cargo -Eu set-version -p tor-dircommon 0.41.0 nailing-cargo -Eu set-version -p tor-guardmgr 0.41.0 nailing-cargo -Eu set-version -p tor-circmgr 0.41.0 nailing-cargo -Eu set-version -p tor-dirclient 0.41.0 nailing-cargo -Eu set-version -p tor-dirmgr 0.41.0 nailing-cargo -Eu set-version -p tor-dirserver 0.41.0 nailing-cargo -Eu set-version -p tor-hsclient 0.41.0 nailing-cargo -Eu set-version -p tor-hsservice 0.41.0 nailing-cargo -Eu set-version -p tor-hsrproxy 0.41.0
* Re-run cbindgen.Nick Mathewson2026-03-251-2/+2
|
* rpc: Fix up documentation linksNick Mathewson2026-03-252-1/+6
|
* rpc: tweak documentation and variable names wrt renamingNick Mathewson2026-03-253-69/+74
| | | | | | | Since we renamed PollingStream and NonblockingStream to BlockingConnection and NonblockingConnection, it no longer makes sense to refer to them as streams, or put them in variables called "stream".
* rpc: Make stream type in NonblockingConnection opaque.Nick Mathewson2026-03-253-22/+52
|
* Split ll_conn module into blocking/nonblocking layersNick Mathewson2026-03-253-901/+939
| | | | | | | | This commit is almost entirely code movement; it's probably best to review this one with --color-moved. I've had to make a field (temporarily) pub(super). The next commit will fix that.
* rpc: Rename nb_stream.rs → ll_conn.rsNick Mathewson2026-03-256-11/+11
| | | | | Since we are no longer calling these types "streams" I've decided to revert to the old name for this module.
* rpc: Rename NonblockingStream → NonblockingConnection.Nick Mathewson2026-03-252-23/+23
|
* rpc: Rename PollingStream → BlockingConnection.Nick Mathewson2026-03-254-31/+31
|
* rpc: Remove mention of two already-removed arguments.Nick Mathewson2026-03-251-4/+0
|
* Fix typosTobias Stoeckmann2026-03-242-2/+2
| | | | Typos found with codespell
* rpc: re-run cbindben.Nick Mathewson2026-03-231-3/+3
|
* typo fixes from @jnewsomeNick Mathewson2026-03-231-1/+1
|
* Run cbindgen to regenerate header file.Nick Mathewson2026-03-232-1/+230
|
* rpc: add ffi wrappers for nonblocking and event-loop functions.Nick Mathewson2026-03-232-6/+313
| | | | | This commit adds FFI wrappers for the "poll" API, which lets the user integrate with a poll(2)-style event loop.
* rpc: define FFI wrappers for nonblocking request APIsNick Mathewson2026-03-231-1/+137
| | | | | | This commit adds wrappers for the "submit/wait" methods on RpcConn (which are used to submit tagged requests, and then wait for responses to all tagged requests at once).
* Merge branch 'typos' into 'main'opara2026-03-162-3/+3
|\ | | | | | | | | Fix various typos See merge request tpo/core/arti!3781
| * Fix word duplicate typosTobias Stoeckmann2026-03-152-3/+3
| |
* | Merge branch 'rpc-su-v2' into 'main'Nick Mathewson2026-03-165-2/+114
|\ \ | | | | | | | | | | | | | | | | | | RPC: Provide superuser mode Closes #2285 See merge request tpo/core/arti!3743
| * | rpc-client: Run cbindgen to regenerate C header.Nick Mathewson2026-03-161-0/+20
| | |
| * | rpc-client: add support to prefer/require su permissionNick Mathewson2026-03-164-2/+94
| |/
* / arti-rpc-client-core: Fix windows buildTobias Stoeckmann2026-03-151-1/+1
|/ | | | Fix a typo in use-statement for windows.
* rpc: Actually call the stop_writing method when data is all written!Nick Mathewson2026-03-101-0/+4
| | | | | Without this, the poll() method wouldn't actually perform as advertised.
* Merge branch 'nonblocking-rpc-part3' into 'main'Nick Mathewson2026-03-057-213/+1007
|\ | | | | | | | | rpc: API for event-driven IO. See merge request tpo/core/arti!3652
| * rpc: edit and revise EventLoop documentation.Nick Mathewson2026-03-051-7/+8
| |
| * rpc: Transpose Results in RpcPoll::poll.Nick Mathewson2026-03-051-7/+5
| |
| * rpc: document when try_as_{fd,socket} can fail.Nick Mathewson2026-03-051-1/+11
| |
| * rpc: Usage documentation for polling APIIan Jackson2026-03-053-22/+168
| |
| * rpc: Propose to transpose a Result<Result<>>Ian Jackson2026-03-051-0/+2
| |
| * rpc: Add a question in the form of a TODOIan Jackson2026-03-051-0/+2
| |
| * rpc: Fix many long lines in docs and commentsIan Jackson2026-03-054-22/+44
| |
| * rpc: Fix two mis-formatted json! blocksIan Jackson2026-03-051-2/+13
| | | | | | | | | | | | rustfmt doesn't like to touch things inside macros. These were misformatted as a result, with long lines and in one case a missing space.
| * rpc: Remove WantIo and expose wants_to_write().Nick Mathewson2026-03-053-43/+21
| |
| * rpc: Change Waker implementation to EventLoop.Nick Mathewson2026-03-056-112/+150
| | | | | | | | | | | | | | | | | | | | | | Per discussion, it makes more sense to have the API be one that gets called when our IO interests change. Additionally, this commit removes the try_reading and try_writing booleans, as previously discussed. I've left a couple of XXXX comments where more documentation or thought is likely needed.
| * rpc: API for event-driven IO.Nick Mathewson2026-03-055-21/+245
| | | | | | | | | | | | | | This API provides the necessary functionality to use an RpcConn inside a poll-like event loop. This is part of #1856.
| * RPC: Explain why UserTag is a separate type.Nick Mathewson2026-03-051-0/+8
| |
| * RPC: Raname Tag,RequestTag to UserTag.Nick Mathewson2026-03-053-37/+33
| |
| * rpc: documentation fixes and clarificationsNick Mathewson2026-02-261-3/+8
| | | | | | (from Diziet)