Skip to content

fix(deps): scope rcgen's x509-parser feature to the supervisor - #4468

Merged
TaylorMutch merged 1 commit into
NVIDIA:mainfrom
politerealism:fix/3510-scope-rcgen-x509-parser/politerealism
Oct 14, 2026
Merged

TaylorMutch merged 1 commit into
NVIDIA:mainfrom
politerealism:fix/3510-scope-rcgen-x509-parser/politerealism

Conversation

@politerealism

Copy link
Copy Markdown
Contributor

Summary

rcgen 0.13.2 declares its optional x509-parser dependency with the verify feature, which pulls in ring. The workspace enabled rcgen's x509-parser feature for every crate, so the CLI and gateway linked ring next to aws-lc even though nothing in them verifies signatures with x509-parser. This keeps the feature only where it is used.

Related Issue

Contributes to #3510

Changes

  • Cargo.toml: drop "x509-parser" from the workspace rcgen features.
  • crates/openshell-supervisor-network/Cargo.toml: enable it there. SandboxCa::from_pem calls CertificateParams::from_ca_cert_pem, the only use in the repo.

cargo tree -e normal -i ring (x86_64 Linux, --locked):

Package Before After
openshell ring none
openshell-gateway ring none
openshell-prover none none
openshell-supervisor ring ring

Cargo.lock is unchanged. The supervisor still links ring until rcgen is upgraded to 0.14, which no longer forces verify but is a breaking API change across about ten crates. Release builds compile one package at a time (cargo build --package ... --bin ...), so the feature does not leak into the other binaries; a --workspace build still unifies it.

Testing

  • cargo metadata --locked succeeds, so the lockfile is consistent.
  • cargo clippy -D warnings --all-targets passes for openshell-supervisor-network, openshell-gateway, openshell-cli, openshell-bootstrap and openshell-server.
  • cargo test --lib passes for openshell-supervisor-network (1553), openshell-bootstrap (64), and the certgen, multiplex and sandbox_jwt tests in openshell-server (90).
  • cargo fmt --all -- --check passes.
  • Not run: the rest of the openshell-server test suite and e2e.

Checklist

  • Follows Conventional Commits
  • Commit is signed off (DCO)
  • Architecture docs updated (if applicable): not applicable

rcgen 0.13.2 declares its optional x509-parser dependency with the verify
feature, which pulls in ring. The workspace enabled rcgen's x509-parser feature
for every crate, so the CLI and gateway linked ring alongside aws-lc even though
nothing in them verifies signatures with x509-parser.

Only SandboxCa::from_pem in openshell-supervisor-network needs
CertificateParams::from_ca_cert_pem. Enable the feature there alone. ring no
longer appears in the dependency trees of openshell, openshell-gateway or
openshell-prover; it remains in openshell-supervisor until rcgen is upgraded.

Release builds compile one package at a time, so the feature does not leak into
the other binaries.

Signed-off-by: politerealism <burdcat17@gmail.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 13, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@politerealism
politerealism marked this pull request as ready for review October 14, 2026 16:33
@pimlock

pimlock commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

/ok to test 9c98b32

1 similar comment
@purp

purp commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

/ok to test 9c98b32

@TaylorMutch
TaylorMutch added this pull request to the merge queue Oct 14, 2026
@politerealism politerealism mentioned this pull request Oct 14, 2026
2 of 37 tasks
Merged via the queue into NVIDIA:main with commit f739283 Oct 14, 2026
78 of 79 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants