aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap/camel-imap-store.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-02-06 03:55:54 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-02-06 03:55:54 +0800
commitddfc033633f5db2c7f2c1a4de179d9029cbf1a6f (patch)
tree65cffcdf719d71a55a351122afc51d7be6d465fa /camel/providers/imap/camel-imap-store.c
parente582e23949ac7cb3e4d72ee50957a105ce30e1be (diff)
downloadgsoc2013-evolution-ddfc033633f5db2c7f2c1a4de179d9029cbf1a6f.tar
gsoc2013-evolution-ddfc033633f5db2c7f2c1a4de179d9029cbf1a6f.tar.gz
gsoc2013-evolution-ddfc033633f5db2c7f2c1a4de179d9029cbf1a6f.tar.bz2
gsoc2013-evolution-ddfc033633f5db2c7f2c1a4de179d9029cbf1a6f.tar.lz
gsoc2013-evolution-ddfc033633f5db2c7f2c1a4de179d9029cbf1a6f.tar.xz
gsoc2013-evolution-ddfc033633f5db2c7f2c1a4de179d9029cbf1a6f.tar.zst
gsoc2013-evolution-ddfc033633f5db2c7f2c1a4de179d9029cbf1a6f.zip
Updated.
2001-02-05 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (query_auth_types): Updated. * providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types): Updated. * providers/pop3/camel-pop3-store.c (query_auth_types): Updated. * providers/imap/camel-imap-store.c (query_auth_types): Updated. * camel-service.c (camel_service_query_auth_types): Now takes a boolean value to specify whether or not to connect when constructing a supported authtype list. svn path=/trunk/; revision=7979
Diffstat (limited to 'camel/providers/imap/camel-imap-store.c')
-rw-r--r--camel/providers/imap/camel-imap-store.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index f36d5fa797..cd46d56226 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -59,7 +59,7 @@ static CamelRemoteStoreClass *remote_store_class = NULL;
static gboolean imap_connect (CamelService *service, CamelException *ex);
static gboolean imap_disconnect (CamelService *service, gboolean clean, CamelException *ex);
-static GList *query_auth_types (CamelService *service, CamelException *ex);
+static GList *query_auth_types (CamelService *service, gboolean connect, CamelException *ex);
static CamelFolder *get_folder (CamelStore *store, const char *folder_name, guint32 flags, CamelException *ex);
static char *get_folder_name (CamelStore *store, const char *folder_name,
CamelException *ex);
@@ -268,19 +268,26 @@ static CamelServiceAuthType kerberos_v4_authtype = {
#endif
static GList *
-query_auth_types (CamelService *service, CamelException *ex)
+query_auth_types (CamelService *service, gboolean connect, CamelException *ex)
{
GList *types;
-
- if (!connect_to_server (service, ex))
- return NULL;
-
- types = CAMEL_SERVICE_CLASS (remote_store_class)->query_auth_types (service, ex);
+
+ types = CAMEL_SERVICE_CLASS (remote_store_class)->query_auth_types (service, connect, ex);
+
+ if (connect) {
+ if (!connect_to_server (service, ex))
+ return NULL;
+#ifdef HAVE_KRB4
+ if (CAMEL_IMAP_STORE (service)->capabilities &
+ IMAP_CAPABILITY_AUTH_KERBEROS_V4)
+ types = g_list_prepend (types, &kerberos_v4_authtype);
+#endif
+ } else {
#ifdef HAVE_KRB4
- if (CAMEL_IMAP_STORE (service)->capabilities &
- IMAP_CAPABILITY_AUTH_KERBEROS_V4)
types = g_list_prepend (types, &kerberos_v4_authtype);
#endif
+ }
+
return g_list_prepend (types, &password_authtype);
}