Revert "Remove stream feature handlers on session_start."

This reverts commit 4274f49ada.

The SASL mech was choking on this, so let's send it back for some
more refining.
This commit is contained in:
Lance Stout
2012-01-18 11:51:00 -08:00
parent 3672856ab4
commit 1e01903072
5 changed files with 15 additions and 45 deletions

View File

@@ -63,17 +63,6 @@ class feature_mechanisms(base_plugin):
self.xmpp.register_stanza(stanza.Challenge)
self.xmpp.register_stanza(stanza.Response)
self.xmpp.add_event_handler('stream_start',
self._handle_stream_start)
self.xmpp.add_event_handler('session_start',
self._handle_session_start)
self.xmpp.register_feature('mechanisms',
self._handle_sasl_auth,
restart=True,
order=self.config.get('order', 100))
def _handle_stream_start(self, root):
self.xmpp.register_handler(
Callback('SASL Success',
MatchXPath(stanza.Success.tag_name()),
@@ -91,10 +80,10 @@ class feature_mechanisms(base_plugin):
MatchXPath(stanza.Challenge.tag_name()),
self._handle_challenge))
def _handle_session_start(self, e):
self.xmpp.remove_handler('SASL Success')
self.xmpp.remove_handler('SASL Failure')
self.xmpp.remove_handler('SASL Challenge')
self.xmpp.register_feature('mechanisms',
self._handle_sasl_auth,
restart=True,
order=self.config.get('order', 100))
def _handle_sasl_auth(self, features):
"""

View File

@@ -27,29 +27,19 @@ class feature_starttls(base_plugin):
self.description = "STARTTLS Stream Feature"
self.stanza = stanza
self.xmpp.register_feature('starttls',
self._handle_starttls,
restart=True,
order=self.config.get('order', 0))
self.xmpp.add_event_handler('stream_start',
self._handle_stream_start)
self.xmpp.add_event_handler('session_start',
self._handle_session_start)
self.xmpp.register_stanza(stanza.Proceed)
self.xmpp.register_stanza(stanza.Failure)
register_stanza_plugin(StreamFeatures, stanza.STARTTLS)
def _handle_stream_start(self, root):
self.xmpp.register_handler(
Callback('STARTTLS Proceed',
MatchXPath(stanza.Proceed.tag_name()),
self._handle_starttls_proceed,
instream=True))
self.xmpp.register_feature('starttls',
self._handle_starttls,
restart=True,
order=self.config.get('order', 0))
def _handle_session_start(self, e):
self.xmpp.remove_handler('STARTTLS Proceed')
self.xmpp.register_stanza(stanza.Proceed)
self.xmpp.register_stanza(stanza.Failure)
register_stanza_plugin(StreamFeatures, stanza.STARTTLS)
def _handle_starttls(self, features):
"""