pyxmpp.streamtls

Package pyxmpp :: Module streamtls |
[show private | hide private]
[frames | no frames]

## Module pyxmpp.streamtls

TLS support for XMPP streams.

Normative reference:
  - RFC 3920

Classes
`StreamTLSMixIn` | Mix-in class providing TLS support for an XMPP stream.
`TLSSettings` | Storage for TLS-related settings of an XMPP stream.

Exceptions
`TLSError` | Raised on TLS error during stream processing.
`TLSNegotiationFailed` | Raised when stream TLS negotiation fails.

Function Summary
| ``cert_verify_callback`(ssl_ctx_ptr, x509_ptr, errnum, depth, ok)` Pass control to the right verification function for a TLS connection.

Variable Summary
`str` | `__revision__` = `'$Id: streamtls.py 603 2005-10-14 16:06:2...`
`int` | `TLS_ERR_BAD_CN` = 1001
`str` | `TLS_NS` = `'urn:ietf:params:xml:ns:xmpp-tls'`

Imported modules:
  `errno`, `logging`, `M2Crypto`, `socket`, `M2Crypto.SSL`, `sys`
Imported classes:
  `SSLError`, `StreamBase`
Imported exceptions:
  `FatalStreamError`, `StreamEncryptionRequired`
Imported variables:
  `STREAM_NS`, `tls_available`

Function Details

### cert_verify_callback(ssl_ctx_ptr, x509_ptr, errnum, depth, ok) Pass control to the right verification function for a TLS connection. M2Crypto doesn't associate verification callbacks with connection, so we have one global callback, which finds and calls right callback. Parameters: `ssl_ctx_ptr` - TLS context pointer. `x509_ptr` - X.509 certificate pointer. `errnum` - error number. `depth` - verification depth. `ok` - current verification result.

Variable Details

    ### __revision__ Type: `str` Value:
        '$Id: streamtls.py 603 2005-10-14 16:06:24Z jajcus $'

    ### TLS_ERR_BAD_CN Type: `int` Value:
        1001

    ### TLS_NS Type: `str` Value:
        'urn:ietf:params:xml:ns:xmpp-tls'