diff options
Diffstat (limited to 'camel/providers/imap/camel-imap-store.c')
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index 75c609a6bf..ccba426398 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -1257,8 +1257,10 @@ imap_auth_loop (CamelService *service, CamelException *ex) CamelImapResponse *response; char *errbuf = NULL; gboolean authenticated = FALSE; + const char *auth_domain; CAMEL_SERVICE_ASSERT_LOCKED (store, connect_lock); + auth_domain = camel_url_get_param (service->url, "auth-domain"); if (store->preauthed) { if (camel_verbose_debug) @@ -1295,7 +1297,7 @@ imap_auth_loop (CamelService *service, CamelException *ex) while (!authenticated) { if (errbuf) { /* We need to un-cache the password before prompting again */ - camel_session_forget_password (session, service, NULL, "password", ex); + camel_session_forget_password (session, service, auth_domain, "password", ex); g_free (service->url->passwd); service->url->passwd = NULL; } @@ -1309,7 +1311,7 @@ imap_auth_loop (CamelService *service, CamelException *ex) service->url->user, service->url->host); service->url->passwd = - camel_session_get_password (session, service, NULL, + camel_session_get_password (session, service, auth_domain, prompt, "password", CAMEL_SESSION_PASSWORD_SECRET, ex); g_free (prompt); g_free (errbuf); |