home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 February / maximum-cd-2011-02.iso / DiscContents / digsby_setup85.exe / lib / pyxmpp / sasl / core.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-11-24  |  6.4 KB  |  175 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. __revision__ = '$Id: core.py 720 2010-04-20 10:31:35Z jajcus $'
  5. __docformat__ = 'restructuredtext en'
  6. import random
  7. import logging
  8. from binascii import b2a_base64
  9.  
  10. class PasswordManager:
  11.     
  12.     def __init__(self):
  13.         pass
  14.  
  15.     
  16.     def get_password(self, username, realm = None, acceptable_formats = ('plain',)):
  17.         _unused = username
  18.         _unused = realm
  19.         _unused = acceptable_formats
  20.         return (None, None)
  21.  
  22.     
  23.     def check_password(self, username, password, realm = None):
  24.         (_password, format) = self.get_password(username, realm, ('plain',))
  25.         if _password and format == 'plain' and _password == password:
  26.             return True
  27.         return False
  28.  
  29.     
  30.     def get_realms(self):
  31.         return []
  32.  
  33.     
  34.     def choose_realm(self, realm_list):
  35.         if realm_list:
  36.             return realm_list[0]
  37.         return None
  38.  
  39.     
  40.     def check_authzid(self, authzid, extra_info = None):
  41.         if not extra_info:
  42.             extra_info = { }
  43.         
  44.         if not authzid and extra_info.has_key('username'):
  45.             pass
  46.         return extra_info['username'] == authzid
  47.  
  48.     
  49.     def get_serv_type(self):
  50.         return 'unknown'
  51.  
  52.     
  53.     def get_serv_host(self):
  54.         return 'unknown'
  55.  
  56.     
  57.     def get_serv_name(self):
  58.         pass
  59.  
  60.     
  61.     def generate_nonce(self):
  62.         r1 = str(random.random())[2:]
  63.         r2 = str(random.random())[2:]
  64.         return r1 + r2
  65.  
  66.  
  67.  
  68. class Reply:
  69.     
  70.     def __init__(self, data = '', encode = True):
  71.         self.data = data
  72.         self.encode = encode
  73.  
  74.     
  75.     def base64(self):
  76.         if self.data is not None:
  77.             ret = b2a_base64(self.data)
  78.             if ret[-1] == '\n':
  79.                 ret = ret[:-1]
  80.             
  81.             return ret
  82.         return None
  83.  
  84.  
  85.  
  86. class Challenge(Reply):
  87.     
  88.     def __init__(self, data):
  89.         Reply.__init__(self, data)
  90.  
  91.     
  92.     def __repr__(self):
  93.         return '<sasl.Challenge: %r>' % (self.data,)
  94.  
  95.  
  96.  
  97. class Response(Reply):
  98.     
  99.     def __init__(self, data = '', encode = True):
  100.         Reply.__init__(self, data, encode)
  101.  
  102.     
  103.     def __repr__(self):
  104.         return '<sasl.Response: %r>' % (self.data,)
  105.  
  106.  
  107.  
  108. class Failure(Reply):
  109.     
  110.     def __init__(self, reason, encode = True):
  111.         Reply.__init__(self, '', encode)
  112.         self.reason = reason
  113.  
  114.     
  115.     def __repr__(self):
  116.         return '<sasl.Failure: %r>' % (self.reason,)
  117.  
  118.  
  119.  
  120. class Success(Reply):
  121.     
  122.     def __init__(self, username, realm = None, authzid = None, data = None):
  123.         Reply.__init__(self, data)
  124.         self.username = username
  125.         self.realm = realm
  126.         self.authzid = authzid
  127.  
  128.     
  129.     def __repr__(self):
  130.         return '<sasl.Success: authzid: %r data: %r>' % (self.authzid, self.data)
  131.  
  132.  
  133.  
  134. class ClientAuthenticator:
  135.     
  136.     def __init__(self, password_manager):
  137.         self.password_manager = password_manager
  138.         self._ClientAuthenticator__logger = logging.getLogger('pyxmpp.sasl.ClientAuthenticator')
  139.  
  140.     
  141.     def start(self, username, authzid):
  142.         _unused = username
  143.         _unused = authzid
  144.         return Failure('Not implemented')
  145.  
  146.     
  147.     def challenge(self, challenge):
  148.         _unused = challenge
  149.         return Failure('Not implemented')
  150.  
  151.     
  152.     def finish(self, data):
  153.         _unused = data
  154.         return Failure('Not implemented')
  155.  
  156.  
  157.  
  158. class ServerAuthenticator:
  159.     
  160.     def __init__(self, password_manager):
  161.         self.password_manager = password_manager
  162.         self._ServerAuthenticator__logger = logging.getLogger('pyxmpp.sasl.ServerAuthenticator')
  163.  
  164.     
  165.     def start(self, initial_response):
  166.         _unused = initial_response
  167.         return Failure('not-authorized')
  168.  
  169.     
  170.     def response(self, response):
  171.         _unused = response
  172.         return Failure('not-authorized')
  173.  
  174.  
  175.