view src/login-common/sasl-server.h @ 4301:0e10b01960a0 HEAD

IMAP: Reply with tagged BAD if authentication is aborted because client sent "*" or something else that was a client error. If authentication failed for any reason, the error message was always "Authentication failed". In case of client errors or if auth process gave an error message, it should have been that instead.
author Timo Sirainen <tss@iki.fi>
date Mon, 05 Jun 2006 23:25:39 +0300
parents e44a84dc947c
children e4eb71ae8e96
line wrap: on
line source

#ifndef __SASL_SERVER_H
#define __SASL_SERVER_H

enum sasl_server_reply {
	SASL_SERVER_REPLY_SUCCESS,
	SASL_SERVER_REPLY_AUTH_FAILED,
	SASL_SERVER_REPLY_CLIENT_ERROR,
	SASL_SERVER_REPLY_MASTER_FAILED,
	SASL_SERVER_REPLY_CONTINUE
};

typedef void sasl_server_callback_t(struct client *client,
				    enum sasl_server_reply reply,
				    const char *data, const char *const *args);

void sasl_server_auth_begin(struct client *client,
			    const char *service, const char *mech_name,
			    const char *initial_resp_base64,
			    sasl_server_callback_t *callback);
void sasl_server_auth_failed(struct client *client, const char *reason);
void sasl_server_auth_client_error(struct client *client, const char *reason);

#endif