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

  ctx | a 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

  cert | a Strophe TLS certificate object
  dnsname | dnsName 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