diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-02-06 03:55:54 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-02-06 03:55:54 +0800 |
commit | ddfc033633f5db2c7f2c1a4de179d9029cbf1a6f (patch) | |
tree | 65cffcdf719d71a55a351122afc51d7be6d465fa /camel/providers/imap/camel-imap-store.c | |
parent | e582e23949ac7cb3e4d72ee50957a105ce30e1be (diff) | |
download | gsoc2013-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.c | 25 |
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); } |