diff options
Diffstat (limited to 'camel/providers/pop3/camel-pop3-store.c')
-rw-r--r-- | camel/providers/pop3/camel-pop3-store.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c index 82aa051015..fbdae86833 100644 --- a/camel/providers/pop3/camel-pop3-store.c +++ b/camel/providers/pop3/camel-pop3-store.c @@ -161,20 +161,30 @@ connect_to_server (CamelService *service, int ssl_mode, int try_starttls, CamelE port = service->url->port ? service->url->port : 110; + if (ssl_mode != USE_SSL_NEVER) { #ifdef HAVE_SSL - if (camel_url_get_param (service->url, "use_ssl")) { if (try_starttls) { tcp_stream = camel_tcp_stream_ssl_new_raw (service->session, service->url->host, STARTTLS_FLAGS); } else { port = service->url->port ? service->url->port : 995; tcp_stream = camel_tcp_stream_ssl_new (service->session, service->url->host, SSL_PORT_FLAGS); } +#else + if (!try_starttls) + port = service->url->port ? service->url->port : 995; + + camel_exception_setv (ex, CAMEL_EXCEPTION_SERVICE_UNAVAILABLE, + _("Could not connect to %s (port %d): %s"), + service->url->host, port, + _("SSL unavailable")); + + camel_free_host (h); + + return FALSE; +#endif /* HAVE_SSL */ } else { tcp_stream = camel_tcp_stream_raw_new (); } -#else - tcp_stream = camel_tcp_stream_raw_new (); -#endif /* HAVE_SSL */ ret = camel_tcp_stream_connect (CAMEL_TCP_STREAM (tcp_stream), h, port); camel_free_host (h); |