Re: [PATCH 1/2] imap-send: check for NOLOGIN capability only when using LOGIN command
From: Junio C Hamano <hidden>
Date: 2016-06-16 02:18:43
Kazuki Yamaguchi [off-list ref] writes:
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.
Makes sense. The code with this patch applied implements "An IMAP client which complies with this specification MUST NOT issue the LOGIN command if this capability is present." correctly. Will queue. Thanks.
quoted hunk
Signed-off-by: Kazuki Yamaguchi <redacted> --- imap-send.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)diff --git a/imap-send.c b/imap-send.c index 2c52027c8445..30979f0c63cc 100644 --- a/imap-send.c +++ b/imap-send.c@@ -1095,11 +1095,6 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f 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) { 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; } } 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) imap_warn("*** IMAP Warning *** Password is being " "sent in the clear\n");