summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2015-11-19 10:46:34 +0100
committerMilan Crha <mcrha@redhat.com>2015-11-19 10:47:47 +0100
commit7ce14019da29bd9d05624c45fc0b3b74657a2b88 (patch)
tree691fe607cfd86d2fc1c85389908ba204ee023455
parentf86556eec1e110bddb1f8fd4c4c298cbe97249e0 (diff)
downloadevolution-data-server-7ce14019da29bd9d05624c45fc0b3b74657a2b88.tar.gz
[IMAPx] Doesn't ask for password when a wrong is entered
-rw-r--r--camel/providers/imapx/camel-imapx-server.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index dc1606057..d77901cef 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -2935,11 +2935,14 @@ camel_imapx_server_authenticate_sync (CamelIMAPXServer *is,
ic = camel_imapx_command_new (is, CAMEL_IMAPX_JOB_LOGIN, "LOGIN %s %s", user, password);
}
- if (!camel_imapx_server_process_command_sync (is, ic, _("Failed to authenticate"), cancellable, error))
+ if (!camel_imapx_server_process_command_sync (is, ic, _("Failed to authenticate"), cancellable, error) && (
+ !ic->status || ic->status->result != IMAPX_NO))
result = CAMEL_AUTHENTICATION_ERROR;
else if (ic->status->result == IMAPX_OK)
result = CAMEL_AUTHENTICATION_ACCEPTED;
else if (ic->status->result == IMAPX_NO) {
+ g_clear_error (error);
+
if (camel_imapx_store_is_connecting_concurrent_connection (store)) {
/* At least one connection succeeded, probably max connection limit
set on the server had been reached, thus use special error code