Repository navigation
chore(deps): bump rustls, quick-xml, zstd-sys, ruint and quinn-proto past RustSec advisories, and drop libp2p's unused transports - #751
Conversation
…stSec advisories, and trim libp2p to the features the swarm uses so hickory-dns and some forty other unused crates leave the build graph. The rustls set was held back by the cooldown in #718; rustls-webpki, webpki-roots and libz-sys fixes are still inside it and are left for a follow-up.
🤖 Codex Code ReviewNo correctness or consensus-risk issues stand out in this PR. It is effectively a dependency-surface reduction in
Minor note
Validation
Automated review by OpenAI Codex · gpt-5.4 · custom prompt |
🤖 Claude Code ReviewReview of PR 751: lockfile bumps and libp2p feature trim This PR touches only libp2p feature trim (
Lockfile bumps
Nits
No blocking issues. Automated review by Claude (Anthropic) · sonnet · custom prompt |
🤖 Kimi Code ReviewI'll review this PR which appears to be a dependency cleanup focused on reducing the libp2p feature set and updating related crates. SummaryThis PR reduces the Issues Found1. Potential Runtime Panic: Missing
|
| Priority | Action |
|---|---|
| Block | Verify compilation succeeds with cargo check --all-targets and cargo build --release |
| Block | Run full sync test to confirm peer connectivity (noise + yamux + quic handshake) |
| High | Audit crates/net/p2p/src/ for any use of removed features: libp2p::ping, libp2p::kad, prometheus_client with gossipsub |
| Medium | Add CI check that tooling/event-monitor/Cargo.lock stays in sync with workspace |
| Low | Document why "ed25519" is needed alongside "secp256k1" |
Code Quality
The Cargo.toml comment at lines 28-30 is helpful. Consider extending it to explicitly list what was removed and why:
# Removed from "full": dns, mdns, websocket, relay, kad, ping, autonat, dcutr,
# floodsub, memory-limits, uds, webrtc, webtransport — not needed for beacon
# chain consensus networking (gossipsub + req-resp over quic/tcp only)Automated review by Kimi (Moonshot AI) · kimi-k2.6 · custom prompt
| @@ -75,19 +75,19 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" | |||
|
|
|||
| [[package]] | |||
There was a problem hiding this comment.
We should delete the event-monitor and move to using Xatu
🗒️ Description / Motivation
cargo auditagainstmainreports 14 advisories in the root lockfile and11 in
tooling/event-monitor's. This PR is the follow-up #718 announced:the
rustlsset has cleared the 14-day publish-age cooldown, and so havefixes for
quick-xml,zstd-sysandruint. It also stops compilinglibp2p's DNS, mDNS, websocket, relay, kad and upnp transports, which the
swarm never builds from, so
hickory-dnsleaves the build graph insteadof waiting on a fork rebase.
What Changed
Lockfiles, via
make update UPDATE_ARGS="-p ..."so the cooldown is applied:rustls(both lockfiles)reqwestquick-xmlviainferno0.12.6 → 0.12.8inferno's flamegraph SVG underjemalloc_pprofzstd-sysruintxmss→ethereum_ssz; addsark-ff0.6 to the lock as an inactive optional depquinn-proto(event-monitor only)rustls-webpki,rustls-pki-types,webpki-rootsandaws-lc-rs/aws-lc-sysmove to the newest version the cooldown allows, which is what letsrustlsreach 0.23.46.crates/net/p2p/Cargo.toml:libp2pgoes fromfeatures = ["full"]to the eleven features the swarm is built from (ed25519,gossipsub,identify,macros,noise,quic,request-response,secp256k1,tcp,tokio,yamux). That removes ~40 crates from the lock: the unsoundrand0.7 family,webpki-roots0.26,soketto,sysinfo,libp2p-{autonat,dcutr,floodsub,kad,ping,plaintext,pnet,relay,rendezvous,uds,websocket,...}.Correctness / Behavior Guarantees
make cooldown-checkpasses on both manifests.libp2p::modules the p2p crate imports and theSwarmBuildercalls inbuild_swarm(with_tcp,with_quic,with_behaviour);cargo checkand the p2p tests confirm nothing else was in use.hickory-protoandlibp2p-{dns,mdns,metrics,upnp}still appear inCargo.lock, socargo auditkeeps reporting RUSTSEC-2026-0118/0119. That is cargo's lock resolver keeping optional deps that a weak feature (libp2p-dns?/tokio) names;cargo tree -i hickory-protoshows no dependent, and nothing links it.After this PR
cargo auditreports 6 advisories on the root lockfile (downfrom 14) and 2 on event-monitor's (down from 11):
rustls-webpki,webpki-roots/webpki-root-certsandlibz-sysfixes still inside thecooldown (until 2026-11-03 and 2026-11-11),
crypto-bigint(needsk2560.14 upstream), and the lock-only
hickory-protoentry described above.Tests Added / Run
None added: no source touched.
make cooldown-check(resolver probe on both manifests): passesmake lint: cleancargo test -p ethlambda-p2p: 362 passedmake test: 2868 passed, 0 failedcargo audit: 14 → 6 (root), 11 → 2 (event-monitor)Related Issues / PRs
rustls-webpki/webpki-roots/webpki-root-certsafter 2026-11-03,libz-sysafter 2026-11-11✅ Verification Checklist
make fmt— cleanmake lint(clippy with-D warnings) — cleanmake test(test-consensusplustest-node, atrelease-fast) — all passing