diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 12 | ||||
-rw-r--r-- | camel/camel-sasl-plain.c | 2 | ||||
-rw-r--r-- | camel/providers/smtp/camel-smtp-transport.c | 11 |
3 files changed, 19 insertions, 6 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 23d8169114..bff4dc09bc 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,15 @@ +2002-06-19 Jeffrey Stedfast <fejj@ximian.com> + + * providers/smtp/camel-smtp-transport.c (smtp_connect): Don't + bother trying to authenticate (and thus don't throw up an error + dialog) unless the server is an ESMTP server and supports + authentication. + + * camel-sasl-plain.c: Change the user-friendly name to PLAIN, this + is what it should be. Not "Password" because user's immediately + think that they need authentication when they see "Password" even + if they don't need it at all. + 2002-06-17 Jeffrey Stedfast <fejj@ximian.com> * camel-vee-folder.c (camel_vee_folder_add_folder): Update the diff --git a/camel/camel-sasl-plain.c b/camel/camel-sasl-plain.c index 6965f32c4d..48d1fc9a01 100644 --- a/camel/camel-sasl-plain.c +++ b/camel/camel-sasl-plain.c @@ -29,7 +29,7 @@ #include "camel-service.h" CamelServiceAuthType camel_sasl_plain_authtype = { - N_("Password"), + N_("PLAIN"), N_("This option will connect to the server using a " "simple password."), diff --git a/camel/providers/smtp/camel-smtp-transport.c b/camel/providers/smtp/camel-smtp-transport.c index 924bc04a7b..7e5eddb6a0 100644 --- a/camel/providers/smtp/camel-smtp-transport.c +++ b/camel/providers/smtp/camel-smtp-transport.c @@ -424,6 +424,7 @@ static gboolean smtp_connect (CamelService *service, CamelException *ex) { CamelSmtpTransport *transport = CAMEL_SMTP_TRANSPORT (service); + gboolean has_authtypes; /* We (probably) need to check popb4smtp before we connect ... */ if (service->url->authmech && !strcmp (service->url->authmech, "POPB4SMTP")) { @@ -448,18 +449,18 @@ smtp_connect (CamelService *service, CamelException *ex) return FALSE; /* check to see if AUTH is required, if so...then AUTH ourselves */ - if (service->url->authmech) { + has_authtypes = g_hash_table_size (transport->authtypes) > 0; + if (service->url->authmech && (transport->flags & CAMEL_SMTP_TRANSPORT_IS_ESMTP) && has_authtypes) { CamelSession *session = camel_service_get_session (service); CamelServiceAuthType *authtype; gboolean authenticated = FALSE; char *errbuf = NULL; - if (!(transport->flags & CAMEL_SMTP_TRANSPORT_IS_ESMTP) || - !g_hash_table_lookup (transport->authtypes, service->url->authmech)) { + if (!g_hash_table_lookup (transport->authtypes, service->url->authmech)) { camel_exception_setv (ex, CAMEL_EXCEPTION_SERVICE_CANT_AUTHENTICATE, _("SMTP server %s does not support requested " - "authentication type %s"), service->url->host, - service->url->authmech); + "authentication type %s."), + service->url->host, service->url->authmech); camel_service_disconnect (service, TRUE, NULL); return FALSE; } |