deps: port node-forge to x509-cert 0.3 - #8563
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe RustCrypto X.509 dependencies now use newer compatible versions. Certificate generation and parsing use the x509-cert 0.3 APIs. Standard-library X.509 access uses accessor and iterator methods. ChangesX.509 API migration
Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to This dependency port preserves the documented certificate-building and parsing behavior, and no actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Merging as a validated batch. These six are the non-perf members of a nine-PR stack built on current Validation on the combined stack:
The stacked compile check is what per-PR CI cannot do: several of these touch the same files, and pairwise-green PRs can still break in combination. The ratchets were re-run against the current baseline immediately before merging, not just during the initial audit. That distinction is not pedantry — #8560 passed Mechanical fixes applied while staging (these are fork PRs, so they could not be pushed to their branches): PR-keyed the changelog fragments for #8562 (was |
Summary
Ports the native node-forge certificate builder and stdlib X509 parser to
x509-cert0.3 and its DER/SPKI 0.8 stack. The port preserves caller-controlled issuer names, exact validity bounds, extension criticality, and the no-implicit-extensions behavior used by Socket Firewall TLS certificates.Changes
BuilderProfileequivalent to the removedProfile::Manualvariant.signature3 as required by the new builder.Related issue
Closes #8436
Test plan
CARGO_INCREMENTAL=0 CARGO_PROFILE_TEST_DEBUG=0 cargo +nightly-2026-08-20 test -p perry-ext-node-forge(8 unit tests and the OpenSSL CA/leaf end-to-end test pass)CARGO_INCREMENTAL=0 CARGO_PROFILE_DEV_DEBUG=0 cargo +nightly-2026-08-20 check -p perry-stdlib --lib --no-default-features --features cryptoCARGO_INCREMENTAL=0 CARGO_PROFILE_DEV_DEBUG=0 cargo +nightly-2026-08-20 clippy -p perry-ext-node-forge --all-targets(passes; existing warnings remain in dependency crates)cargo +nightly-2026-08-20 fmt -- crates/perry-ext-node-forge/src/crypto.rs crates/perry-stdlib/src/crypto/x509.rs --checkNote: adding
-D warningsto the scoped Clippy command currently stops on a pre-existingclippy::type_complexitywarning incrates/perry-runtime/build.rs:475.Screenshots / output
Not applicable.
Checklist
Summary by CodeRabbit