Skip to content

Commit

Permalink
build: Revert to using @_implementationOnly for all BoringSSL modules (
Browse files Browse the repository at this point in the history
  • Loading branch information
simonjbeaumont authored Jul 3, 2024
1 parent c370ad8 commit 4607247
Show file tree
Hide file tree
Showing 39 changed files with 201 additions and 198 deletions.
3 changes: 1 addition & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ let package = Package(
resources: [
.copy("PrivacyInfo.xcprivacy"),
],
swiftSettings: swiftSettings
swiftSettings: swiftSettings + [.define("MODULE_IS_CRYPTO")]
),
.target(
name: "_CryptoExtras",
Expand Down Expand Up @@ -168,7 +168,6 @@ let package = Package(
swiftSettings: swiftSettings
),
.testTarget(name: "_CryptoExtrasTests", dependencies: ["_CryptoExtras"]),
.testTarget(name: "CryptoBoringWrapperTests", dependencies: ["CryptoBoringWrapper"]),
],
cxxLanguageStandard: .cxx11
)
4 changes: 2 additions & 2 deletions Sources/Crypto/AEADs/AES/GCM/BoringSSL/AES-GCM_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CryptoBoringWrapper
@_implementationOnly import CCryptoBoringSSL
@_implementationOnly import CryptoBoringWrapper
import Foundation

enum OpenSSLAESGCMImpl {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CCryptoBoringSSLShims
import CryptoBoringWrapper
@_implementationOnly import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSLShims
@_implementationOnly import CryptoBoringWrapper
import Foundation

extension BoringSSLAEAD {
Expand Down
2 changes: 2 additions & 0 deletions Sources/Crypto/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ add_library(Crypto
"Util/BoringSSL/CryptoKitErrors_boring.swift"
"Util/BoringSSL/RNG_boring.swift"
"Util/BoringSSL/SafeCompare_boring.swift"
"Util/BoringSSL/Shared/ArbitraryPrecisionInteger_boring.swift"
"Util/BoringSSL/Shared/FiniteFieldArithmeticContext_boring.swift"
"Util/BoringSSL/Zeroization_boring.swift"
"Util/PrettyBytes.swift"
"Util/SafeCompare.swift"
Expand Down
2 changes: 1 addition & 1 deletion Sources/Crypto/Digests/BoringSSL/Digest_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSL

protocol HashFunctionImplementationDetails: HashFunction where Digest: DigestPrivate {}

Expand Down
2 changes: 1 addition & 1 deletion Sources/Crypto/Key Agreement/BoringSSL/ECDH_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSL

extension P256.KeyAgreement.PrivateKey {
internal func openSSLSharedSecretFromKeyAgreement(with publicKeyShare: P256.KeyAgreement.PublicKey) throws -> SharedSecret {
Expand Down
2 changes: 1 addition & 1 deletion Sources/Crypto/Key Wrapping/BoringSSL/AESWrap_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSL
import Foundation

enum BoringSSLAESWRAPImpl {
Expand Down
4 changes: 2 additions & 2 deletions Sources/Crypto/Keys/EC/BoringSSL/Ed25519_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CCryptoBoringSSLShims
@_implementationOnly import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSLShims
import Foundation

// For signing and verifying, we use BoringSSL's Ed25519, not the X25519 stuff.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CryptoBoringWrapper
@_implementationOnly import CCryptoBoringSSL

/// A wrapper around BoringSSL's EC_POINT with some lifetime management.
@usableFromInline
Expand Down
3 changes: 1 addition & 2 deletions Sources/Crypto/Keys/EC/BoringSSL/EllipticCurve_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CryptoBoringWrapper
@_implementationOnly import CCryptoBoringSSL

/// A wrapper around BoringSSL's EC_GROUP object that handles reference counting and
/// liveness.
Expand Down
5 changes: 2 additions & 3 deletions Sources/Crypto/Keys/EC/BoringSSL/NISTCurvesKeys_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CCryptoBoringSSLShims
import CryptoBoringWrapper
@_implementationOnly import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSLShims
import Foundation

@usableFromInline
Expand Down
4 changes: 2 additions & 2 deletions Sources/Crypto/Keys/EC/BoringSSL/X25519Keys_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CCryptoBoringSSLShims
@_implementationOnly import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSLShims
import Foundation

extension Curve25519.KeyAgreement {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CCryptoBoringSSLShims
import CryptoBoringWrapper
@_implementationOnly import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSLShims
import Foundation

/// A wrapper around BoringSSL's ECDSA_SIG with some lifetime management.
Expand Down
2 changes: 1 addition & 1 deletion Sources/Crypto/Signatures/BoringSSL/ECDSA_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSL
import Foundation

extension Data {
Expand Down
4 changes: 2 additions & 2 deletions Sources/Crypto/Signatures/BoringSSL/EdDSA_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
import CCryptoBoringSSLShims
@_implementationOnly import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSLShims
import Foundation

extension Curve25519.Signing.PublicKey {
Expand Down
2 changes: 1 addition & 1 deletion Sources/Crypto/Util/BoringSSL/CryptoKitErrors_boring.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#if CRYPTO_IN_SWIFTPM && !CRYPTO_IN_SWIFTPM_FORCE_BUILD_API
@_exported import CryptoKit
#else
import CCryptoBoringSSL
@_implementationOnly import CCryptoBoringSSL

extension CryptoKitError {
/// A helper function that packs the value of `ERR_get_error` into the internal error field.
Expand Down
Loading

0 comments on commit 4607247

Please sign in to comment.