Upgrade to Arti 0.29 & Refactor Circuit Logic
Solved Issue: erpc#58
Merge Request: Upgrade to Arti 0.29 & Refactor Circuit Logic
Summary
This merge request upgrades core arti-*
dependencies to 0.29
across the project and adapts internal circuit-building logic to align with new APIs introduced in tor-circmgr
, tor-linkspec
, and related crates. It also includes necessary refactors and improvements across erpc-scanner
, erpc-workers
, and configuration files.
Commits Breakdown
1. Upgrade Arti & Tor Dependencies to v0.29
- Updated versions in all
Cargo.toml
files:-
arti-client
,tor-circmgr
,tor-rtcompat
,tor-netdir
,tor-netdoc
,tor-config
,tor-hscrypto
,tor-chanmgr
,tor-linkspec
, and others.
-
- Updated
Cargo.lock
accordingly. - Ensured workspace compatibility and dependency resolution.
2. Adapt Circuit Building Logic to New API
- Replaced deprecated two-hop building logic using
TorPath
and manualCircBuilder
usage with the newget_or_launch_dir
API fromtor-circmgr 0.29.0
. - Introduced:
build_circuit_to_relay
build_circuits_between_relays
- Modified
client.rs
logic to reflect new timeout-based circuit building.
in_same_subnet
with Custom Subnet Check
3. Replace - Implemented
is_in_same_subnet()
intor_network.rs
(astor-netdir
removedin_same_subnet()
). - Applies subnet check using
/16
for IPv4 and/32
for IPv6. - Ensures backward compatibility with the relay selection strategy used in
PrimaryWorker
.
4. Cleanup, Refactor & Config Adaptation
- Removed unused
override_net_params
forcbtmintimeout
. - Refactored
primary_main.rs
andsecondary_main.rs
accordingly. - Updated workspace configs to include
tor-linkspec
.
Affected Modules
erpc-scanner/src/client.rs
erpc-workers/src/primary_main.rs
erpc-workers/src/secondary_main.rs
erpc-workers/src/primary/tor_network.rs
-
Cargo.toml
,Cargo.lock
, and subproject manifests
Edited by thedivyanshupabia