31 lines
721 B
Python
31 lines
721 B
Python
import base64
|
|
import sys
|
|
import logging
|
|
|
|
from sleekxmpp.stanza.stream import sasl
|
|
from sleekxmpp.plugins.base import base_plugin
|
|
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
class sasl_anonymous(base_plugin):
|
|
|
|
def plugin_init(self):
|
|
self.name = 'SASL ANONYMOUS'
|
|
self.rfc = '6120'
|
|
self.description = 'SASL ANONYMOUS Mechanism'
|
|
|
|
self.xmpp.register_sasl_mechanism('ANONYMOUS',
|
|
self._handle_anonymous,
|
|
priority=self.config.get('priority', 0))
|
|
|
|
def _handle_anonymous(self):
|
|
if self.xmpp.boundjid.user:
|
|
return False
|
|
|
|
resp = sasl.Auth(self.xmpp)
|
|
resp['mechanism'] = 'ANONYMOUS'
|
|
resp.send(now=True)
|
|
|
|
return True
|