Friday, August 8, 2014

Jabsimul with SASL Integration is a benchmarking tool for Jabber/XMPP Servers which have SASL authentication

jabsimul-with-sasl
===========

Jabsimul with SASL Integration is a benchmarking tool for Jabber/XMPP Servers which have SASL authentication.
It also has the support for *starttls*.

Special Note:
---------------------

The SASL and starttls implementation is mine. Other than this project is not mine.

Implementation:
-------------------------

I have implemented the protocol named XEP-0034: SASL Integration.

Extra Feature:
-----------------------

Other then jabsimul benchmark feature it has the extra feature of XMPP SASL authentication. I have enabled the SASL plain mechanism of authentication for xmpp login.

With that now you can have the benchmark of jabsimul with SASL authentication.


As list:

1. Implemented “XMPP TLS” from http://xmpp.org/rfcs/rfc3920.html
2. Implemented “SASL AUTH” from  http://xmpp.org/rfcs/rfc3920.html

Source code is available in here .


Procedure:
-----------------

First start a TCP connection to the XMPP server. Then convert this TCP connection to TLS with *starttls* schema request.
Then select the *SASL* auth mechanism and start the the XMPP communication with TLS. The TLS connection holds when the SASL mechanism complete a successful handshake.


1. Protocol Messaging Details with sequence -


Client:
----------

<stream:stream to="intel.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams">

Server:
------------

<stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' id='ojTsAaoSvVKdKfmW' from='intel.com'  version='1.0'>
<stream:features>
  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls>
  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
    <mechanism>PLAIN</mechanism><mechanism>X-OAUTH2</mechanism>
  </mechanisms>
 
</stream:features>

Client:
-------
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>



Server:
-------
<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>

Implementation details are available [here](https://developers.google.com/cloud-print/docs/rawxmpp)

How To's:
--------

cd jabsimul/jab_simul/
vi jab_simul.xml


Change *<server>jabber.localhost</server>* to your XMPP server address. Fill the xml file with you necessary configuration.

Compile it:

./configure
make

Now you can execute it:

./jab_simul

No comments:

Post a Comment

How to enable hotspot in TPG iPhone

 By default, the hotspot does not work on the phone. It will ask you to contact the provider. This video will help you bypass the network ...