diff options
Diffstat (limited to 'sleekxmpp/features/feature_starttls')
-rw-r--r-- | sleekxmpp/features/feature_starttls/__init__.py | 19 | ||||
-rw-r--r-- | sleekxmpp/features/feature_starttls/stanza.py | 45 | ||||
-rw-r--r-- | sleekxmpp/features/feature_starttls/starttls.py | 66 |
3 files changed, 0 insertions, 130 deletions
diff --git a/sleekxmpp/features/feature_starttls/__init__.py b/sleekxmpp/features/feature_starttls/__init__.py deleted file mode 100644 index 68697ce5..00000000 --- a/sleekxmpp/features/feature_starttls/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2011 Nathanael C. Fritz - This file is part of SleekXMPP. - - See the file LICENSE for copying permission. -""" - -from sleekxmpp.plugins.base import register_plugin - -from sleekxmpp.features.feature_starttls.starttls import FeatureSTARTTLS -from sleekxmpp.features.feature_starttls.stanza import * - - -register_plugin(FeatureSTARTTLS) - - -# Retain some backwards compatibility -feature_starttls = FeatureSTARTTLS diff --git a/sleekxmpp/features/feature_starttls/stanza.py b/sleekxmpp/features/feature_starttls/stanza.py deleted file mode 100644 index b968e134..00000000 --- a/sleekxmpp/features/feature_starttls/stanza.py +++ /dev/null @@ -1,45 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2011 Nathanael C. Fritz - This file is part of SleekXMPP. - - See the file LICENSE for copying permission. -""" - -from sleekxmpp.xmlstream import StanzaBase, ElementBase - - -class STARTTLS(ElementBase): - - """ - """ - - name = 'starttls' - namespace = 'urn:ietf:params:xml:ns:xmpp-tls' - interfaces = set(('required',)) - plugin_attrib = name - - def get_required(self): - """ - """ - return True - - -class Proceed(StanzaBase): - - """ - """ - - name = 'proceed' - namespace = 'urn:ietf:params:xml:ns:xmpp-tls' - interfaces = set() - - -class Failure(StanzaBase): - - """ - """ - - name = 'failure' - namespace = 'urn:ietf:params:xml:ns:xmpp-tls' - interfaces = set() diff --git a/sleekxmpp/features/feature_starttls/starttls.py b/sleekxmpp/features/feature_starttls/starttls.py deleted file mode 100644 index eb5eee1d..00000000 --- a/sleekxmpp/features/feature_starttls/starttls.py +++ /dev/null @@ -1,66 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2011 Nathanael C. Fritz - This file is part of SleekXMPP. - - See the file LICENSE for copying permission. -""" - -import logging - -from sleekxmpp.stanza import StreamFeatures -from sleekxmpp.xmlstream import RestartStream, register_stanza_plugin -from sleekxmpp.plugins import BasePlugin -from sleekxmpp.xmlstream.matcher import MatchXPath -from sleekxmpp.xmlstream.handler import Callback -from sleekxmpp.features.feature_starttls import stanza - - -log = logging.getLogger(__name__) - - -class FeatureSTARTTLS(BasePlugin): - - name = 'feature_starttls' - description = 'RFC 6120: Stream Feature: STARTTLS' - dependencies = set() - stanza = stanza - - def plugin_init(self): - 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)) - - self.xmpp.register_stanza(stanza.Proceed) - self.xmpp.register_stanza(stanza.Failure) - register_stanza_plugin(StreamFeatures, stanza.STARTTLS) - - def _handle_starttls(self, features): - """ - Handle notification that the server supports TLS. - - Arguments: - features -- The stream:features element. - """ - if 'starttls' in self.xmpp.features: - # We have already negotiated TLS, but the server is - # offering it again, against spec. - return False - elif not self.xmpp.use_tls: - return False - else: - self.xmpp.send(features['starttls'], now=True) - return True - - def _handle_starttls_proceed(self, proceed): - """Restart the XML stream when TLS is accepted.""" - log.debug("Starting TLS") - if self.xmpp.start_tls(): - self.xmpp.features.add('starttls') - raise RestartStream() |