how to enforce users to use specific ejabberd client[SOLVED]

hi ejabberders :)

I'm wondering if I can enforce my ejabberd users to use specific ejabberd client !

Not initially possible.

Not initially possible. ejabberd doesn't provide any similar feature, and I am not aware of any patch or moule to implement it.

On the other hand, a simple and tricky way is to modify some part of the authentication code, then only the clients that implement that non-standard authentication will be able to login. For example, ejabberd provides those auth mechanisms:

<stream:features>
  <c hash='sha-1'
	node='http://www.process-one.net/en/ejabberd/'
	ver='PXc8x7mNN6cEIZgjsEishHW4d3E='
	xmlns='http://jabber.org/protocol/caps'/>
  <register xmlns='http://jabber.org/features/iq-register'/>
  <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
  <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
    <mechanism>SCRAM-SHA-1</mechanism>
  </mechanisms>
</stream:features>

You can tweak ejabberd source code so instead of SCRAM-SHA-1, it offers the non-standard JOE mechanism, that is simply SCRAM renamed. Then tweak your custom client, so it knows that JOE is the same that SCRAM.

brilliant idea, thanks a lot

brilliant idea, thanks a lot Mr badlop.

Syndicate content