Skip to content

fix(relay): reject non-exclusive Android trust roots#478

Merged
jeremi merged 2 commits into
mainfrom
agent/relay-android-trust-root-20260725
Jul 25, 2026
Merged

fix(relay): reject non-exclusive Android trust roots#478
jeremi merged 2 commits into
mainfrom
agent/relay-android-trust-root-20260725

Conversation

@jeremi

@jeremi jeremi commented Jul 25, 2026

Copy link
Copy Markdown
Member

Summary

  • fail closed when Relay is configured with a custom PostgreSQL trust root on Android
  • leave Android system trust unchanged when no custom root is configured
  • document the platform limitation
  • cover rejection before any TLS builder mutation

native-tls reloads Android's system certificate directory after clearing the OpenSSL root store, so the exclusive trust-root guarantee introduced by #471 cannot be enforced on that platform. Rejecting this configuration is the smallest safe behavior.

This follow-up was identified by Codex review on the review-only component PR #475 immediately before #471 merged.

Verification

  • cargo test --locked -p registry-relay --lib (720 passed, 6 ignored)
  • focused state-plane runtime tests (7 passed)
  • cargo clippy --locked -p registry-relay --lib --tests -- -D warnings
  • cargo fmt --check
  • git diff --check
  • independent security review found no actionable issues

Android cross-compilation was not run because the Android Rust target is not installed.

Signed-off-by: Jeremi Piotrowski jpiotrowski@worldbank.org

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
…rust-root-20260725

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi
jeremi merged commit d44a254 into main Jul 25, 2026
23 checks passed
@jeremi
jeremi deleted the agent/relay-android-trust-root-20260725 branch July 25, 2026 05:13
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.

1 participant