2003-10-28  Jeffrey Stedfast  <fejj@ximian.com>

	* Fixes bug #35083

	* providers/imap/camel-imap-store.c (connect_to_server): Same
	here.

	* providers/pop3/camel-pop3-store.c (connect_to_server): Same as
	the smtp changes.

	* providers/smtp/camel-smtp-transport.c (connect_to_server): If
	HAVE_SSL is undefined, don't default to raw connections if the
	option to connect via ssl is set. Instead set an exception and
	return fail.

svn path=/trunk/; revision=23110
This commit is contained in:
Jeffrey Stedfast
2003-10-28 19:01:58 +00:00
committed by Jeffrey Stedfast
parent 5e343da080
commit 535593e504
4 changed files with 57 additions and 12 deletions

View File

@ -1,3 +1,18 @@
2003-10-28 Jeffrey Stedfast <fejj@ximian.com>
* Fixes bug #35083
* providers/imap/camel-imap-store.c (connect_to_server): Same
here.
* providers/pop3/camel-pop3-store.c (connect_to_server): Same as
the smtp changes.
* providers/smtp/camel-smtp-transport.c (connect_to_server): If
HAVE_SSL is undefined, don't default to raw connections if the
option to connect via ssl is set. Instead set an exception and
return fail.
2003-10-27 Frederic Crozat <fcrozat@mandrakesoft.com>
* camel-mime-utils.c: (camel_header_decode_date):

View File

@ -566,20 +566,30 @@ connect_to_server (CamelService *service, int ssl_mode, int try_starttls, CamelE
port = service->url->port ? service->url->port : 143;
#ifdef HAVE_SSL
if (ssl_mode != USE_SSL_NEVER) {
#ifdef HAVE_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 : 993;
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 : 993;
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);

View File

@ -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);

View File

@ -253,20 +253,30 @@ connect_to_server (CamelService *service, int try_starttls, CamelException *ex)
port = service->url->port ? service->url->port : SMTP_PORT;
#ifdef HAVE_SSL
if (transport->flags & CAMEL_SMTP_TRANSPORT_USE_SSL) {
#ifdef HAVE_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 : 465;
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 : 465;
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);