CamelTcpStreamSSL

CamelTcpStreamSSL

Synopsis

struct              CamelTcpStreamSSL;
#define             CAMEL_TCP_STREAM_SSL_ENABLE_SSL2
#define             CAMEL_TCP_STREAM_SSL_ENABLE_SSL3
#define             CAMEL_TCP_STREAM_SSL_ENABLE_TLS
CamelStream *       camel_tcp_stream_ssl_new            (struct _CamelSession *session,
                                                         const gchar *expected_host,
                                                         guint32 flags);
CamelStream *       camel_tcp_stream_ssl_new_raw        (struct _CamelSession *session,
                                                         const gchar *expected_host,
                                                         guint32 flags);
gint                camel_tcp_stream_ssl_enable_ssl     (CamelTcpStreamSSL *ssl);
PRFileDesc *        camel_tcp_stream_ssl_sockfd         (CamelTcpStreamSSL *stream);

Description

Details

struct CamelTcpStreamSSL

struct CamelTcpStreamSSL {
	CamelTcpStream parent_object;

	struct _CamelTcpStreamSSLPrivate *priv;
};


CAMEL_TCP_STREAM_SSL_ENABLE_SSL2

#define CAMEL_TCP_STREAM_SSL_ENABLE_SSL2   (1 << 0)


CAMEL_TCP_STREAM_SSL_ENABLE_SSL3

#define CAMEL_TCP_STREAM_SSL_ENABLE_SSL3   (1 << 1)


CAMEL_TCP_STREAM_SSL_ENABLE_TLS

#define CAMEL_TCP_STREAM_SSL_ENABLE_TLS    (1 << 2)


camel_tcp_stream_ssl_new ()

CamelStream *       camel_tcp_stream_ssl_new            (struct _CamelSession *session,
                                                         const gchar *expected_host,
                                                         guint32 flags);

Since the SSL certificate authenticator may need to prompt the user, a CamelSession is needed. expected_host is needed as a protection against an MITM attack.

session :

an active CamelSession object

expected_host :

host that the stream is expected to connect with

flags :

a bitwise combination of any of CAMEL_TCP_STREAM_SSL_ENABLE_SSL2, CAMEL_TCP_STREAM_SSL_ENABLE_SSL3 or CAMEL_TCP_STREAM_SSL_ENABLE_TLS

Returns :

a new CamelTcpStreamSSL stream preset in SSL mode

camel_tcp_stream_ssl_new_raw ()

CamelStream *       camel_tcp_stream_ssl_new_raw        (struct _CamelSession *session,
                                                         const gchar *expected_host,
                                                         guint32 flags);

Since the SSL certificate authenticator may need to prompt the user, a CamelSession is needed. expected_host is needed as a protection against an MITM attack.

session :

an active CamelSession object

expected_host :

host that the stream is expected to connect with

flags :

a bitwise combination of any of CAMEL_TCP_STREAM_SSL_ENABLE_SSL2, CAMEL_TCP_STREAM_SSL_ENABLE_SSL3 or CAMEL_TCP_STREAM_SSL_ENABLE_TLS

Returns :

a new CamelTcpStreamSSL stream not yet toggled into SSL mode

camel_tcp_stream_ssl_enable_ssl ()

gint                camel_tcp_stream_ssl_enable_ssl     (CamelTcpStreamSSL *ssl);

Toggles an ssl-capable stream into ssl mode (if it isn't already).

ssl :

a CamelTcpStreamSSL object

Returns :

0 on success or -1 on fail

camel_tcp_stream_ssl_sockfd ()

PRFileDesc *        camel_tcp_stream_ssl_sockfd         (CamelTcpStreamSSL *stream);

FIXME Document me!

stream :

a CamelTcpStreamSSL

Returns :

Since 2.30