From d13d3034c35d7095ce791502bc6c5c328e121bd6 Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 12 Jul 2024 19:23:50 +0530 Subject: [PATCH] Use Bionic module and new Android overlay in Swift 6 --- Sources/NIOSSL/ByteBufferBIO.swift | 4 +++- Sources/NIOSSL/IdentityVerification.swift | 4 +++- Sources/NIOSSL/NIOSSLClientHandler.swift | 4 +++- Sources/NIOSSL/PosixPort.swift | 4 +++- Sources/NIOSSL/SSLCallbacks.swift | 4 +++- Sources/NIOSSL/SSLCertificate.swift | 4 +++- Sources/NIOSSL/SSLContext.swift | 8 +++++--- Sources/NIOSSL/SubjectAlternativeName.swift | 4 +++- 8 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Sources/NIOSSL/ByteBufferBIO.swift b/Sources/NIOSSL/ByteBufferBIO.swift index 5264ff58b..1a8144fb3 100644 --- a/Sources/NIOSSL/ByteBufferBIO.swift +++ b/Sources/NIOSSL/ByteBufferBIO.swift @@ -19,8 +19,10 @@ import NIOCore import Darwin.C #elseif canImport(Musl) import Musl -#elseif os(Linux) || os(FreeBSD) || os(Android) +#elseif canImport(Glibc) import Glibc +#elseif canImport(Bionic) +import Bionic #else #error("unsupported os") #endif diff --git a/Sources/NIOSSL/IdentityVerification.swift b/Sources/NIOSSL/IdentityVerification.swift index fd4a2b36c..5306ed586 100644 --- a/Sources/NIOSSL/IdentityVerification.swift +++ b/Sources/NIOSSL/IdentityVerification.swift @@ -18,8 +18,10 @@ import NIOCore import Darwin.C #elseif canImport(Musl) import Musl -#elseif os(Linux) || os(FreeBSD) || os(Android) +#elseif canImport(Glibc) import Glibc +#elseif canImport(Android) +import Android #else #error("unsupported os") #endif diff --git a/Sources/NIOSSL/NIOSSLClientHandler.swift b/Sources/NIOSSL/NIOSSLClientHandler.swift index 907b03f9d..7133da7ca 100644 --- a/Sources/NIOSSL/NIOSSLClientHandler.swift +++ b/Sources/NIOSSL/NIOSSLClientHandler.swift @@ -18,8 +18,10 @@ import NIOCore import Darwin.C #elseif canImport(Musl) import Musl -#elseif os(Linux) || os(FreeBSD) || os(Android) +#elseif canImport(Glibc) import Glibc +#elseif canImport(Android) +import Android #else #error("unsupported os") #endif diff --git a/Sources/NIOSSL/PosixPort.swift b/Sources/NIOSSL/PosixPort.swift index 80533de35..2000a8011 100644 --- a/Sources/NIOSSL/PosixPort.swift +++ b/Sources/NIOSSL/PosixPort.swift @@ -24,8 +24,10 @@ import Darwin.C #elseif canImport(Musl) import Musl -#elseif os(Linux) || os(FreeBSD) || os(Android) +#elseif canImport(Glibc) import Glibc +#elseif canImport(Android) +import Android #else #error("unsupported os") #endif diff --git a/Sources/NIOSSL/SSLCallbacks.swift b/Sources/NIOSSL/SSLCallbacks.swift index 0b34c18ef..bff71d531 100644 --- a/Sources/NIOSSL/SSLCallbacks.swift +++ b/Sources/NIOSSL/SSLCallbacks.swift @@ -19,8 +19,10 @@ import NIOCore import Darwin.C #elseif canImport(Musl) import Musl -#elseif os(Linux) || os(FreeBSD) || os(Android) +#elseif canImport(Glibc) import Glibc +#elseif canImport(Bionic) +import Bionic #else #error("unsupported os") #endif diff --git a/Sources/NIOSSL/SSLCertificate.swift b/Sources/NIOSSL/SSLCertificate.swift index 38e153d7b..cfa37bb72 100644 --- a/Sources/NIOSSL/SSLCertificate.swift +++ b/Sources/NIOSSL/SSLCertificate.swift @@ -20,8 +20,10 @@ import NIOCore import Darwin.C #elseif canImport(Musl) import Musl -#elseif os(Linux) || os(FreeBSD) || os(Android) +#elseif canImport(Glibc) import Glibc +#elseif canImport(Bionic) +import Bionic #else #error("unsupported os") #endif diff --git a/Sources/NIOSSL/SSLContext.swift b/Sources/NIOSSL/SSLContext.swift index afd25392e..158a45828 100644 --- a/Sources/NIOSSL/SSLContext.swift +++ b/Sources/NIOSSL/SSLContext.swift @@ -20,8 +20,10 @@ import NIOCore import Darwin.C #elseif canImport(Musl) import Musl -#elseif os(Linux) || os(FreeBSD) || os(Android) +#elseif canImport(Glibc) import Glibc +#elseif canImport(Android) +import Android #else #error("unsupported os") #endif @@ -44,7 +46,7 @@ internal enum FileSystemObject { } #if os(Android) && arch(arm) - return (statObj.st_mode & UInt32(Glibc.S_IFDIR)) != 0 ? .directory : .file + return (statObj.st_mode & UInt32(S_IFDIR)) != 0 ? .directory : .file #else return (statObj.st_mode & S_IFDIR) != 0 ? .directory : .file #endif @@ -733,7 +735,7 @@ extension NIOSSLContext { let _ = try Posix.lstat(path: path, buf: &buffer) // Check the mode to make sure this is a symlink #if os(Android) && arch(arm) - if (buffer.st_mode & UInt32(Glibc.S_IFMT)) != UInt32(Glibc.S_IFLNK) { return false } + if (buffer.st_mode & UInt32(S_IFMT)) != UInt32(S_IFLNK) { return false } #else if (buffer.st_mode & S_IFMT) != S_IFLNK { return false } #endif diff --git a/Sources/NIOSSL/SubjectAlternativeName.swift b/Sources/NIOSSL/SubjectAlternativeName.swift index be4bc50fc..28ad5eee4 100644 --- a/Sources/NIOSSL/SubjectAlternativeName.swift +++ b/Sources/NIOSSL/SubjectAlternativeName.swift @@ -20,8 +20,10 @@ import NIOCore import Darwin.C #elseif canImport(Musl) import Musl -#elseif os(Linux) || os(FreeBSD) || os(Android) +#elseif canImport(Glibc) import Glibc +#elseif canImport(Android) +import Android #else #error("unsupported os") #endif