Skip to content

An ejabberd module that pre binds an anonymous sasl session, returning the authenticated session.

License

Notifications You must be signed in to change notification settings

thepug/Mod-Http-Pre-Bind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mod_http_pre_bind for ejabberd. 

When using anonymous users the authentication process through BOSH can
take a second or two.  These seconds can be saved by doing all of the
authentication and bosh session setup on one call. mod_http_pre_bind
does this and returns a jid, sid, and rid of a valid BOSH session.

It requires mod_http_bind.  Modifications are needed to
src/web/ejabberd_http_bind.erl. The start, http_get, http_put,
handle_session_start, and prepare_response functions need to be made
public in the module code.  This prebind module simply calls those
functions to initiate and handle a session.

To build run the build.sh script and install the resulting beam files
in your ejabberd ebin directory.

Install both in ejabberd.cfg.


{5288, ejabberd_http, [
                         http_bind, 
                         web_admin,
                         {request_handlers, 
                          [{["http-pre-bind"], 
                            mod_http_pre_bind}]}
                        ]}


%%
%% Modules enabled in all ejabberd virtual hosts.
%%
{modules,
 [
  {mod_http_bind,      []},
  {mod_http_pre_bind,      []},


Example post and response:

POST
<body to='example.com' rid='1234567' wait='60' hold='1' />



Response:
 <body xmlns='https://jabber.org/protocol/httpbind'   
       sid='892efca20cea238958f0603f89a6f8472ef790fe'   
       rid='1234568'>  
   <iq xmlns='jabber:client'  
       id='_bind_auth_2'  
       type='result'>  
     <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>  
       <jid>[email protected]/37436661951260831658614586</jid>  
     </bind>  
   </iq>  
</body>

About

An ejabberd module that pre binds an anonymous sasl session, returning the authenticated session.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published