wrapper: Move EC types and random bytes into CryptoBoringWrapper #277
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.
Motivation
The Crypto module contains some EC types used to implement the CryptoKit API on non-Darwin platforms, which we'd like to make available to functionality in _CryptoExtras on all platforms.
Modifications
In a similar manner to how we handled
ArbitraryPrecisionInteger
, this PR moves the EC types, which were internal to the Crypto module, to the CryptoBoringWrapper module, and makes them package visible.This patch only exposes the functionality that's actually used by the Crypto module as package-visible, and leaves everything else internal (now internal to the CryptoBoringWrapper module).
As part of the move, the
_boring
suffix has been removed, since that is implied by their presence in this module. This PR also retroactively removes that suffix from the other files that migrated over recently but erroneously retained their suffix.Finally, we remove some redundant compilation guards on the tests for files that were previously moved into
CryptoBoringWrapper
since they are intended to run on all platforms now.Result
This should have no external impact and is purely a refactor.