Build Information
Successful build of swift-nio-ssh, reference citadel2 (c997b6), with Swift 6.3 for macOS (SPM) on 17 Apr 2026 00:06:23 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
409 | /// wrapping the base type.
410 | public struct CertificateType: RawRepresentable {
| `- note: consider making struct 'CertificateType' conform to the 'Sendable' protocol
411 | public var rawValue: UInt32
412 |
:
416 |
417 | /// A certificate valid for identifying a user.
418 | public static let user = CertificateType(rawValue: 1)
| |- warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'user' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
419 |
420 | /// A certificate valid for identifying a host.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHCertifiedPublicKey.swift:421:27: warning: static property 'host' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
408 | /// For extensibility purposes this is not defined as an enumeration, but instead as a `RawRepresentable` type
409 | /// wrapping the base type.
410 | public struct CertificateType: RawRepresentable {
| `- note: consider making struct 'CertificateType' conform to the 'Sendable' protocol
411 | public var rawValue: UInt32
412 |
:
419 |
420 | /// A certificate valid for identifying a host.
421 | public static let host = CertificateType(rawValue: 2)
| |- warning: static property 'host' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'host' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
422 | }
423 | }
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[434/469] Compiling NIOSSH NIOSSHCertifiedPublicKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Key Exchange/SSHKeyExchangeStateMachine.swift:545:16: warning: static property 'bundledKeyExchangeImplementations' is not concurrency-safe because non-'Sendable' type '[any NIOSSHKeyExchangeAlgorithmProtocol.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
543 | extension SSHKeyExchangeStateMachine {
544 | // For now this is a static list.
545 | static let bundledKeyExchangeImplementations: [NIOSSHKeyExchangeAlgorithmProtocol.Type] = [
| |- warning: static property 'bundledKeyExchangeImplementations' is not concurrency-safe because non-'Sendable' type '[any NIOSSHKeyExchangeAlgorithmProtocol.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledKeyExchangeImplementations' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
546 | EllipticCurveKeyExchange<P384.KeyAgreement.PrivateKey>.self,
547 | EllipticCurveKeyExchange<P256.KeyAgreement.PrivateKey>.self,
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHCertifiedPublicKey.swift:418:27: warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
408 | /// For extensibility purposes this is not defined as an enumeration, but instead as a `RawRepresentable` type
409 | /// wrapping the base type.
410 | public struct CertificateType: RawRepresentable {
| `- note: consider making struct 'CertificateType' conform to the 'Sendable' protocol
411 | public var rawValue: UInt32
412 |
:
416 |
417 | /// A certificate valid for identifying a user.
418 | public static let user = CertificateType(rawValue: 1)
| |- warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'user' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
419 |
420 | /// A certificate valid for identifying a host.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHCertifiedPublicKey.swift:421:27: warning: static property 'host' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
408 | /// For extensibility purposes this is not defined as an enumeration, but instead as a `RawRepresentable` type
409 | /// wrapping the base type.
410 | public struct CertificateType: RawRepresentable {
| `- note: consider making struct 'CertificateType' conform to the 'Sendable' protocol
411 | public var rawValue: UInt32
412 |
:
419 |
420 | /// A certificate valid for identifying a host.
421 | public static let host = CertificateType(rawValue: 2)
| |- warning: static property 'host' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'host' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
422 | }
423 | }
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[435/469] Compiling NIOSSH ByteBuffer+SSH.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Child Channels/ChildChannelOptions.swift:71:5: warning: 'public' modifier is redundant for struct declared in a public extension
69 |
70 | /// `UsernameOption` allows users to query the authenticated username of the channel.
71 | public struct UsernameOption: ChannelOption {
| `- warning: 'public' modifier is redundant for struct declared in a public extension
72 | public typealias Value = String?
73 |
[436/469] Compiling NIOSSH CSPRNG.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Child Channels/ChildChannelOptions.swift:71:5: warning: 'public' modifier is redundant for struct declared in a public extension
69 |
70 | /// `UsernameOption` allows users to query the authenticated username of the channel.
71 | public struct UsernameOption: ChannelOption {
| `- warning: 'public' modifier is redundant for struct declared in a public extension
72 | public typealias Value = String?
73 |
[437/469] Compiling NIOSSH ChildChannelOptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Child Channels/ChildChannelOptions.swift:71:5: warning: 'public' modifier is redundant for struct declared in a public extension
69 |
70 | /// `UsernameOption` allows users to query the authenticated username of the channel.
71 | public struct UsernameOption: ChannelOption {
| `- warning: 'public' modifier is redundant for struct declared in a public extension
72 | public typealias Value = String?
73 |
[438/469] Compiling NIOSSH ChildChannelStateMachine.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Child Channels/ChildChannelOptions.swift:71:5: warning: 'public' modifier is redundant for struct declared in a public extension
69 |
70 | /// `UsernameOption` allows users to query the authenticated username of the channel.
71 | public struct UsernameOption: ChannelOption {
| `- warning: 'public' modifier is redundant for struct declared in a public extension
72 | public typealias Value = String?
73 |
[439/469] Compiling NIOSSH ChildChannelUserEvents.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Child Channels/ChildChannelOptions.swift:71:5: warning: 'public' modifier is redundant for struct declared in a public extension
69 |
70 | /// `UsernameOption` allows users to query the authenticated username of the channel.
71 | public struct UsernameOption: ChannelOption {
| `- warning: 'public' modifier is redundant for struct declared in a public extension
72 | public typealias Value = String?
73 |
[440/469] Compiling NIOSSH ChildChannelWindowManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Child Channels/ChildChannelOptions.swift:71:5: warning: 'public' modifier is redundant for struct declared in a public extension
69 |
70 | /// `UsernameOption` allows users to query the authenticated username of the channel.
71 | public struct UsernameOption: ChannelOption {
| `- warning: 'public' modifier is redundant for struct declared in a public extension
72 | public typealias Value = String?
73 |
[441/469] Compiling NIOSSH ChildChannelWritabilityManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Child Channels/ChildChannelOptions.swift:71:5: warning: 'public' modifier is redundant for struct declared in a public extension
69 |
70 | /// `UsernameOption` allows users to query the authenticated username of the channel.
71 | public struct UsernameOption: ChannelOption {
| `- warning: 'public' modifier is redundant for struct declared in a public extension
72 | public typealias Value = String?
73 |
[442/469] Compiling NIOSSH Role.swift
[443/469] Compiling NIOSSH SSHClientConfiguration.swift
[444/469] Compiling NIOSSH SSHEncryptablePacketPayload.swift
[445/469] Compiling NIOSSH SSHMessages.swift
[446/469] Compiling NIOSSH SSHPacketParser.swift
[447/469] Compiling NIOSSH SSHPacketSerializer.swift
[448/469] Compiling NIOSSH AcceptsKeyExchangeMessages.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:59:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
57 |
58 | if let future = result {
59 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
60 | } else {
61 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:97: warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:60:11: note: class 'Attributes' does not conform to the 'Sendable' protocol
58 | }
59 |
60 | class Attributes {
| `- note: class 'Attributes' does not conform to the 'Sendable' protocol
61 | var username: String? = nil
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:129: warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHMessages.swift:141:12: note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
139 | }
140 |
141 | struct UserAuthRequestMessage: Equatable {
| `- note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
142 | // SSH_MSG_USERAUTH_REQUEST
143 | static let id: UInt8 = 50
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHServerConfiguration.swift:68:12: note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
66 | to ignore banners.
67 | */
68 | struct UserAuthBanner {
| `- note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
69 | /**
70 | The message to be displayed by client to end user during authentication.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:56: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:93:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
91 |
92 | if let future = result {
93 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
94 | } else {
95 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[449/469] Compiling NIOSSH AcceptsUserAuthMessages.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:59:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
57 |
58 | if let future = result {
59 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
60 | } else {
61 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:97: warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:60:11: note: class 'Attributes' does not conform to the 'Sendable' protocol
58 | }
59 |
60 | class Attributes {
| `- note: class 'Attributes' does not conform to the 'Sendable' protocol
61 | var username: String? = nil
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:129: warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHMessages.swift:141:12: note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
139 | }
140 |
141 | struct UserAuthRequestMessage: Equatable {
| `- note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
142 | // SSH_MSG_USERAUTH_REQUEST
143 | static let id: UInt8 = 50
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHServerConfiguration.swift:68:12: note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
66 | to ignore banners.
67 | */
68 | struct UserAuthBanner {
| `- note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
69 | /**
70 | The message to be displayed by client to end user during authentication.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:56: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:93:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
91 |
92 | if let future = result {
93 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
94 | } else {
95 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[450/469] Compiling NIOSSH AcceptsVersionMessages.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:59:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
57 |
58 | if let future = result {
59 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
60 | } else {
61 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:97: warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:60:11: note: class 'Attributes' does not conform to the 'Sendable' protocol
58 | }
59 |
60 | class Attributes {
| `- note: class 'Attributes' does not conform to the 'Sendable' protocol
61 | var username: String? = nil
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:129: warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHMessages.swift:141:12: note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
139 | }
140 |
141 | struct UserAuthRequestMessage: Equatable {
| `- note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
142 | // SSH_MSG_USERAUTH_REQUEST
143 | static let id: UInt8 = 50
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHServerConfiguration.swift:68:12: note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
66 | to ignore banners.
67 | */
68 | struct UserAuthBanner {
| `- note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
69 | /**
70 | The message to be displayed by client to end user during authentication.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:56: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:93:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
91 |
92 | if let future = result {
93 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
94 | } else {
95 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[451/469] Compiling NIOSSH SendsChannelMessages.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:59:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
57 |
58 | if let future = result {
59 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
60 | } else {
61 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:97: warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:60:11: note: class 'Attributes' does not conform to the 'Sendable' protocol
58 | }
59 |
60 | class Attributes {
| `- note: class 'Attributes' does not conform to the 'Sendable' protocol
61 | var username: String? = nil
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:129: warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHMessages.swift:141:12: note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
139 | }
140 |
141 | struct UserAuthRequestMessage: Equatable {
| `- note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
142 | // SSH_MSG_USERAUTH_REQUEST
143 | static let id: UInt8 = 50
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHServerConfiguration.swift:68:12: note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
66 | to ignore banners.
67 | */
68 | struct UserAuthBanner {
| `- note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
69 | /**
70 | The message to be displayed by client to end user during authentication.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:56: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:93:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
91 |
92 | if let future = result {
93 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
94 | } else {
95 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[452/469] Compiling NIOSSH SendsKeyExchangeMessages.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:59:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
57 |
58 | if let future = result {
59 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
60 | } else {
61 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:97: warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:60:11: note: class 'Attributes' does not conform to the 'Sendable' protocol
58 | }
59 |
60 | class Attributes {
| `- note: class 'Attributes' does not conform to the 'Sendable' protocol
61 | var username: String? = nil
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:129: warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHMessages.swift:141:12: note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
139 | }
140 |
141 | struct UserAuthRequestMessage: Equatable {
| `- note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
142 | // SSH_MSG_USERAUTH_REQUEST
143 | static let id: UInt8 = 50
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHServerConfiguration.swift:68:12: note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
66 | to ignore banners.
67 | */
68 | struct UserAuthBanner {
| `- note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
69 | /**
70 | The message to be displayed by client to end user during authentication.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:56: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:93:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
91 |
92 | if let future = result {
93 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
94 | } else {
95 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[453/469] Compiling NIOSSH SendsUserAuthMessages.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:59:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
57 |
58 | if let future = result {
59 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
60 | } else {
61 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:97: warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:60:11: note: class 'Attributes' does not conform to the 'Sendable' protocol
58 | }
59 |
60 | class Attributes {
| `- note: class 'Attributes' does not conform to the 'Sendable' protocol
61 | var username: String? = nil
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:129: warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHMessages.swift:141:12: note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
139 | }
140 |
141 | struct UserAuthRequestMessage: Equatable {
| `- note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
142 | // SSH_MSG_USERAUTH_REQUEST
143 | static let id: UInt8 = 50
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHServerConfiguration.swift:68:12: note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
66 | to ignore banners.
67 | */
68 | struct UserAuthBanner {
| `- note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
69 | /**
70 | The message to be displayed by client to end user during authentication.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:56: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:93:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
91 |
92 | if let future = result {
93 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
94 | } else {
95 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[454/469] Compiling NIOSSH SSHConnectionStateMachine.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:59:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
57 |
58 | if let future = result {
59 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
60 | } else {
61 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:97: warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'connectionAttributes' with non-Sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:60:11: note: class 'Attributes' does not conform to the 'Sendable' protocol
58 | }
59 |
60 | class Attributes {
| `- note: class 'Attributes' does not conform to the 'Sendable' protocol
61 | var username: String? = nil
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:129: warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'message' with non-Sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHMessages.swift:141:12: note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
139 | }
140 |
141 | struct UserAuthRequestMessage: Equatable {
| `- note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
142 | // SSH_MSG_USERAUTH_REQUEST
143 | static let id: UInt8 = 50
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'banner' with non-Sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/SSHServerConfiguration.swift:68:12: note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
66 | to ignore banners.
67 | */
68 | struct UserAuthBanner {
| `- note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
69 | /**
70 | The message to be displayed by client to end user during authentication.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:56: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#SendableMetatypes]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:93:59: warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
91 |
92 | if let future = result {
93 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-Sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
94 | } else {
95 | return .noMessage
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[455/469] Compiling NIOSSH NIOSSHPrivateKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[456/469] Compiling NIOSSH NIOSSHPublicKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[457/469] Compiling NIOSSH NIOSSHSignature.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[458/469] Compiling NIOSSH NIOSSHError.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[459/469] Compiling NIOSSH NIOSSHHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[460/469] Compiling NIOSSH NIOSSHSendable.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1859:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1857 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1858 | /// `ChannelHandler`.
1859 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1860 | // visible for ChannelPipeline to modify
1861 | fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
24 | /// other usage models, including port forwarding. It is also able to construct somewhat
25 | /// arbitrary secure multiplexed channels.
26 | public final class NIOSSHHandler {
| `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
27 | internal var channel: Channel? {
28 | self.context.map { $0.channel }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-Sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[461/488] Emitting module NIOSSHPerformanceTester
[462/488] Compiling NIOSSHPerformanceTester shared.swift
[463/488] Compiling NIOSSHPerformanceTester main.swift
[464/488] Compiling NIOSSHPerformanceTester Benchmark.swift
[465/488] Compiling NIOSSHPerformanceTester BenchmarkLinearThroughput.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHPerformanceTester/BenchmarkLinearThroughput.swift:39:49: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
37 | let clientHandler = NIOSSHHandler(role: self.clientRole, allocator: self.b2b.client.allocator, inboundChildChannelInitializer: nil)
38 |
39 | try self.b2b.client.pipeline.addHandler(clientHandler).wait()
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
40 | try self.b2b.server.pipeline.addHandler(NIOSSHHandler(role: self.serverRole, allocator: self.b2b.server.allocator, inboundChildChannelInitializer: nil)).wait()
41 | try self.b2b.interactInMemory()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHPerformanceTester/BenchmarkLinearThroughput.swift:40:49: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
38 |
39 | try self.b2b.client.pipeline.addHandler(clientHandler).wait()
40 | try self.b2b.server.pipeline.addHandler(NIOSSHHandler(role: self.serverRole, allocator: self.b2b.server.allocator, inboundChildChannelInitializer: nil)).wait()
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
41 | try self.b2b.interactInMemory()
42 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[466/488] Compiling NIOSSHPerformanceTester BenchmarkHandshake.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHPerformanceTester/BenchmarkHandshake.swift:38:48: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
36 | b2b.server.connect(to: try .init(unixDomainSocketPath: "/foo"), promise: nil)
37 |
38 | try b2b.client.pipeline.addHandler(NIOSSHHandler(role: self.clientRole, allocator: b2b.client.allocator, inboundChildChannelInitializer: nil)).wait()
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
39 | try b2b.server.pipeline.addHandler(NIOSSHHandler(role: self.serverRole, allocator: b2b.server.allocator, inboundChildChannelInitializer: nil)).wait()
40 | try b2b.interactInMemory()
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHPerformanceTester/BenchmarkHandshake.swift:39:48: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
37 |
38 | try b2b.client.pipeline.addHandler(NIOSSHHandler(role: self.clientRole, allocator: b2b.client.allocator, inboundChildChannelInitializer: nil)).wait()
39 | try b2b.server.pipeline.addHandler(NIOSSHHandler(role: self.serverRole, allocator: b2b.server.allocator, inboundChildChannelInitializer: nil)).wait()
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
40 | try b2b.interactInMemory()
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[466/488] Write Objects.LinkFileList
[468/488] Compiling NIOSSHServer main.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHServer/main.swift:79:39: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
77 | let bootstrap = ServerBootstrap(group: group)
78 | .childChannelInitializer { channel in
79 | channel.pipeline.addHandlers([NIOSSHHandler(role: .server(.init(hostKeys: [hostKey], userAuthDelegate: HardcodedPasswordDelegate(), globalRequestDelegate: RemotePortForwarderGlobalRequestDelegate())), allocator: channel.allocator, inboundChildChannelInitializer: sshChildChannelInitializer(_:_:)), ErrorHandler()])
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
80 | }
81 | .serverChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[469/488] Compiling NIOSSHServer RemotePortForwarding.swift
[470/488] Compiling NIOSSHClient ExecHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHClient/ExecHandler.swift:51:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#DeprecatedDeclaration]
49 | bootstrap.channelOption(ChannelOptions.allowRemoteHalfClosure, value: true).channelInitializer { channel in
50 | channel.pipeline.addHandler(theirs)
51 | }.withPipes(inputDescriptor: 0, outputDescriptor: 1).whenComplete { result in
| |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#DeprecatedDeclaration]
| `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
52 | switch result {
53 | case .success:
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[471/488] Compiling NIOSSHClient PortForwardingServer.swift
[472/488] Compiling NIOSSHClient SimpleCLIParser.swift
[473/488] Emitting module NIOSSHClient
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHClient/main.swift:52:39: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
50 | let bootstrap = ClientBootstrap(group: group)
51 | .channelInitializer { channel in
52 | channel.pipeline.addHandlers([NIOSSHHandler(role: .client(.init(userAuthDelegate: InteractivePasswordPromptDelegate(username: parseResult.user, password: parseResult.password), serverAuthDelegate: AcceptAllHostKeysDelegate())), allocator: channel.allocator, inboundChildChannelInitializer: nil), ErrorHandler()])
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
53 | }
54 | .channelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[474/488] Compiling NIOSSHClient GlueHandler.swift
[475/488] Compiling NIOSSHClient main.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHClient/main.swift:52:39: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
50 | let bootstrap = ClientBootstrap(group: group)
51 | .channelInitializer { channel in
52 | channel.pipeline.addHandlers([NIOSSHHandler(role: .client(.init(userAuthDelegate: InteractivePasswordPromptDelegate(username: parseResult.user, password: parseResult.password), serverAuthDelegate: AcceptAllHostKeysDelegate())), allocator: channel.allocator, inboundChildChannelInitializer: nil), ErrorHandler()])
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
53 | }
54 | .channelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[476/488] Compiling NIOSSHClient InteractivePasswordPromptDelegate.swift
[477/488] Compiling NIOSSHServer GlueHandler.swift
[478/488] Compiling NIOSSHServer DataToBufferCodec.swift
[479/488] Emitting module NIOSSHServer
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHServer/main.swift:79:39: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
77 | let bootstrap = ServerBootstrap(group: group)
78 | .childChannelInitializer { channel in
79 | channel.pipeline.addHandlers([NIOSSHHandler(role: .server(.init(hostKeys: [hostKey], userAuthDelegate: HardcodedPasswordDelegate(), globalRequestDelegate: RemotePortForwarderGlobalRequestDelegate())), allocator: channel.allocator, inboundChildChannelInitializer: sshChildChannelInitializer(_:_:)), ErrorHandler()])
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
80 | }
81 | .serverChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[480/488] Compiling NIOSSHServer ExecHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOSSHServer/ExecHandler.swift:123:23: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#DeprecatedDeclaration]
121 | .channelInitializer { pipeChannel in
122 | pipeChannel.pipeline.addHandler(theirs)
123 | }.withPipes(inputDescriptor: outPipe.fileHandleForReading.fileDescriptor, outputDescriptor: inPipe.fileHandleForWriting.fileDescriptor).wait()
| |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#DeprecatedDeclaration]
| `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
124 |
125 | // Ok, great, we've sorted stdout and stdin. For stderr we need a different strategy: we just park a thread for this.
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[480/488] Write Objects.LinkFileList
[482/488] Linking NIOSSHPerformanceTester
[483/488] Applying NIOSSHPerformanceTester
[484/488] Linking NIOSSHServer
[485/488] Linking NIOSSHClient
[486/488] Applying NIOSSHServer
[487/488] Applying NIOSSHClient
Build complete! (32.91s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-nio",
"requirement" : {
"range" : [
{
"lower_bound" : "2.81.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio.git"
},
{
"identity" : "swift-crypto",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-crypto.git"
},
{
"identity" : "swift-atomics",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-atomics.git"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "swift-nio-ssh",
"name" : "swift-nio-ssh",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "NIOSSH",
"targets" : [
"NIOSSH"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NIOSSHServer",
"targets" : [
"NIOSSHServer"
],
"type" : {
"executable" : null
}
},
{
"name" : "NIOSSHPerformanceTester",
"targets" : [
"NIOSSHPerformanceTester"
],
"type" : {
"executable" : null
}
},
{
"name" : "NIOSSHClient",
"targets" : [
"NIOSSHClient"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "NIOSSHTests",
"module_type" : "SwiftTarget",
"name" : "NIOSSHTests",
"path" : "Tests/NIOSSHTests",
"product_dependencies" : [
"NIOCore",
"NIOEmbedded",
"NIOFoundationCompat"
],
"sources" : [
"AESGCMTests.swift",
"ByteBuffer+SSHTests.swift",
"CertificateAuthenticationIntegrationTests.swift",
"CertifiedKeyTests.swift",
"ChildChannelMultiplexerTests.swift",
"ECKeyExchangeTests.swift",
"EndToEndTests.swift",
"FuzzResultTests.swift",
"HostKeyTests.swift",
"SSHConfigurationCertificateTests.swift",
"SSHConnectionStateMachineTests.swift",
"SSHEncryptedTrafficTests.swift",
"SSHHandlerTests.swift",
"SSHKeyExchangeCertificateTests.swift",
"SSHKeyExchangeStateMachineTests.swift",
"SSHMessagesTests.swift",
"SSHPackerSerializerTests.swift",
"SSHPacketParserTests.swift",
"UserAuthenticationStateMachineTests.swift",
"Utilities.swift",
"UtilitiesTests.swift"
],
"target_dependencies" : [
"NIOSSH"
],
"type" : "test"
},
{
"c99name" : "NIOSSHServer",
"module_type" : "SwiftTarget",
"name" : "NIOSSHServer",
"path" : "Sources/NIOSSHServer",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"NIOFoundationCompat",
"Crypto"
],
"product_memberships" : [
"NIOSSHServer"
],
"sources" : [
"DataToBufferCodec.swift",
"ExecHandler.swift",
"GlueHandler.swift",
"RemotePortForwarding.swift",
"main.swift"
],
"target_dependencies" : [
"NIOSSH"
],
"type" : "executable"
},
{
"c99name" : "NIOSSHPerformanceTester",
"module_type" : "SwiftTarget",
"name" : "NIOSSHPerformanceTester",
"path" : "Sources/NIOSSHPerformanceTester",
"product_dependencies" : [
"NIOCore",
"NIOEmbedded",
"Crypto"
],
"product_memberships" : [
"NIOSSHPerformanceTester"
],
"sources" : [
"Benchmark.swift",
"BenchmarkHandshake.swift",
"BenchmarkLinearThroughput.swift",
"main.swift",
"shared.swift"
],
"target_dependencies" : [
"NIOSSH"
],
"type" : "executable"
},
{
"c99name" : "NIOSSHClient",
"module_type" : "SwiftTarget",
"name" : "NIOSSHClient",
"path" : "Sources/NIOSSHClient",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"NIOConcurrencyHelpers"
],
"product_memberships" : [
"NIOSSHClient"
],
"sources" : [
"ExecHandler.swift",
"GlueHandler.swift",
"InteractivePasswordPromptDelegate.swift",
"PortForwardingServer.swift",
"SimpleCLIParser.swift",
"main.swift"
],
"target_dependencies" : [
"NIOSSH"
],
"type" : "executable"
},
{
"c99name" : "NIOSSH",
"module_type" : "SwiftTarget",
"name" : "NIOSSH",
"path" : "Sources/NIOSSH",
"product_dependencies" : [
"NIOCore",
"NIOConcurrencyHelpers",
"NIOFoundationCompat",
"Crypto",
"Atomics"
],
"product_memberships" : [
"NIOSSH",
"NIOSSHServer",
"NIOSSHPerformanceTester",
"NIOSSHClient"
],
"sources" : [
"ByteBuffer+SSH.swift",
"CSPRNG/CSPRNG.swift",
"Child Channels/ChildChannelOptions.swift",
"Child Channels/ChildChannelStateMachine.swift",
"Child Channels/ChildChannelUserEvents.swift",
"Child Channels/ChildChannelWindowManager.swift",
"Child Channels/ChildChannelWritabilityManager.swift",
"Child Channels/OutboundFlowController.swift",
"Child Channels/SSHChannelData.swift",
"Child Channels/SSHChannelIdentifier.swift",
"Child Channels/SSHChannelMultiplexer.swift",
"Child Channels/SSHChannelType.swift",
"Child Channels/SSHChildChannel.swift",
"Connection State Machine/Operations/AcceptsChannelMessages.swift",
"Connection State Machine/Operations/AcceptsKeyExchangeMessages.swift",
"Connection State Machine/Operations/AcceptsUserAuthMessages.swift",
"Connection State Machine/Operations/AcceptsVersionMessages.swift",
"Connection State Machine/Operations/SendsChannelMessages.swift",
"Connection State Machine/Operations/SendsKeyExchangeMessages.swift",
"Connection State Machine/Operations/SendsUserAuthMessages.swift",
"Connection State Machine/SSHConnectionStateMachine.swift",
"Connection State Machine/States/ActiveState.swift",
"Connection State Machine/States/IdleState.swift",
"Connection State Machine/States/KeyExchangeState.swift",
"Connection State Machine/States/ReceivedKexInitWhenActiveState.swift",
"Connection State Machine/States/ReceivedNewKeysState.swift",
"Connection State Machine/States/RekeyingReceivedNewKeysState.swift",
"Connection State Machine/States/RekeyingSentNewKeysState.swift",
"Connection State Machine/States/RekeyingState.swift",
"Connection State Machine/States/SentKexInitWhenActiveState.swift",
"Connection State Machine/States/SentNewKeysState.swift",
"Connection State Machine/States/SentVersionState.swift",
"Connection State Machine/States/UserAuthenticationState.swift",
"Constants.swift",
"GlobalRequestDelegate.swift",
"Key Exchange/ECDHCompatibleKey.swift",
"Key Exchange/EllipticCurveKeyExchange.swift",
"Key Exchange/SSHKeyExchangeResult.swift",
"Key Exchange/SSHKeyExchangeStateMachine.swift",
"Keys And Signatures/ClientServerAuthenticationDelegate.swift",
"Keys And Signatures/CustomKeys.swift",
"Keys And Signatures/NIOSSHCertifiedPublicKey.swift",
"Keys And Signatures/NIOSSHPrivateKey.swift",
"Keys And Signatures/NIOSSHPublicKey.swift",
"Keys And Signatures/NIOSSHSignature.swift",
"NIOSSHError.swift",
"NIOSSHHandler.swift",
"NIOSSHSendable.swift",
"Role.swift",
"SSHClientConfiguration.swift",
"SSHEncryptablePacketPayload.swift",
"SSHMessages.swift",
"SSHPacketParser.swift",
"SSHPacketSerializer.swift",
"SSHServerConfiguration.swift",
"SSHTerminalModes.swift",
"TransportProtection/AESGCM.swift",
"TransportProtection/SSHTransportProtection.swift",
"User Authentication/ClientUserAuthenticationDelegate.swift",
"User Authentication/DenyAllServerAuthDelegate.swift",
"User Authentication/ServerUserAuthenticationDelegate.swift",
"User Authentication/SimplePasswordDelegate.swift",
"User Authentication/UserAuthDelegate.swift",
"User Authentication/UserAuthSignablePayload.swift",
"User Authentication/UserAuthenticationMethod.swift",
"User Authentication/UserAuthenticationStateMachine.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/joannis/swift-nio-ssh/citadel2
Repository: Joannis/swift-nio-ssh
Swift version used: 6.3
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
Target: NIOSSH
Extracting symbol information for 'NIOSSH'...
Finished extracting symbol information for 'NIOSSH'. (30.68s)
Building documentation for 'NIOSSH'...
Finished building documentation for 'NIOSSH' (0.92s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/joannis/swift-nio-ssh/citadel2
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit SemanticVersion.swift
[8/57] Compiling SymbolKit AccessControl.swift
[9/57] Compiling SymbolKit Availability.swift
[10/57] Compiling SymbolKit AvailabilityItem.swift
[11/57] Compiling SymbolKit Domain.swift
[12/57] Compiling SymbolKit Relationship.swift
[13/57] Compiling SymbolKit RelationshipKind.swift
[14/57] Compiling SymbolKit SourceOrigin.swift
[15/57] Compiling SymbolKit GenericConstraints.swift
[16/57] Compiling SymbolKit Swift.swift
[17/57] Compiling SymbolKit Identifier.swift
[18/57] Compiling SymbolKit KindIdentifier.swift
[19/57] Compiling SymbolKit Location.swift
[20/57] Compiling SymbolKit Mutability.swift
[21/57] Compiling SymbolKit SourceRange.swift
[22/57] Compiling SymbolKit Metadata.swift
[23/57] Compiling SymbolKit Module.swift
[24/57] Compiling SymbolKit OperatingSystem.swift
[25/57] Compiling SymbolKit Platform.swift
[26/57] Compiling SymbolKit DeclarationFragments.swift
[27/57] Compiling SymbolKit Fragment.swift
[28/57] Compiling SymbolKit FragmentKind.swift
[29/57] Compiling SymbolKit FunctionParameter.swift
[30/57] Compiling SymbolKit FunctionSignature.swift
[31/57] Compiling SymbolKit Mixin+Equals.swift
[32/57] Compiling SymbolKit Mixin+Hash.swift
[33/57] Compiling SymbolKit Mixin.swift
[34/57] Compiling SymbolKit LineList.swift
[35/57] Compiling SymbolKit Position.swift
[36/57] Compiling SymbolKit Names.swift
[37/57] Compiling SymbolKit SPI.swift
[38/57] Compiling SymbolKit Snippet.swift
[39/57] Compiling SymbolKit Extension.swift
[40/57] Compiling SymbolKit GenericConstraint.swift
[41/57] Compiling SymbolKit GenericParameter.swift
[42/57] Compiling SymbolKit Generics.swift
[43/57] Compiling SymbolKit Namespace.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Compiling Snippets Snippet.swift
[53/57] Compiling Snippets SnippetParser.swift
[54/57] Emitting module Snippets
[55/61] Compiling snippet_extract SnippetBuildCommand.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract URL+Status.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.63s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'NIOSSH' complete! (1.73s)
1270
9 /Users/admin/builder/spi-builder-workspace/.docs/joannis/swift-nio-ssh/citadel2
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/joannis/swift-nio-ssh/citadel2
File count: 1270
Doc size: 9.0MB
Preparing doc bundle ...
Uploading prod-joannis-swift-nio-ssh-citadel2-862cb75e.zip to s3://spi-docs-inbox/prod-joannis-swift-nio-ssh-citadel2-862cb75e.zip
Copying... [11%]
Copying... [21%]
Copying... [32%]
Copying... [42%]
Copying... [53%]
Copying... [60%]
Copying... [71%]
Copying... [81%]
Copying... [92%]
Copying... [100%]
Done.