module EventMachine::Protocols::SASLauthclient

def validate? username, psw, sysname=nil, realm=nil

def validate? username, psw, sysname=nil, realm=nil
  str = [username, psw, sysname, realm].map {|m|
    [(m || "").length, (m || "")]
  }.flatten.pack( "nA*" * 4 )
  send_data str
  d = EM::DefaultDeferrable.new
  @queries.unshift d
  d
end