# File jabber4r/session.rb, line 258 def authenticate(username, password, resource, digest=false) @username = username @password = password @resource = resource @jid = JID.new("#{username}@#{@host}/#{resource}") @roster.add(@jid, "both", "Me", "My Resources") msg_id = self.id authHandler = Proc.new do |element| if element.element_tag=="iq" and element.attr_id==msg_id element.consume_element if element.attr_type=="result" @authenticated = true elsif element.attr_type=="error" @authenticated = false end end end if digest require 'digest/sha1' authRequest = Jabber::Protocol::Iq.gen_auth_digest(self, msg_id, username, Digest::SHA1.new(@session_id + password).hexdigest, resource) else authRequest = Jabber::Protocol::Iq.gen_auth(self, msg_id, username, password, resource) end @connection.send(authRequest, authHandler) Thread.stop return @authenticated end