summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-05-02 14:24:09 -0700
committerJunio C Hamano <gitster@pobox.com>2016-05-02 14:24:10 -0700
commite18ace0951febce5a5fa9eeecfec4e523b1d6146 (patch)
tree8286c9acdb0282a0cf789e2fe862b77aa529b8f7
parent12c5cd774e26acfea66e19e8fba53faf9507322f (diff)
parenteb94ee7f0f38cd24270bfb2f655cdec214a4d6e0 (diff)
downloadgit-e18ace0951febce5a5fa9eeecfec4e523b1d6146.tar.gz
Merge branch 'ky/imap-send' into maint
Support for CRAM-MD5 authentication method in "git imap-send" did not work well. * ky/imap-send: imap-send: fix CRAM-MD5 response calculation imap-send: check for NOLOGIN capability only when using LOGIN command
-rw-r--r--imap-send.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/imap-send.c b/imap-send.c
index 2c52027c84..407e46bc8c 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -890,7 +890,7 @@ static char *cram(const char *challenge_64, const char *user, const char *pass)
/* response: "<user> <digest in hex>" */
response = xstrfmt("%s %s", user, hex);
- resp_len = strlen(response) + 1;
+ resp_len = strlen(response);
response_64 = xmallocz(ENCODED_SIZE(resp_len));
encoded_len = EVP_EncodeBlock((unsigned char *)response_64,
@@ -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");