summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0235
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/plugins/xep_0235')
-rw-r--r--sleekxmpp/plugins/xep_0235/__init__.py16
-rw-r--r--sleekxmpp/plugins/xep_0235/oauth.py32
-rw-r--r--sleekxmpp/plugins/xep_0235/stanza.py80
3 files changed, 0 insertions, 128 deletions
diff --git a/sleekxmpp/plugins/xep_0235/__init__.py b/sleekxmpp/plugins/xep_0235/__init__.py
deleted file mode 100644
index 29d4408a..00000000
--- a/sleekxmpp/plugins/xep_0235/__init__.py
+++ /dev/null
@@ -1,16 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permission.
-"""
-
-from sleekxmpp.plugins.base import register_plugin
-
-from sleekxmpp.plugins.xep_0235 import stanza
-from sleekxmpp.plugins.xep_0235.stanza import OAuth
-from sleekxmpp.plugins.xep_0235.oauth import XEP_0235
-
-
-register_plugin(XEP_0235)
diff --git a/sleekxmpp/plugins/xep_0235/oauth.py b/sleekxmpp/plugins/xep_0235/oauth.py
deleted file mode 100644
index df0e2ebf..00000000
--- a/sleekxmpp/plugins/xep_0235/oauth.py
+++ /dev/null
@@ -1,32 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permission.
-"""
-
-
-import logging
-
-from sleekxmpp import Message
-from sleekxmpp.plugins import BasePlugin
-from sleekxmpp.xmlstream import register_stanza_plugin
-from sleekxmpp.plugins.xep_0235 import stanza, OAuth
-
-
-class XEP_0235(BasePlugin):
-
- name = 'xep_0235'
- description = 'XEP-0235: OAuth Over XMPP'
- dependencies = set(['xep_0030'])
- stanza = stanza
-
- def plugin_init(self):
- register_stanza_plugin(Message, OAuth)
-
- def session_bind(self, jid):
- self.xmpp['xep_0030'].add_feature('urn:xmpp:oauth:0')
-
- def plugin_end(self):
- self.xmpp['xep_0030'].del_feature(feature='urn:xmpp:oauth:0')
diff --git a/sleekxmpp/plugins/xep_0235/stanza.py b/sleekxmpp/plugins/xep_0235/stanza.py
deleted file mode 100644
index 0050d583..00000000
--- a/sleekxmpp/plugins/xep_0235/stanza.py
+++ /dev/null
@@ -1,80 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permission.
-"""
-
-import hmac
-import hashlib
-import urllib
-import base64
-
-from sleekxmpp.xmlstream import ET, ElementBase, JID
-
-
-class OAuth(ElementBase):
-
- name = 'oauth'
- namespace = 'urn:xmpp:oauth:0'
- plugin_attrib = 'oauth'
- interfaces = set(['oauth_consumer_key', 'oauth_nonce', 'oauth_signature',
- 'oauth_signature_method', 'oauth_timestamp',
- 'oauth_token', 'oauth_version'])
- sub_interfaces = interfaces
-
- def generate_signature(self, stanza, sfrom, sto, consumer_secret,
- token_secret, method='HMAC-SHA1'):
- self['oauth_signature_method'] = method
-
- request = urllib.quote('%s&%s' % (sfrom, sto), '')
- parameters = urllib.quote('&'.join([
- 'oauth_consumer_key=%s' % self['oauth_consumer_key'],
- 'oauth_nonce=%s' % self['oauth_nonce'],
- 'oauth_signature_method=%s' % self['oauth_signature_method'],
- 'oauth_timestamp=%s' % self['oauth_timestamp'],
- 'oauth_token=%s' % self['oauth_token'],
- 'oauth_version=%s' % self['oauth_version']
- ]), '')
-
- sigbase = '%s&%s&%s' % (stanza, request, parameters)
-
- consumer_secret = urllib.quote(consumer_secret, '')
- token_secret = urllib.quote(token_secret, '')
- key = '%s&%s' % (consumer_secret, token_secret)
-
- if method == 'HMAC-SHA1':
- sig = base64.b64encode(hmac.new(key, sigbase, hashlib.sha1).digest())
- elif method == 'PLAINTEXT':
- sig = key
-
- self['oauth_signature'] = sig
- return sig
-
- def verify_signature(self, stanza, sfrom, sto, consumer_secret,
- token_secret):
- method = self['oauth_signature_method']
-
- request = urllib.quote('%s&%s' % (sfrom, sto), '')
- parameters = urllib.quote('&'.join([
- 'oauth_consumer_key=%s' % self['oauth_consumer_key'],
- 'oauth_nonce=%s' % self['oauth_nonce'],
- 'oauth_signature_method=%s' % self['oauth_signature_method'],
- 'oauth_timestamp=%s' % self['oauth_timestamp'],
- 'oauth_token=%s' % self['oauth_token'],
- 'oauth_version=%s' % self['oauth_version']
- ]), '')
-
- sigbase = '%s&%s&%s' % (stanza, request, parameters)
-
- consumer_secret = urllib.quote(consumer_secret, '')
- token_secret = urllib.quote(token_secret, '')
- key = '%s&%s' % (consumer_secret, token_secret)
-
- if method == 'HMAC-SHA1':
- sig = base64.b64encode(hmac.new(key, sigbase, hashlib.sha1).digest())
- elif method == 'PLAINTEXT':
- sig = key
-
- return self['oauth_signature'] == sig