aboutsummaryrefslogtreecommitdiff
path: root/lib/imap.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2011-03-15 10:02:05 +0100
committerDaniel Stenberg <daniel@haxx.se>2011-03-15 10:02:05 +0100
commitcc228ea6f61a4543cbec3568b37bf881ab1010ac (patch)
treef65d5ef31d767ceb451dc2901ef6ad7d34b8ed1e /lib/imap.c
parent211504ba8a31d0696f728eed167b083f0c0f474d (diff)
protocol handler cleanup: SSL awareness
As a follow-up to commit 8831000bc0: don't assume that the SSL powered protocol alternatives are available.
Diffstat (limited to 'lib/imap.c')
-rw-r--r--lib/imap.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/imap.c b/lib/imap.c
index 6ba665770..c0406ea42 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -334,6 +334,15 @@ static CURLcode imap_state_login(struct connectdata *conn)
return CURLE_OK;
}
+#ifdef USE_SSL
+static void imap_to_imaps(struct connectdata *conn)
+{
+ conn->handler = &Curl_handler_imaps;
+}
+#else
+#define imap_to_imaps(x)
+#endif
+
/* for STARTTLS responses */
static CURLcode imap_state_starttls_resp(struct connectdata *conn,
int imapcode,
@@ -355,7 +364,7 @@ static CURLcode imap_state_starttls_resp(struct connectdata *conn,
else {
result = Curl_ssl_connect(conn, FIRSTSOCKET);
if(CURLE_OK == result) {
- conn->handler = &Curl_handler_imaps;
+ imap_to_imaps(conn);
result = imap_state_login(conn);
}
}
@@ -372,7 +381,7 @@ static CURLcode imap_state_upgrade_tls(struct connectdata *conn)
result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, &imapc->ssldone);
if(imapc->ssldone) {
- conn->handler = &Curl_handler_imaps;
+ imap_to_imaps(conn);
result = imap_state_login(conn);
state(conn, IMAP_STOP);
}