浏览代码

Merge pull request #1065 from marcprux/master

Add Android support
Marcin Krzyzanowski 7 月之前
父节点
当前提交
98e2219d62

+ 21 - 0
.github/workflows/android.yml

@@ -0,0 +1,21 @@
+name: Android
+
+on:
+  push:
+    branches: [ main ]
+  pull_request:
+    branches: [ main ]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+
+    steps:
+    - name: Checkout
+      uses: actions/checkout@v4
+      with:
+        fetch-depth: 0
+
+    - name: Run tests
+      uses: skiptools/swift-android-action@v2

+ 2 - 0
Sources/CryptoSwift/BlockMode/CCM.swift

@@ -19,6 +19,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)

+ 2 - 0
Sources/CryptoSwift/Cryptors.swift

@@ -15,6 +15,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)

+ 2 - 0
Sources/CryptoSwift/HKDF.swift

@@ -18,6 +18,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)

+ 2 - 0
Sources/CryptoSwift/Int+Extension.swift

@@ -16,6 +16,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)

+ 2 - 0
Sources/CryptoSwift/PKCS/PBKDF2.swift

@@ -18,6 +18,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)

+ 2 - 0
Sources/CryptoSwift/SHA3.swift

@@ -19,6 +19,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)

+ 6 - 0
Sources/CryptoSwift/SecureBytes.swift

@@ -15,6 +15,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)
@@ -39,6 +41,8 @@ final class SecureBytes {
         VirtualLock(UnsafeMutableRawPointer(mutating: pointer.baseAddress), SIZE_T(pointer.count))
       #elseif os(WASI)
         // not supported on WASI
+      #elseif os(Android)
+        mlock(pointer.baseAddress!, pointer.count)
       #else
         mlock(pointer.baseAddress, pointer.count)
       #endif
@@ -51,6 +55,8 @@ final class SecureBytes {
         VirtualUnlock(UnsafeMutableRawPointer(mutating: pointer.baseAddress), SIZE_T(pointer.count))
       #elseif os(WASI)
         // not supported on WASI
+      #elseif os(Android)
+        munlock(pointer.baseAddress!, pointer.count)
       #else
         munlock(pointer.baseAddress, pointer.count)
       #endif

+ 2 - 0
Sources/CryptoSwift/UInt32+Extension.swift

@@ -15,6 +15,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)

+ 2 - 0
Sources/CryptoSwift/UInt8+Extension.swift

@@ -15,6 +15,8 @@
 
 #if canImport(Darwin)
 import Darwin
+#elseif canImport(Android)
+import Android
 #elseif canImport(Glibc)
 import Glibc
 #elseif canImport(Musl)