From a8bc733bc578312b1a507da3417f92d311e3143d Mon Sep 17 00:00:00 2001 From: Oscar Choi Date: Tue, 26 Oct 2021 16:36:14 +0800 Subject: [PATCH] Make it compilable with SwiftWasm --- Sources/CryptoSwift/BlockMode/CCM.swift | 2 ++ Sources/CryptoSwift/HKDF.swift | 2 ++ Sources/CryptoSwift/PKCS/PBKDF2.swift | 2 ++ Sources/CryptoSwift/SecureBytes.swift | 4 ++++ 4 files changed, 10 insertions(+) diff --git a/Sources/CryptoSwift/BlockMode/CCM.swift b/Sources/CryptoSwift/BlockMode/CCM.swift index a42cbbf..b7fb861 100644 --- a/Sources/CryptoSwift/BlockMode/CCM.swift +++ b/Sources/CryptoSwift/BlockMode/CCM.swift @@ -23,6 +23,8 @@ import Darwin import Glibc #elseif canImport(ucrt) import ucrt +#elseif canImport(WASILibc) +import WASILibc #endif /// Counter with Cipher Block Chaining-Message Authentication Code diff --git a/Sources/CryptoSwift/HKDF.swift b/Sources/CryptoSwift/HKDF.swift index 5f48c0a..3e42f21 100644 --- a/Sources/CryptoSwift/HKDF.swift +++ b/Sources/CryptoSwift/HKDF.swift @@ -22,6 +22,8 @@ import Darwin import Glibc #elseif canImport(ucrt) import ucrt +#elseif canImport(WASILibc) +import WASILibc #endif /// A key derivation function. diff --git a/Sources/CryptoSwift/PKCS/PBKDF2.swift b/Sources/CryptoSwift/PKCS/PBKDF2.swift index 2e84303..b860f43 100644 --- a/Sources/CryptoSwift/PKCS/PBKDF2.swift +++ b/Sources/CryptoSwift/PKCS/PBKDF2.swift @@ -22,6 +22,8 @@ import Darwin import Glibc #elseif canImport(ucrt) import ucrt +#elseif canImport(WASILibc) +import WASILibc #endif public extension PKCS5 { diff --git a/Sources/CryptoSwift/SecureBytes.swift b/Sources/CryptoSwift/SecureBytes.swift index 9d80fca..1defba4 100644 --- a/Sources/CryptoSwift/SecureBytes.swift +++ b/Sources/CryptoSwift/SecureBytes.swift @@ -35,6 +35,8 @@ final class SecureBytes { self.bytes.withUnsafeBufferPointer { (pointer) -> Void in #if os(Windows) VirtualLock(UnsafeMutableRawPointer(mutating: pointer.baseAddress), SIZE_T(pointer.count)) + #elseif os(WASI) + // not supported on WASI #else mlock(pointer.baseAddress, pointer.count) #endif @@ -45,6 +47,8 @@ final class SecureBytes { self.bytes.withUnsafeBufferPointer { (pointer) -> Void in #if os(Windows) VirtualUnlock(UnsafeMutableRawPointer(mutating: pointer.baseAddress), SIZE_T(pointer.count)) + #elseif os(WASI) + // not supported on WASI #else munlock(pointer.baseAddress, pointer.count) #endif