Hi all,
I want to write a jabber bot in ruby using the Jabber4r library. The first
generation bot will just logon to the jabber server without throwing an
exception, but I haven’t got that far yet.
This is more a jabber issue than a ruby issue, but maybe someone here uses
jabber4r. Transcripts are below, including xml. Briefly, when the script
trys to logon, the server refuses to authorize the connection. The same uid
password works fine with the rhymbox or exodus jabber clients.
Software versions below.
Ruby version: ruby 1.8.0 (2003-08-04) [i386-mswin32]
Jabber version: Jabber4r 0.6.0 for Ruby 1.8.1
Running on win 2k with Cygwin. uname -a output follows:
CYGWIN_NT-5.0 neil 1.5.5(0.94/3/2) 2003-09-20 16:31 i686 unknown unknown
Cygwin
This is the script.
#!/usr/bin/env ruby
require ‘jabber4r/jabber4r’
Jabber::DEBUG = true
session = Jabber::Session.bind(‘neilmcl@jabber’, ‘password’, 5222, true)
nb: ‘password’ isn’t my real password.
This is a transcript of the script running.
bash-2.05b$ jab.rb
SENDING:
xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams”>
RECEIVED:
<stream:stream xmlns:stream"http://etherx.jabber.org/streams" from"jabber"
id"407275C1" xmlns"jabber:client"/>
SENDING:
neilmcl
a729db796aa737fb20755a154689a22c6c423bce
RECEIVED:
<iq type"error" id"2">
<error code"406">Not Acceptable
<query xmlns"jabber:iq:auth">
<digest sid"407275C1">a729db796aa737fb20755a154689a22c6c423bce
neilmcl
./jab.rb:7: warning: already initialized constant DEBUG
d:/ruby/lib/ruby/site_ruby/1.8/jabber4r/session.rb:141:in `bind’:
Authentication failed (RuntimeError)
from ./jab.rb:9
bash-2.05b$
This is a transcript of the equivalent exodus login.
SENT: <stream:stream to=“jabber” xmlns=“jabber:client”
xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0” >
RECV: <?xml version='1.0'?><stream:stream
xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘40727C56’
xmlns=‘jabber:client’ from=‘jabber’>
SENT: neilmcl
RECV: neilmcl<sequ
4953F040A38
SENT: neilmclExodus</resourc
acfb2bd52679a19c25bb758894ac905e7f308689
RECV:
Cheers everyone,
Neil