imap-send: check for NOLOGIN capability only when using LOGIN command

Don't check for NOLOGIN (LOGINDISABLED) capability when imap.authMethod
is specified.

LOGINDISABLED capability doesn't forbid using AUTHENTICATE, so it should
be allowed, or we can't connect to IMAP servers which only accepts
AUTHENTICATE command.

Signed-off-by: Kazuki Yamaguchi <k@rhe.jp>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Kazuki Yamaguchi 2016-04-08 23:02:24 +09:00 коммит произвёл Junio C Hamano
Родитель d95553a6b8
Коммит 6c50a57595
1 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -1095,11 +1095,6 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f
srvc->pass = xstrdup(cred.password); srvc->pass = xstrdup(cred.password);
} }
if (CAP(NOLOGIN)) {
fprintf(stderr, "Skipping account %s@%s, server forbids LOGIN\n", srvc->user, srvc->host);
goto bail;
}
if (srvc->auth_method) { if (srvc->auth_method) {
struct imap_cmd_cb cb; struct imap_cmd_cb cb;
@ -1123,6 +1118,11 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f
goto bail; goto bail;
} }
} else { } else {
if (CAP(NOLOGIN)) {
fprintf(stderr, "Skipping account %s@%s, server forbids LOGIN\n",
srvc->user, srvc->host);
goto bail;
}
if (!imap->buf.sock.ssl) if (!imap->buf.sock.ssl)
imap_warn("*** IMAP Warning *** Password is being " imap_warn("*** IMAP Warning *** Password is being "
"sent in the clear\n"); "sent in the clear\n");