2 * Copyright notice from original mutt:
3 * Copyright (C) 1999-2001 Brendan Cully <brendan@kublai.com>
5 * This file is part of mutt-ng, see http://www.muttng.org/.
6 * It's licensed under the GNU General Public License,
7 * please see the file GPL in the top level source directory.
10 /* plain LOGIN support */
17 #include "imap_private.h"
20 /* imap_auth_login: Plain LOGIN support */
21 imap_auth_res_t imap_auth_login (IMAP_DATA * idata, const char *method)
23 char q_user[SHORT_STRING], q_pass[SHORT_STRING];
27 if (mutt_bit_isset (idata->capabilities, LOGINDISABLED)) {
28 mutt_message _("LOGIN disabled on this server.");
30 return IMAP_AUTH_UNAVAIL;
33 if (mutt_account_getuser (&idata->conn->account))
34 return IMAP_AUTH_FAILURE;
35 if (mutt_account_getpass (&idata->conn->account))
36 return IMAP_AUTH_FAILURE;
38 mutt_message _("Logging in...");
40 imap_quote_string (q_user, sizeof (q_user), idata->conn->account.user);
41 imap_quote_string (q_pass, sizeof (q_pass), idata->conn->account.pass);
44 /* don't print the password unless we're at the ungodly debugging level
47 if (debuglevel < IMAP_LOG_PASS)
48 dprint (2, (debugfile, "Sending LOGIN command for %s...\n",
49 idata->conn->account.user));
52 snprintf (buf, sizeof (buf), "LOGIN %s %s", q_user, q_pass);
53 rc = imap_exec (idata, buf, IMAP_CMD_FAIL_OK | IMAP_CMD_PASS);
56 return IMAP_AUTH_SUCCESS;
58 mutt_error _("Login failed.");
61 return IMAP_AUTH_FAILURE;