Repository navigation
Pin keep to v0.12.2 and follow its bunker and storage changes - #564
Closed
kwsantiago wants to merge 4 commits into
Closed
kwsantiago wants to merge 4 commits into
kwsantiago wants to merge 4 commits into
Conversation
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 12
✨ Finishing Touches
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 |
Contributor
Author
|
Superseded by the combined release PR, which carries these same four commits plus the v1.3.2 version bump. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pins keep to v0.12.2 and follows its API and behavior changes.
TLS. v0.12.2 moves to webpki-roots 1.0.10, which drops a root CA whose intermediates' private keys were reported compromised, and rustls-webpki 0.103.16, which rejects chains through those intermediates. Every TLS connection the app makes (relay websockets and keep-frost-net's pinned transport) runs in the core and trusts the bundled webpki roots, not Android's platform store, so this pin is what changes trust on devices.
cargo tree -p keep-mobile --locked --target aarch64-linux-androidnow shows only webpki-roots 1.0.10 and rustls-webpki 0.103.16, and the builtlibkeep_mobile.sono longer contains the removed root's subject (it did 7 times on arm64 and 6 on x86_64 at the previous pin).Storage. Implements
SecureStorage.readActiveShareKey(), which returns the stored active pointer as it is: no registry check, no inference and no write, andUnavailablewhen the pointer will not decrypt or the lookup cannot complete.Bunker. In v0.12.2 a core revoke stops whatever bunker is running, drops live and saved grants with or without a running bunker, and replaces the connect secret; saved grants are restored only under the bunker key and account they were made under, so grants saved before this version are not restored.
Other. The new
PolicyFaultvariants (SUPERSEDED,MISSING) need no app change, since the app does not readPolicyStatus. The approval timeout test moves to an instrumented test that reads the core's exportednip46ApprovalTimeoutSecs()instead of a copied constant.Test plan
./gradlew assembleDebug lint testDebugUnitTestgreenOK (504 tests)readActiveShareKeyreturns the stored pointer as is, reports an absent pointer without inferring or writing one, and reports an unreadable pointer or a failed lookup asUnavailable; the approval timeout against the core's value; the start-time revoke clears the mark only when the revoke returnsBunkerRevokeE2ETestagainst a live relay with the host-side NIP-46 probe (testharness/nip46probe/run-revoke-e2e.sh): a normal run and a run recovering from a force-stopped one both passed (50 requests each) and left no state behind, covering revoke while running and while stopped, Revoke All, disconnect from App Permissions, an approval answered after a revoke, the account switch and delete gates, and imports over the active account