Strophe 0.14
XMPP client library
tls.h File Reference

TLS abstraction API. More...

Data Structures

struct  xmpp_tlscert_t

Functions

void tls_initialize (void)
void tls_shutdown (void)
tls_t * tls_new (xmpp_conn_t *conn)
void tls_free (tls_t *tls)
char * tls_id_on_xmppaddr (xmpp_conn_t *conn, unsigned int n)
 Search through the SubjectAlternativeNames and return the next id-on-xmppAddr element starting from n.
unsigned int tls_id_on_xmppaddr_num (xmpp_conn_t *conn)
xmpp_tlscert_t * tls_peer_cert (xmpp_conn_t *conn)
int tls_set_credentials (tls_t *tls, const char *cafilename)
int tls_init_channel_binding (tls_t *tls, const char **binding_prefix, size_t *binding_prefix_len)
const void * tls_get_channel_binding_data (tls_t *tls, size_t *size)
int tls_start (tls_t *tls)
int tls_stop (tls_t *tls)
int tls_pending (struct conn_interface *intf)
int tls_read (struct conn_interface *intf, void *buff, size_t len)
int tls_write (struct conn_interface *intf, const void *buff, size_t len)
int tls_clear_pending_write (struct conn_interface *intf)
int tls_error (struct conn_interface *intf)
int tls_is_recoverable (struct conn_interface *intf, int error)
xmpp_tlscert_t * tlscert_new (xmpp_ctx_t *ctx)
 Allocate and initialize a Strophe TLS certificate object.
int tlscert_add_dnsname (xmpp_tlscert_t *cert, const char *dnsname)
 Add a dnsName to the Strophe TLS certificate object.
int tls_caching_password_callback (char *pw, size_t pw_max, xmpp_conn_t *conn)
void tls_clear_password_cache (xmpp_conn_t *conn)

Variables

const struct conn_interface tls_intf

Detailed Description

TLS abstraction API.

Function Documentation

◆ tls_initialize()

void tls_initialize ( void )

◆ tls_shutdown()

void tls_shutdown ( void )

◆ tls_new()

tls_t * tls_new ( xmpp_conn_t * conn)

◆ tls_free()

void tls_free ( tls_t * tls)

◆ tls_id_on_xmppaddr()

char * tls_id_on_xmppaddr ( xmpp_conn_t * conn,
unsigned int n )

Search through the SubjectAlternativeNames and return the next id-on-xmppAddr element starting from n.

◆ tls_id_on_xmppaddr_num()

unsigned int tls_id_on_xmppaddr_num ( xmpp_conn_t * conn)

◆ tls_peer_cert()

xmpp_tlscert_t * tls_peer_cert ( xmpp_conn_t * conn)

◆ tls_set_credentials()

int tls_set_credentials ( tls_t * tls,
const char * cafilename )

◆ tls_init_channel_binding()

int tls_init_channel_binding ( tls_t * tls,
const char ** binding_prefix,
size_t * binding_prefix_len )

◆ tls_get_channel_binding_data()

const void * tls_get_channel_binding_data ( tls_t * tls,
size_t * size )

◆ tls_start()

int tls_start ( tls_t * tls)

◆ tls_stop()

int tls_stop ( tls_t * tls)

◆ tls_pending()

int tls_pending ( struct conn_interface * intf)

◆ tls_read()

int tls_read ( struct conn_interface * intf,
void * buff,
size_t len )

◆ tls_write()

int tls_write ( struct conn_interface * intf,
const void * buff,
size_t len )

◆ tls_clear_pending_write()

int tls_clear_pending_write ( struct conn_interface * intf)

◆ tls_error()

int tls_error ( struct conn_interface * intf)

◆ tls_is_recoverable()

int tls_is_recoverable ( struct conn_interface * intf,
int error )

◆ tlscert_new()

xmpp_tlscert_t * tlscert_new ( xmpp_ctx_t * ctx)

Allocate and initialize a Strophe TLS certificate object.

Parameters
ctxa Strophe context object
Returns
a certificate object or NULL

◆ tlscert_add_dnsname()

int tlscert_add_dnsname ( xmpp_tlscert_t * cert,
const char * dnsname )

Add a dnsName to the Strophe TLS certificate object.

Parameters
certa Strophe TLS certificate object
dnsnamednsName that shall be stored
Returns
classic Unix style - 0=success, 1=error

◆ tls_caching_password_callback()

int tls_caching_password_callback ( char * pw,
size_t pw_max,
xmpp_conn_t * conn )

◆ tls_clear_password_cache()

void tls_clear_password_cache ( xmpp_conn_t * conn)

Variable Documentation

◆ tls_intf

const struct conn_interface tls_intf
extern