class HrrRbSsh::Authentication::Method::KeyboardInteractive::InfoResponse

Attributes

num_responses[R]
responses[R]

Public Class Methods

new(payload, logger: nil) click to toggle source
# File lib/hrr_rb_ssh/authentication/method/keyboard_interactive/info_response.rb, line 17
def initialize payload, logger: nil
  self.logger = logger
  case payload[0,1].unpack("C")[0]
  when Message::SSH_MSG_USERAUTH_INFO_RESPONSE::VALUE
    message = Message::SSH_MSG_USERAUTH_INFO_RESPONSE.new(logger: logger).decode payload
    @num_responses = message[:'num-responses']
    @responses = Array.new(message[:'num-responses']){ |i| message[:"response[#{i+1}]"] }
  else
    raise "Expected SSH_MSG_USERAUTH_INFO_RESPONSE, but got message number #{payload[0,1].unpack("C")[0]}"
  end
end