19 #ifndef JABBERWERX_SASL_MECH_H
20 #define JABBERWERX_SASL_MECH_H
30 JW_SASL_ERR_ABORTED = 1,
31 JW_SASL_ERR_ACCOUNT_DISABLED = 2,
32 JW_SASL_ERR_CREDENTIALS_EXPIRED = 3,
33 JW_SASL_ERR_ENCRYPTION_REQUIRED = 4,
34 JW_SASL_ERR_INCORRECT_ENCODING = 5,
35 JW_SASL_ERR_INVALID_AUTHZID = 6,
36 JW_SASL_ERR_INVALID_MECHANISM = 7,
37 JW_SASL_ERR_MALFORMED_REQUEST = 8,
38 JW_SASL_ERR_MECHANISM_TOO_WEAK = 9,
39 JW_SASL_ERR_NOT_AUTHORIZED = 10,
40 JW_SASL_ERR_TEMPORARY_AUTH_FAILURE = 11
121 bool needs_base64_encoding,
JABBERWERX_API const char * jw_sasl_mech_get_name(jw_sasl_mech *mech)
#define JABBERWERX_API
Definition: basics.h:32
JABBERWERX_API bool jw_sasl_mech_create(const char *name, jw_sasl_mech_fn_table *fn_table, jw_sasl_mech **mech, jw_err *err)
JABBERWERX_API bool jw_sasl_mech_external_create(jw_htable *config, jw_sasl_mech **mech, jw_err *err)
struct _jw_dom_node jw_dom_node
Definition: dom.h:46
JABBERWERX_API bool jw_sasl_mech_instance_evaluate(jw_sasl_mech_instance *instance, jw_dom_node *in_auth_node, jw_sasl_mech_evaluate_complete_fn cb, void *arg, jw_err *err)
void(* jw_sasl_mech_cdata_evaluate_complete_fn)(jw_sasl_mech_instance *instance, uint8_t *out, size_t out_len, bool needs_base64_encoding, bool done, jw_sasl_error sasl_err)
Definition: sasl_mech.h:117
jw_sasl_mech_cdata_evaluate_fn evaluate_step_fn
Definition: sasl_mech.h:165
bool(* jw_sasl_mech_cdata_evaluate_fn)(jw_sasl_mech_instance *instance, uint8_t *in, size_t in_len, jw_sasl_mech_cdata_evaluate_complete_fn cb, jw_err *err)
Definition: sasl_mech.h:145
JABBERWERX_API void jw_sasl_mech_destroy(jw_sasl_mech *mech)
Definition: sasl_mech.h:153
struct _jw_sasl_mech_instance jw_sasl_mech_instance
Definition: sasl_mech.h:47
JABBERWERX_API bool jw_sasl_mech_plain_create(jw_htable *config, jw_sasl_mech **mech, jw_err *err)
bool(* jw_sasl_mech_init_fn)(jw_sasl_mech_instance *instance, jw_htable *config, jw_err *err)
Definition: sasl_mech.h:63
jw_sasl_error
Definition: sasl_mech.h:27
jw_sasl_mech_clean_fn clean_fn
Definition: sasl_mech.h:158
JABBERWERX_API void jw_sasl_mech_instance_set_data(jw_sasl_mech_instance *instance, void *data)
jw_sasl_mech_init_fn init_fn
Definition: sasl_mech.h:156
JABBERWERX_API jw_sasl_mech * jw_sasl_mech_instance_get_mech(jw_sasl_mech_instance *instance)
jw_sasl_mech_cdata_evaluate_fn evaluate_start_fn
Definition: sasl_mech.h:160
Datatypes and functions for representing the Document Object Model (DOM).
JABBERWERX_API bool jw_sasl_mech_instance_create(jw_htable *config, jw_sasl_mech *mech, jw_sasl_mech_instance **instance, jw_err *err)
struct _jw_htable jw_htable
Definition: htable.h:27
JABBERWERX_API bool jw_sasl_mech_copy(jw_sasl_mech *mech, jw_sasl_mech **copy, jw_err *err)
JABBERWERX_API void * jw_sasl_mech_instance_get_data(jw_sasl_mech_instance *instance)
void(* jw_sasl_mech_evaluate_complete_fn)(jw_sasl_mech_instance *instance, jw_dom_node *out_auth_node, bool done, jw_sasl_error sasl_err, void *arg)
Definition: sasl_mech.h:92
struct _jw_sasl_mech_fn_table jw_sasl_mech_fn_table
Datatypes and functions for hashtables.
void(* jw_sasl_mech_clean_fn)(jw_sasl_mech_instance *instance)
Definition: sasl_mech.h:76
JABBERWERX_API void jw_sasl_mech_instance_destroy(jw_sasl_mech_instance *instance)
struct _jw_sasl_mech jw_sasl_mech
Definition: sasl_mech.h:44