aboutsummaryrefslogtreecommitdiffstats
path: root/camel
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
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')
-rw-r--r--camel/ChangeLog4
-rw-r--r--camel/providers/imap/camel-imap-store.c8
2 files changed, 12 insertions, 0 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 8020ffea6e..612fe4300b 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,9 @@
2001-03-13 Dan Winship <danw@ximian.com>
+ * 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.
+
* providers/sendmail/camel-sendmail-transport.c (sendmail_send_to,
sendmail_send): More fixing for exim: It can't deal with "-tif",
you need to say "-t -i -f".
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 {