powered by Jive Software

<handshake/> packet after component authentication


#1

Hello!

I wrote xmpp server component using Whack. After successfull authentication server sends empty packet and Whack throws exception:

[Component socket reader] ERROR org.jivesoftware.whack.ExternalComponentManager - org.xmlpull.v1.XmlPullParserException: Unknown packet type was read: handshake
          at org.jivesoftware.whack.SocketReadThread.readStream(SocketReadThread.java:107)
          at org.jivesoftware.whack.SocketReadThread.run(SocketReadThread.java:61)

But in XEP-0114: Jabber Component Protocol — 3. Protocol Flow pointed:

If the credentials are acceptable, the receiving application (in this case the server) MUST return an empty element.

Thanks for paying attention.

P.S. I’m using tigase v5 server.


#2

Grigory, you are right the component workflow as part of authenticating a component the server will send back an empty packet. However when I look at Whack’s (trunk) code I see that in order for authentication to have succeeded a **non error **packet needs to be received. I am guessing you are either: getting a “non error” packet (any valid xml packet, just root element is not error) or you are getting 2 packets.

I would run a wireshark or other trace to capture the data on the wire or add some logging / console out to Whack (externalComponent.connect(String host, int port, String subdomain))

HTH

Phil