Package pyxmpp :: Module streamsasl :: Class StreamSASLMixIn

[hide private]

# Class StreamSASLMixIn

source code

    sasl.core.PasswordManager --+
                                |
                               StreamSASLMixIn

Known Subclasses:
  - stream.Stream

SASL authentication mix-in class for XMPP stream.

Instance Methods | [hide private]

__init__(self, sasl_mechanisms=`(``)`) Initialize Stream object | source code

_reset_sasl(self) Reset StreamSASLMixIn object state making it ready to handle new connections. | source code

_make_stream_sasl_features(self, features) Add SASL features to the <features/> element of the stream. | source code

_handle_sasl_features(self) Process incoming <stream:features/> element. | source code

`bool`

_process_node_sasl(self, xmlnode) Process incoming stream element. | source code

_process_sasl_node(self, xmlnode) Process stream element in the SASL namespace. | source code

_process_sasl_auth(self, mechanism, content) Process incoming <sasl:auth/> element. | source code

_process_sasl_challenge(self, content) Process incoming <sasl:challenge/> element. | source code

_process_sasl_response(self, content) Process incoming <sasl:response/> element. | source code

_process_sasl_success(self, content) Process incoming <sasl:success/> element. | source code

_process_sasl_failure(self, xmlnode) Process incoming <sasl:failure/> element. | source code

_process_sasl_abort(self) Process incoming <sasl:abort/> element. | source code

_sasl_authenticate(self, username, authzid, mechanism=None) Start SASL authentication process. | source code

Inherited from `sasl.core.PasswordManager`: `check_authzid`, `check_password`, `choose_realm`, `generate_nonce`, `get_password`, `get_realms`, `get_serv_host`, `get_serv_name`, `get_serv_type`

Method Details | [hide private]

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

source code

Initialize Stream object

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

### _make_stream_sasl_features(self, features)

source code

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

[receving entity only]

Returns:
  update <features/> element node.

### _handle_sasl_features(self)

source code

Process incoming <stream:features/> element.

[initiating entity only]

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

### _process_node_sasl(self, xmlnode)

source code

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

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

### _process_sasl_node(self, xmlnode)

source code

Process stream element in the SASL namespace.

Parameters:
  - `xmlnode` - the XML node received

### _process_sasl_auth(self, mechanism, content)

source code

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)

source code

Process incoming <sasl:challenge/> element.

[initiating entity only]

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

### _process_sasl_response(self, content)

source code

Process incoming <sasl:response/> element.

[receiving entity only]

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

### _process_sasl_success(self, content)

source code

Process incoming <sasl:success/> element.

[initiating entity only]

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

### _process_sasl_failure(self, xmlnode)

source code

Process incoming <sasl:failure/> element.

[initiating entity only]

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

### _process_sasl_abort(self)

source code

Process incoming <sasl:abort/> element.

[receiving entity only]

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

source code

Start SASL authentication process.

[initiating entity only]

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