diff options
author | Lance Stout <lancestout@gmail.com> | 2011-08-03 17:00:51 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-08-03 17:00:51 -0700 |
commit | d4091dbde641dc9796b51e032ea23a0ba5c1fcbb (patch) | |
tree | 4efc7d117b4e40b630c3b09a7f983ba2dbd3cb98 /sleekxmpp/features/feature_mechanisms/stanza/challenge.py | |
parent | 9a6eb333e65e58f705aca6a8874d5b65bd52e0e7 (diff) | |
download | slixmpp-d4091dbde641dc9796b51e032ea23a0ba5c1fcbb.tar.gz slixmpp-d4091dbde641dc9796b51e032ea23a0ba5c1fcbb.tar.bz2 slixmpp-d4091dbde641dc9796b51e032ea23a0ba5c1fcbb.tar.xz slixmpp-d4091dbde641dc9796b51e032ea23a0ba5c1fcbb.zip |
Integrate a modified version of Dave Cridland's Suelta SASL library.
Diffstat (limited to 'sleekxmpp/features/feature_mechanisms/stanza/challenge.py')
-rw-r--r-- | sleekxmpp/features/feature_mechanisms/stanza/challenge.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/sleekxmpp/features/feature_mechanisms/stanza/challenge.py b/sleekxmpp/features/feature_mechanisms/stanza/challenge.py new file mode 100644 index 00000000..82af869f --- /dev/null +++ b/sleekxmpp/features/feature_mechanisms/stanza/challenge.py @@ -0,0 +1,39 @@ +""" + 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 base64 + +from sleekxmpp.thirdparty.suelta.util import bytes + +from sleekxmpp.stanza import StreamFeatures +from sleekxmpp.xmlstream import ElementBase, StanzaBase, ET +from sleekxmpp.xmlstream import register_stanza_plugin + + +class Challenge(StanzaBase): + + """ + """ + + name = 'challenge' + namespace = 'urn:ietf:params:xml:ns:xmpp-sasl' + interfaces = set(('value',)) + plugin_attrib = name + + def setup(self, xml): + StanzaBase.setup(self, xml) + self.xml.tag = self.tag_name() + + def get_value(self): + return base64.b64decode(bytes(self.xml.text)) + + def set_value(self, values): + self.xml.text = bytes(base64.b64encode(values)).decode('utf-8') + + def del_value(self): + self.xml.text = '' |