class Mysql::Protocol::AuthenticationPacket

Authentication packet

Public Class Methods

serialize(client_flags, max_packet_size, charset_number, username, scrambled_password, databasename, auth_plugin) click to toggle source
# File lib/mysql/protocol.rb, line 679
def self.serialize(client_flags, max_packet_size, charset_number, username, scrambled_password, databasename, auth_plugin)
  data = [
    client_flags,
    max_packet_size,
    charset_number,
    "",                   # always 0x00 * 23
    username,
    Packet.lcs(scrambled_password),
  ]
  pack = "VVCa23Z*A*"
  if databasename
    data.push databasename
    pack.concat "Z*"
  end
  data.push auth_plugin
  pack.concat "Z*"
  data.pack(pack)
end