zk/xmpp-clj

Defining a port to connect to?

Closed this issue · 3 comments

It seems xmpp-clj is currently lacking the functionality to connect to a port other than the standard 5222.
I'm getting the following trace:

user=> (defonce my-bot (xmpp/start-bot xmpp-connection-info (var handle-message)))
XMPPException SASL authentication failed using mechanism DIGEST-MD5 org.jivesoftware. smack.SASLAuthentication.authenticate (SASLAuthentication.java:325)
user=> java.net.SocketException: Connection closed by remote host
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:12 53)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:43)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
at java.io.BufferedWriter.flush(BufferedWriter.java:236)
at org.jivesoftware.smack.PacketWriter.writePackets(PacketWriter.java:274)
at org.jivesoftware.smack.PacketWriter.access$000(PacketWriter.java:40)
at org.jivesoftware.smack.PacketWriter$1.run(PacketWriter.java:87)
java.io.EOFException: no more data available - expected end tag /stream:stream to close start tag stream:stream from line 1, parser stopped on END_TAG seen ...... @1:758
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:368)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76)
java.net.SocketException: Connection closed by remote host

This is against ejabberd fwiw.

zk commented

@jasperla I added a :port config option, please try with 0.2.1 and let me know if that works for you.

68a5c5b

Thanks, I'll test it later this weekend :)

It doesn't seem to work:

user=> (defonce my-bot (xmpp/start-bot connect-info (var handle-message)))
java.io.EOFException: input contained no data
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3003)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1410)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:368)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76)
XMPPException Connection failed. No response from server. org.jivesoftware.smack.PacketReader.startup (PacketReader.java:164)
user=>

On the server I do see it's trying to connect though:
=INFO REPORT==== 2011-12-17 14:23:39 ===
I(<0.943.0>:ejabberd_listener:281) : (#Port<0.67647>) Accepted connection {{xx,xx,xx,xx},32758} -> {{xx,xx,xx,xx},5223}

my connect info has ":port 5223" and this is being picked up as tcpdumping on that port shows the traffic..perhaps it's due to the required encryption?