Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7f4c5caad9baf65e6b1192b1f3826519980f680d
https://github.com/WebKit/WebKit/commit/7f4c5caad9baf65e6b1192b1f3826519980f680d
Author: Nitin Mahendru <[email protected]>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M Source/WebCore/Configurations/WebCore.xcconfig
M Source/WebCore/PAL/Configurations/PAL.xcconfig
M Source/WebCore/PAL/pal/PALSwift.h
M Source/WebCore/PAL/pal/PALSwift/CryptoKitShim.swift
M Source/WebCore/PAL/pal/PALSwift/UnsafeOverlays.swift
M Source/WebCore/crypto/cocoa/CryptoAlgorithmAESGCMMac.cpp
M Source/WebCore/crypto/cocoa/CryptoAlgorithmAESKWMac.cpp
Log Message:
-----------
Replacing AES impls with interop
https://bugs.webkit.org/show_bug.cgi?id=272472
rdar://126217685
Reviewed by Elliott Williams.
Revert "Unreviewed, reverting 277285@main"
This reverts commit 9f89447abd9a1625c7a2e4f04ef7cb04a64d8c0d.
It also adds build flags to elevate the build targets for interop.
It also removes the ASSERTION for Vector Copy constructor until we find a better
solution.
Old Commit:
All the Unsafe Bits are now in UnsafeOverlays.swift.
Also all the Cpp wrappers to work around interop shortcomings are now
inside a namespace to keep them away from global scope.
Any wrappers deemed Unsafe are now inside namespace Cpp.Unsafe.
WTF::Vector Copy operation is hard fail from Swift. This is to guard
against swift's strategy of implicity copies of C++ types for exclusivity and
memory safety.
Also the quirk added in 276651@main for destructor linkage
is moved out of the execution path.
* Source/WTF/wtf/Vector.h:
(WTF::Malloc>::Vector):
* Source/WebCore/Configurations/WebCore.xcconfig:
* Source/WebCore/PAL/Configurations/PAL.xcconfig:
* Source/WebCore/PAL/pal/PALSwift.h:
(Cpp::toOptionalVectorUInt8):
(Cpp::createVectorUInt8FromSpan):
(Cpp::appendSpanToVectorUInt8):
(Cpp::Unsafe::createConstUInt8Span):
* Source/WebCore/PAL/pal/PALSwift/CryptoKitShim.swift:
(AesGcmRV.cipherText):
(AesGcmRV.errorCode):
(AesGcm.ciphertext):
(AesKwRV.result):
(AesKw.wrap(_:keyToBeWrapped:)):
(AesKw.unwrap(_:wrappedKey:)):
(AesKwRV.outputSize): Deleted.
* Source/WebCore/PAL/pal/PALSwift/UnsafeOverlays.swift:
(HashFunction.update(_:)):
(ContiguousBytes.createConstUInt8Span(_:)):
(ContiguousBytes.createConstUInt8Span):
(VectorUInt8.appendSpan(_:)):
(VectorUInt8.appendContiguousBytes(_:)):
(Data.fromSpan(_:)):
(_CompilerBugDontUse.forceLinkageForVectorDestructor):
* Source/WebCore/crypto/cocoa/CryptoAlgorithmAESGCMMac.cpp:
(WebCore::encryptCryptoKitAESGCM):
* Source/WebCore/crypto/cocoa/CryptoAlgorithmAESKWMac.cpp:
(WebCore::wrapKeyAESKWCryptoKit):
(WebCore::unwrapKeyAESKWCryptoKit):
Canonical link: https://commits.webkit.org/277329@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes