client-authenticate.c revision 8ac6623677005256bf99ab33a2ed98c69c1d656c
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen/* Copyright (c) 2002-2016 Dovecot authors, see the included COPYING file */
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenvoid client_authenticate_get_capabilities(struct client *client, string_t *str)
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen unsigned int i, count;
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen mech = sasl_server_get_advertised_mechs(client, &count);
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen for (i = 0; i < count; i++) {
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenvoid imap_client_auth_result(struct client *client,
7242e1ce7803b83bc82e239ef111b47c1c72dd4bAndrey Panin const char *text)
d1414c09cf0d58ac983054e2f4e1a1f329272dcfTimo Sirainen /* nothing to be done for IMAP */
e70d5895795732b8247ab9abb045b438e954bc46Timo Sirainen /* IMAP referral
e70d5895795732b8247ab9abb045b438e954bc46Timo Sirainen [nologin] referral host=.. [port=..] [destuser=..]
e70d5895795732b8247ab9abb045b438e954bc46Timo Sirainen NO [REFERRAL imap://destuser;AUTH=..@host:port/] Can't login.
e70d5895795732b8247ab9abb045b438e954bc46Timo Sirainen OK [...] Logged in, but you should use this server instead.
e70d5895795732b8247ab9abb045b438e954bc46Timo Sirainen .. [REFERRAL ..] (Reason from auth server)
1ddec6312bc6882aeb17d4d46d19cbca1723b68bTimo Sirainen if (result == CLIENT_AUTH_RESULT_REFERRAL_SUCCESS) {
1ddec6312bc6882aeb17d4d46d19cbca1723b68bTimo Sirainen client_send_reply_code(client, IMAP_CMD_REPLY_OK,
1ddec6312bc6882aeb17d4d46d19cbca1723b68bTimo Sirainen client_send_reply_code(client, IMAP_CMD_REPLY_NO,
2c38504860da8a8de915f8e0f5f39d7e7bd00cf8Timo Sirainen client_send_reply(client, IMAP_CMD_REPLY_BAD, text);
97c339398f1aba6f315b55a9b6ee6b020e33bea4Timo Sirainen client_send_reply(client, IMAP_CMD_REPLY_NO, text);
97c339398f1aba6f315b55a9b6ee6b020e33bea4Timo Sirainen client_send_reply_code(client, IMAP_CMD_REPLY_NO,
2c38504860da8a8de915f8e0f5f39d7e7bd00cf8Timo Sirainen client_send_reply_code(client, IMAP_CMD_REPLY_NO,
97c339398f1aba6f315b55a9b6ee6b020e33bea4Timo Sirainen client_send_reply_code(client, IMAP_CMD_REPLY_NO,
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen client_send_reply_code(client, IMAP_CMD_REPLY_NO,
8eea67470c1bd8562a62e7445d930bb2079b1a43Timo Sirainen client_send_reply_code(client, IMAP_CMD_REPLY_NO,
2c38504860da8a8de915f8e0f5f39d7e7bd00cf8Timo Sirainenimap_client_auth_begin(struct imap_client *imap_client, const char *mech_name,
0469ed17dafcc56589ce00960a23f4f06817dfb5Timo Sirainen imap_client->client_ignores_capability_resp_code ? 1 : 0,
const unsigned char *data;
int ret;
for (i = 0; i < size; i++) {
if (i == size)
return ret;