CamelTcpStreamSSL

CamelTcpStreamSSL

Synopsis

struct              CamelTcpStreamSSL;
enum                CamelTcpStreamSSLFlags;
CamelStream *       camel_tcp_stream_ssl_new            (CamelSession *session,
                                                         const gchar *expected_host,
                                                         CamelTcpStreamSSLFlags flags);
CamelStream *       camel_tcp_stream_ssl_new_raw        (CamelSession *session,
                                                         const gchar *expected_host,
                                                         CamelTcpStreamSSLFlags flags);
gint                camel_tcp_stream_ssl_enable_ssl     (CamelTcpStreamSSL *ssl,
                                                         GCancellable *cancellable,
                                                         GError **error);

Description

Details

struct CamelTcpStreamSSL

struct CamelTcpStreamSSL {
	CamelTcpStreamRaw parent_object;
	CamelTcpStreamSSLPrivate *priv;
};

enum CamelTcpStreamSSLFlags

typedef enum {
 /*< flags >*/
	CAMEL_TCP_STREAM_SSL_ENABLE_SSL2 = 1 << 0,
	CAMEL_TCP_STREAM_SSL_ENABLE_SSL3 = 1 << 1,
	CAMEL_TCP_STREAM_SSL_ENABLE_TLS = 1 << 2
} CamelTcpStreamSSLFlags;

CAMEL_TCP_STREAM_SSL_ENABLE_SSL2

CAMEL_TCP_STREAM_SSL_ENABLE_SSL3

CAMEL_TCP_STREAM_SSL_ENABLE_TLS


camel_tcp_stream_ssl_new ()

CamelStream *       camel_tcp_stream_ssl_new            (CamelSession *session,
                                                         const gchar *expected_host,
                                                         CamelTcpStreamSSLFlags 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 CamelTcpStreamSSLFlags

Returns :

a new CamelTcpStreamSSL stream preset in SSL mode

camel_tcp_stream_ssl_new_raw ()

CamelStream *       camel_tcp_stream_ssl_new_raw        (CamelSession *session,
                                                         const gchar *expected_host,
                                                         CamelTcpStreamSSLFlags 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 CamelTcpStreamSSLFlags

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,
                                                         GCancellable *cancellable,
                                                         GError **error);

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

ssl :

a CamelTcpStreamSSL object

cancellable :

optional GCancellable object, or NULL

error :

return location for a GError, or NULL

Returns :

0 on success or -1 on fail