Package pyxmpp :: Module streamsasl :: Class StreamSASLMixIn
[show private | hide private]
[frames | no frames]

Class StreamSASLMixIn

PasswordManager --+
                  |
                 StreamSASLMixIn

Known Subclasses:
Stream

SASL authentication mix-in class for XMPP stream.

Method Summary
  __init__(self, sasl_mechanisms)
Initialize Stream object :Parameters: - `sasl_mechanisms`: sequence of SASL mechanisms allowed for authentication.
  _handle_sasl_features(self)
Process incoming <stream:features/> element.
  _make_stream_sasl_features(self, features)
Add SASL features to the <features/> element of the stream.
  _process_node_sasl(self, xmlnode)
Process incoming stream element.
  _process_sasl_abort(self)
Process incoming <sasl:abort/> element.
  _process_sasl_auth(self, mechanism, content)
Process incoming <sasl:auth/> element.
  _process_sasl_challenge(self, content)
Process incoming <sasl:challenge/> element.
  _process_sasl_failure(self, xmlnode)
Process incoming <sasl:failure/> element.
  _process_sasl_node(self, xmlnode)
Process stream element in the SASL namespace.
  _process_sasl_response(self, content)
Process incoming <sasl:response/> element.
  _process_sasl_success(self, content)
Process incoming <sasl:success/> element.
  _reset_sasl(self)
Reset `StreamSASLMixIn` object state making it ready to handle new connections.
  _sasl_authenticate(self, username, authzid, mechanism)
Start SASL authentication process.
    Inherited from PasswordManager
  check_authzid(self, authzid, extra_info)
Check if the authenticated entity is allowed to use given authorization id.
  check_password(self, username, password, realm)
Check the password validity.
  choose_realm(self, realm_list)
Choose an authentication realm from the list provided by the server.
  generate_nonce(self)
Generate a random string for digest authentication challenges.
  get_password(self, username, realm, acceptable_formats)
Get the password for user authentication.
  get_realms(self)
Get available realms list.
  get_serv_host(self)
Return the host name for DIGEST-MD5 'digest-uri' field.
  get_serv_name(self)
Return the service name for DIGEST-MD5 'digest-uri' field.
  get_serv_type(self)
Return the service type for DIGEST-MD5 'digest-uri' field.

Method Details

__init__(self, sasl_mechanisms=())
(Constructor)

Initialize Stream object

:Parameters:
  - `sasl_mechanisms`: sequence of SASL mechanisms allowed for
    authentication. Currently "PLAIN" and "DIGEST-MD5" are supported.
Overrides:
pyxmpp.sasl.core.PasswordManager.__init__

_handle_sasl_features(self)

Process incoming <stream:features/> element.

[initiating entity only]

The received features node is available in `self.features`.

_make_stream_sasl_features(self, features)

Add SASL features to the <features/> element of the stream.

[receving entity only]

:returns: update <features/> element node.

_process_node_sasl(self, xmlnode)

Process incoming stream element. Pass it to _process_sasl_node
if it is in the SASL namespace.

:return: `True` when the node was recognized as a SASL element.
:returntype: `bool`

_process_sasl_abort(self)

Process incoming <sasl:abort/> element.

[receiving entity only]

_process_sasl_auth(self, mechanism, content)

Process incoming <sasl:auth/> element.

[receiving entity only]

:Parameters:
    - `mechanism`: mechanism choosen by the peer.
    - `content`: optional "initial response" included in the element.

_process_sasl_challenge(self, content)

Process incoming <sasl:challenge/> element.

[initiating entity only]

:Parameters:
    - `content`: the challenge data received (Base64-encoded).

_process_sasl_failure(self, xmlnode)

Process incoming <sasl:failure/> element.

[initiating entity only]

:Parameters:
    - `xmlnode`: the XML node received.

_process_sasl_node(self, xmlnode)

Process stream element in the SASL namespace.

:Parameters:
    - `xmlnode`: the XML node received

_process_sasl_response(self, content)

Process incoming <sasl:response/> element.

[receiving entity only]

:Parameters:
    - `content`: the response data received (Base64-encoded).

_process_sasl_success(self, content)

Process incoming <sasl:success/> element.

[initiating entity only]

:Parameters:
    - `content`: the "additional data with success" received (Base64-encoded).

_reset_sasl(self)

Reset `StreamSASLMixIn` object state making it ready to handle new
connections.

_sasl_authenticate(self, username, authzid, mechanism=None)

Start SASL authentication process.

[initiating entity only]

:Parameters:
    - `username`: user name.
    - `authzid`: authorization ID.
    - `mechanism`: SASL mechanism to use.

Generated by Epydoc 2.1 on Wed May 31 22:37:00 2006 http://epydoc.sf.net