mech-login.c revision 5965eaa2d972e6264cecaf54091cd43019bc7d1f
/* Copyright (c) 2013-2016 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "str.h"
#include "dsasl-client-private.h"
enum login_state {
STATE_INIT = 0,
};
struct login_dsasl_client {
struct dsasl_client client;
enum login_state state;
};
static int
const unsigned char *input ATTR_UNUSED,
unsigned int input_len ATTR_UNUSED,
const char **error_r)
{
struct login_dsasl_client *client =
(struct login_dsasl_client *)_client;
*error_r = "Server didn't finish authentication";
return -1;
}
return 0;
}
static int
const unsigned char **output_r, unsigned int *output_len_r,
const char **error_r)
{
struct login_dsasl_client *client =
(struct login_dsasl_client *)_client;
*error_r = "authid not set";
return -1;
}
*error_r = "password not set";
return -1;
}
case STATE_INIT:
*output_len_r = 0;
return 0;
case STATE_USER:
return 0;
case STATE_PASS:
return 0;
}
i_unreached();
}
const struct dsasl_client_mech dsasl_client_mech_login = {
.name = "LOGIN",
.struct_size = sizeof(struct login_dsasl_client),
};