diff options
author | Lance Stout <lancestout@gmail.com> | 2012-07-29 17:22:16 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2012-07-30 19:15:10 -0700 |
commit | 695cd95657585006a696243a1c8249f9d90b506e (patch) | |
tree | 3f4b4ff419b2cba9970da78b84b1b7bb059a3a9a /sleekxmpp/thirdparty/suelta/mechanisms/cram_md5.py | |
parent | e4b4c676379df30d268d28341b643cd9cd10eb22 (diff) | |
download | slixmpp-695cd95657585006a696243a1c8249f9d90b506e.tar.gz slixmpp-695cd95657585006a696243a1c8249f9d90b506e.tar.bz2 slixmpp-695cd95657585006a696243a1c8249f9d90b506e.tar.xz slixmpp-695cd95657585006a696243a1c8249f9d90b506e.zip |
Update and integrate Suelta.
Diffstat (limited to 'sleekxmpp/thirdparty/suelta/mechanisms/cram_md5.py')
-rw-r--r-- | sleekxmpp/thirdparty/suelta/mechanisms/cram_md5.py | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/sleekxmpp/thirdparty/suelta/mechanisms/cram_md5.py b/sleekxmpp/thirdparty/suelta/mechanisms/cram_md5.py deleted file mode 100644 index e07bb883..00000000 --- a/sleekxmpp/thirdparty/suelta/mechanisms/cram_md5.py +++ /dev/null @@ -1,63 +0,0 @@ -import sys -import hmac - -from sleekxmpp.thirdparty.suelta.util import hash, bytes -from sleekxmpp.thirdparty.suelta.sasl import Mechanism, register_mechanism -from sleekxmpp.thirdparty.suelta.exceptions import SASLError, SASLCancelled - - -class CRAM_MD5(Mechanism): - - """ - """ - - def __init__(self, sasl, name): - """ - """ - super(CRAM_MD5, self).__init__(sasl, name, 2) - - self.hash = hash(name[5:]) - if self.hash is None: - raise SASLCancelled(self.sasl, self) - if not self.sasl.tls_active(): - if not self.sasl.sec_query(self, 'CRAM-MD5'): - raise SASLCancelled(self.sasl, self) - - def prep(self): - """ - """ - if 'savepass' not in self.values: - if self.sasl.sec_query(self, 'CLEAR-PASSWORD'): - self.values['savepass'] = True - - if 'savepass' not in self.values: - del self.values['password'] - - def process(self, challenge=None): - """ - """ - if challenge is None: - return None - - self.check_values(['username', 'password']) - username = bytes(self.values['username']) - password = bytes(self.values['password']) - - mac = hmac.HMAC(key=password, digestmod=self.hash) - - mac.update(challenge) - - return username + b' ' + bytes(mac.hexdigest()) - - def okay(self): - """ - """ - return True - - def get_user(self): - """ - """ - return self.values['username'] - - -register_mechanism('CRAM-', 20, CRAM_MD5) |