Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8cab381a36560866a220e47f934fa4b1bb717e0c
      
https://github.com/WebKit/WebKit/commit/8cab381a36560866a220e47f934fa4b1bb717e0c
  Author: Nitin Mahendru <[email protected]>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M Source/WTF/wtf/Vector.h
    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=271680
radar://125367961

Reviewed by Geoffrey Garen.

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/277285@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

Reply via email to