N
Neil Mc Laughlin
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:EBUG = 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:
<?xml version="1.0" encoding="UTF-8" ?><stream:stream to="jabber"
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:
<iq type="set" id="2">
<query xmlns="jabber:iq:auth"><username>neilmcl</username>
<digest>a729db796aa737fb20755a154689a22c6c423bce</digest>
<resource/>
</query>
</iq>
RECEIVED:
<iq type"error" id"2">
<error code"406">Not Acceptable</error>
<query xmlns"jabber:iq:auth">
<resource/>
<digest sid"407275C1">a729db796aa737fb20755a154689a22c6c423bce</digest>
<username>neilmcl</username>
</query>
</iq>
/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: <iq id="jcl_7" type="get"><query
xmlns="jabber:iq:auth"><username>neilmcl</username></query></iq>
RECV: <iq id='jcl_7' type='result'><query
xmlns='jabber:iq:auth'><username>neilmcl</username><password/><digest/><sequ
ence>495</sequence><token>3F040A38</token><resource/></query></iq>
SENT: <iq id="jcl_8" type="set"><query
xmlns="jabber:iq:auth"><username>neilmcl</username><resource>Exodus</resourc
e><hash>acfb2bd52679a19c25bb758894ac905e7f308689</hash></query></iq>
RECV: <iq id='jcl_8' type='result'/>
Cheers everyone,
Neil
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:EBUG = 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:
<?xml version="1.0" encoding="UTF-8" ?><stream:stream to="jabber"
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:
<iq type="set" id="2">
<query xmlns="jabber:iq:auth"><username>neilmcl</username>
<digest>a729db796aa737fb20755a154689a22c6c423bce</digest>
<resource/>
</query>
</iq>
RECEIVED:
<iq type"error" id"2">
<error code"406">Not Acceptable</error>
<query xmlns"jabber:iq:auth">
<resource/>
<digest sid"407275C1">a729db796aa737fb20755a154689a22c6c423bce</digest>
<username>neilmcl</username>
</query>
</iq>
/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: <iq id="jcl_7" type="get"><query
xmlns="jabber:iq:auth"><username>neilmcl</username></query></iq>
RECV: <iq id='jcl_7' type='result'><query
xmlns='jabber:iq:auth'><username>neilmcl</username><password/><digest/><sequ
ence>495</sequence><token>3F040A38</token><resource/></query></iq>
SENT: <iq id="jcl_8" type="set"><query
xmlns="jabber:iq:auth"><username>neilmcl</username><resource>Exodus</resourc
e><hash>acfb2bd52679a19c25bb758894ac905e7f308689</hash></query></iq>
RECV: <iq id='jcl_8' type='result'/>
Cheers everyone,
Neil