in Sources/NIOSSH/User Authentication/UserAuthenticationStateMachine.swift [262:282]
mutating func sendUserAuthPKOK(_: SSHMessage.UserAuthPKOKMessage) {
switch (self.delegate, self.state) {
case (.server, .idle),
(.server, .awaitingServiceAcceptance):
preconditionFailure("Server sent an auth response prior to receiving an auth request")
case (.server, .awaitingNextRequest):
preconditionFailure("Too many auth responses sent")
case (.server, .awaitingResponses(let responseCount)):
if responseCount > 1 {
self.state = .awaitingResponses(responseCount - 1)
} else {
self.state = .awaitingNextRequest
}
case (.server, .authenticationSucceeded):
preconditionFailure("Authentication already succeeded, further messages are unnecessary.")
case (.server, .authenticationFailed):
preconditionFailure("Servers can never enter authenticationFailed")
case (.client, _):
preconditionFailure("Clients never send auth responses")
}
}