sasl-server.h revision 3b22894b8805b186c73d8b754001e8d7e944be85
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody#ifndef SASL_SERVER_H
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody#define SASL_SERVER_H
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmodystruct client;
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmodyenum sasl_server_reply {
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody SASL_SERVER_REPLY_SUCCESS,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody SASL_SERVER_REPLY_AUTH_FAILED,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody SASL_SERVER_REPLY_AUTH_ABORTED,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody SASL_SERVER_REPLY_MASTER_FAILED,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody SASL_SERVER_REPLY_MASTER_ABORTED,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody SASL_SERVER_REPLY_CONTINUE
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody};
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmodytypedef void sasl_server_callback_t(struct client *client,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody enum sasl_server_reply reply,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody const char *data, const char *const *args);
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmodyconst struct auth_mech_desc *
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmodysasl_server_get_advertised_mechs(struct client *client, unsigned int *count_r);
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmodyvoid sasl_server_auth_begin(struct client *client,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody const char *service, const char *mech_name,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody const char *initial_resp_base64,
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody sasl_server_callback_t *callback);
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmodyvoid sasl_server_auth_failed(struct client *client, const char *reason);
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmodyvoid sasl_server_auth_abort(struct client *client);
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody#endif
42826d96c8d0bba9eddc85b01bf70d7db571ae7fPhil Carmody