diff options
author | Florent Le Coz <louiz@louiz.org> | 2014-07-17 14:19:04 +0200 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2014-07-17 14:19:04 +0200 |
commit | 5ab77c745270d7d5c016c1dc7ef2a82533a4b16e (patch) | |
tree | 259377cc666f8b9c7954fc4e7b8f7a912bcfe101 /sleekxmpp/plugins/xep_0257 | |
parent | e5582694c07236e6830c20361840360a1dde37f3 (diff) | |
download | slixmpp-5ab77c745270d7d5c016c1dc7ef2a82533a4b16e.tar.gz slixmpp-5ab77c745270d7d5c016c1dc7ef2a82533a4b16e.tar.bz2 slixmpp-5ab77c745270d7d5c016c1dc7ef2a82533a4b16e.tar.xz slixmpp-5ab77c745270d7d5c016c1dc7ef2a82533a4b16e.zip |
Rename to slixmpp
Diffstat (limited to 'sleekxmpp/plugins/xep_0257')
-rw-r--r-- | sleekxmpp/plugins/xep_0257/__init__.py | 17 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0257/client_cert_management.py | 65 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0257/stanza.py | 87 |
3 files changed, 0 insertions, 169 deletions
diff --git a/sleekxmpp/plugins/xep_0257/__init__.py b/sleekxmpp/plugins/xep_0257/__init__.py deleted file mode 100644 index 8c5311fd..00000000 --- a/sleekxmpp/plugins/xep_0257/__init__.py +++ /dev/null @@ -1,17 +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_0257 import stanza -from sleekxmpp.plugins.xep_0257.stanza import Certs, AppendCert -from sleekxmpp.plugins.xep_0257.stanza import DisableCert, RevokeCert -from sleekxmpp.plugins.xep_0257.client_cert_management import XEP_0257 - - -register_plugin(XEP_0257) diff --git a/sleekxmpp/plugins/xep_0257/client_cert_management.py b/sleekxmpp/plugins/xep_0257/client_cert_management.py deleted file mode 100644 index 49317843..00000000 --- a/sleekxmpp/plugins/xep_0257/client_cert_management.py +++ /dev/null @@ -1,65 +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 Iq -from sleekxmpp.plugins import BasePlugin -from sleekxmpp.xmlstream import register_stanza_plugin -from sleekxmpp.plugins.xep_0257 import stanza, Certs -from sleekxmpp.plugins.xep_0257 import AppendCert, DisableCert, RevokeCert - - -log = logging.getLogger(__name__) - - -class XEP_0257(BasePlugin): - - name = 'xep_0257' - description = 'XEP-0258: Client Certificate Management for SASL EXTERNAL' - dependencies = set(['xep_0030']) - stanza = stanza - - def plugin_init(self): - register_stanza_plugin(Iq, Certs) - register_stanza_plugin(Iq, AppendCert) - register_stanza_plugin(Iq, DisableCert) - register_stanza_plugin(Iq, RevokeCert) - - def get_certs(self, ifrom=None, block=True, timeout=None, callback=None): - iq = self.xmpp.Iq() - iq['type'] = 'get' - iq['from'] = ifrom - iq.enable('sasl_certs') - return iq.send(block=block, timeout=timeout, callback=callback) - - def add_cert(self, name, cert, allow_management=True, ifrom=None, - block=True, timeout=None, callback=None): - iq = self.xmpp.Iq() - iq['type'] = 'set' - iq['from'] = ifrom - iq['sasl_cert_append']['name'] = name - iq['sasl_cert_append']['x509cert'] = cert - iq['sasl_cert_append']['cert_management'] = allow_management - return iq.send(block=block, timeout=timeout, callback=callback) - - def disable_cert(self, name, ifrom=None, block=True, - timeout=None, callback=None): - iq = self.xmpp.Iq() - iq['type'] = 'set' - iq['from'] = ifrom - iq['sasl_cert_disable']['name'] = name - return iq.send(block=block, timeout=timeout, callback=callback) - - def revoke_cert(self, name, ifrom=None, block=True, - timeout=None, callback=None): - iq = self.xmpp.Iq() - iq['type'] = 'set' - iq['from'] = ifrom - iq['sasl_cert_revoke']['name'] = name - return iq.send(block=block, timeout=timeout, callback=callback) diff --git a/sleekxmpp/plugins/xep_0257/stanza.py b/sleekxmpp/plugins/xep_0257/stanza.py deleted file mode 100644 index 17e20136..00000000 --- a/sleekxmpp/plugins/xep_0257/stanza.py +++ /dev/null @@ -1,87 +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.xmlstream import ElementBase, ET, register_stanza_plugin - - -class Certs(ElementBase): - name = 'query' - namespace = 'urn:xmpp:saslcert:1' - plugin_attrib = 'sasl_certs' - interfaces = set() - - -class CertItem(ElementBase): - name = 'item' - namespace = 'urn:xmpp:saslcert:1' - plugin_attrib = 'item' - plugin_multi_attrib = 'items' - interfaces = set(['name', 'x509cert', 'users']) - sub_interfaces = set(['name', 'x509cert']) - - def get_users(self): - resources = self.xml.findall('{%s}users/{%s}resource' % ( - self.namespace, self.namespace)) - return set([res.text for res in resources]) - - def set_users(self, values): - users = self.xml.find('{%s}users' % self.namespace) - if users is None: - users = ET.Element('{%s}users' % self.namespace) - self.xml.append(users) - for resource in values: - res = ET.Element('{%s}resource' % self.namespace) - res.text = resource - users.append(res) - - def del_users(self): - users = self.xml.find('{%s}users' % self.namespace) - if users is not None: - self.xml.remove(users) - - -class AppendCert(ElementBase): - name = 'append' - namespace = 'urn:xmpp:saslcert:1' - plugin_attrib = 'sasl_cert_append' - interfaces = set(['name', 'x509cert', 'cert_management']) - sub_interfaces = set(['name', 'x509cert']) - - def get_cert_management(self): - manage = self.xml.find('{%s}no-cert-management' % self.namespace) - return manage is None - - def set_cert_management(self, value): - self.del_cert_management() - if not value: - manage = ET.Element('{%s}no-cert-management' % self.namespace) - self.xml.append(manage) - - def del_cert_management(self): - manage = self.xml.find('{%s}no-cert-management' % self.namespace) - if manage is not None: - self.xml.remove(manage) - - -class DisableCert(ElementBase): - name = 'disable' - namespace = 'urn:xmpp:saslcert:1' - plugin_attrib = 'sasl_cert_disable' - interfaces = set(['name']) - sub_interfaces = interfaces - - -class RevokeCert(ElementBase): - name = 'revoke' - namespace = 'urn:xmpp:saslcert:1' - plugin_attrib = 'sasl_cert_revoke' - interfaces = set(['name']) - sub_interfaces = interfaces - - -register_stanza_plugin(Certs, CertItem, iterable=True) |