From 13596a2d224d1a71cd5b6d46fc0e9e00c8afd331 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Mon, 1 Nov 2004 20:54:35 +0000 Subject: Do the same SSL->TLS and TLS->CLEAR fallbacks that the 2.0 (and older) 2004-11-01 Jeffrey Stedfast * providers/smtp/camel-smtp-transport.c (connect_to_server_wrapper): Do the same SSL->TLS and TLS->CLEAR fallbacks that the 2.0 (and older) code did. * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper): Same. * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper): Same. * providers/imap/camel-imap-store.c (connect_to_server_wrapper): Same. --- camel/ChangeLog | 12 ++++++++++++ camel/providers/imap/camel-imap-store.c | 13 ++++++++----- camel/providers/imap4/camel-imap4-store.c | 5 ++++- camel/providers/pop3/camel-pop3-store.c | 5 ++++- camel/providers/smtp/camel-smtp-transport.c | 5 ++++- 5 files changed, 32 insertions(+), 8 deletions(-) diff --git a/camel/ChangeLog b/camel/ChangeLog index 14e178699..80ca2c8a6 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,15 @@ +2004-11-01 Jeffrey Stedfast + + * providers/smtp/camel-smtp-transport.c + (connect_to_server_wrapper): Do the same SSL->TLS and TLS->CLEAR + fallbacks that the 2.0 (and older) code did. + + * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper): Same. + + * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper): Same. + + * providers/imap/camel-imap-store.c (connect_to_server_wrapper): Same. + 2004-11-01 Jeffrey Stedfast * providers/imap4/camel-imap4-summary.c diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index afe9ed8c4..b22743e72 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -872,9 +872,9 @@ static struct { } ssl_options[] = { { "", "imaps", IMAPS_PORT, MODE_SSL }, /* really old (1.x) */ { "always", "imaps", IMAPS_PORT, MODE_SSL }, - { "when-possible", "imap", IMAP_PORT, MODE_TLS }, - { "never", "imap", IMAP_PORT, MODE_CLEAR }, - { NULL, "imap", IMAP_PORT, MODE_CLEAR }, + { "when-possible", "imap", IMAP_PORT, MODE_TLS }, + { "never", "imap", IMAP_PORT, MODE_CLEAR }, + { NULL, "imap", IMAP_PORT, MODE_CLEAR }, }; static gboolean @@ -918,8 +918,11 @@ connect_to_server_wrapper (CamelService *service, CamelException *ex) } if (ai == NULL) return FALSE; - - ret = connect_to_server (service, ai, mode, ex); + + if (!(ret = connect_to_server (service, ai, mode, ex)) && mode == MODE_SSL) + ret = connect_to_server (service, ai, MODE_TLS, ex); + else if (!ret && mode == MODE_TLS) + ret = connect_to_server (service, ai, MODE_CLEAR, ex); camel_freeaddrinfo (ai); diff --git a/camel/providers/imap4/camel-imap4-store.c b/camel/providers/imap4/camel-imap4-store.c index 6d0bf79b6..e5dab71f6 100644 --- a/camel/providers/imap4/camel-imap4-store.c +++ b/camel/providers/imap4/camel-imap4-store.c @@ -351,7 +351,10 @@ connect_to_server_wrapper (CamelIMAP4Engine *engine, CamelException *ex) if (ai == NULL) return FALSE; - ret = connect_to_server (engine, ai, mode, ex); + if (!(ret = connect_to_server (engine, ai, mode, ex)) && mode == MODE_SSL) + ret = connect_to_server (engine, ai, MODE_TLS, ex); + else if (!ret && mode == MODE_TLS) + ret = connect_to_server (engine, ai, MODE_CLEAR, ex); camel_freeaddrinfo (ai); diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c index 75868910f..3fcfef3fb 100644 --- a/camel/providers/pop3/camel-pop3-store.c +++ b/camel/providers/pop3/camel-pop3-store.c @@ -319,7 +319,10 @@ connect_to_server_wrapper (CamelService *service, CamelException *ex) if (ai == NULL) return FALSE; - ret = connect_to_server (service, ai, mode, ex); + if (!(ret = connect_to_server (service, ai, mode, ex)) && mode == MODE_SSL) + ret = connect_to_server (service, ai, MODE_TLS, ex); + else if (!ret && mode == MODE_TLS) + ret = connect_to_server (service, ai, MODE_CLEAR, ex); camel_freeaddrinfo (ai); diff --git a/camel/providers/smtp/camel-smtp-transport.c b/camel/providers/smtp/camel-smtp-transport.c index e3d6ad3f3..ba89c440f 100644 --- a/camel/providers/smtp/camel-smtp-transport.c +++ b/camel/providers/smtp/camel-smtp-transport.c @@ -427,7 +427,10 @@ connect_to_server_wrapper (CamelService *service, CamelException *ex) if (ai == NULL) return FALSE; - ret = connect_to_server (service, ai, mode, ex); + if (!(ret = connect_to_server (service, ai, mode, ex)) && mode == MODE_SSL) + ret = connect_to_server (service, ai, MODE_TLS, ex); + else if (!ret && mode == MODE_TLS) + ret = connect_to_server (service, ai, MODE_CLEAR, ex); camel_freeaddrinfo (ai); -- cgit v1.2.1