mutating func writeUserAuthRequestMessage()

in Sources/NIOSSH/SSHMessages.swift [1291:1322]


    mutating func writeUserAuthRequestMessage(_ message: SSHMessage.UserAuthRequestMessage) -> Int {
        var writtenBytes = 0
        writtenBytes += self.writeSSHString(message.username.utf8)
        writtenBytes += self.writeSSHString(message.service.utf8)

        switch message.method {
        case .none:
            writtenBytes += self.writeSSHString("none".utf8)
        case .password(let password):
            writtenBytes += self.writeSSHString("password".utf8)
            writtenBytes += self.writeSSHBoolean(false)
            writtenBytes += self.writeSSHString(password.utf8)
        case .publicKey(.known(key: let key, signature: let signature)):
            writtenBytes += self.writeSSHString("publickey".utf8)
            writtenBytes += self.writeSSHBoolean(signature != nil)
            writtenBytes += self.writeSSHString(key.keyPrefix)
            writtenBytes += self.writeCompositeSSHString { buffer in
                buffer.writeSSHHostKey(key)
            }

            if let signature = signature {
                writtenBytes += self.writeCompositeSSHString { buffer in
                    buffer.writeSSHSignature(signature)
                }
            }

        case .publicKey(.unknown):
            preconditionFailure("We cannot write user auth request messages on unknown keys")
        }

        return writtenBytes
    }