aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-03-14 01:47:02 +0800
committerDan Winship <danw@src.gnome.org>2001-03-14 01:47:02 +0800
commit7edf4916019dd2535be5b08fce63d579001577d6 (patch)
tree6ec675cae6c1e6fedad4ce90850d3ae3fcb31aae /camel/providers/imap
parent368cd30655ffcfdc79f6298b90d41ce33ddeed35 (diff)
downloadgsoc2013-evolution-7edf4916019dd2535be5b08fce63d579001577d6.tar.gz
gsoc2013-evolution-7edf4916019dd2535be5b08fce63d579001577d6.tar.zst
gsoc2013-evolution-7edf4916019dd2535be5b08fce63d579001577d6.zip
When trying again after a failed password attempt, check if the connection
* providers/imap/camel-imap-store.c (imap_connect): When trying again after a failed password attempt, check if the connection got dropped (which Courier will do) and deal accordingly. svn path=/trunk/; revision=8675
Diffstat (limited to 'camel/providers/imap')
-rw-r--r--camel/providers/imap/camel-imap-store.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index ec65d499b3..c13a584a33 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -464,6 +464,14 @@ imap_connect (CamelService *service, CamelException *ex)
}
}
+ if (!store->connected) {
+ /* Some servers (eg, courier) will disconnect on
+ * a bad password. So reconnect here.
+ */
+ if (!connect_to_server (service, ex))
+ return NULL;
+ }
+
if (authtype)
authenticated = try_auth (store, authtype->authproto, ex);
else {