aboutsummaryrefslogtreecommitdiff
path: root/lib/imap.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/imap.c')
-rw-r--r--lib/imap.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/imap.c b/lib/imap.c
index ba6c61078..c39664d86 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -354,8 +354,12 @@ static CURLcode imap_state_starttls_resp(struct connectdata *conn,
(void)instate; /* no use for this yet */
if(imapcode != 'O') {
- failf(data, "STARTTLS denied. %c", imapcode);
- result = CURLE_USE_SSL_FAILED;
+ if(data->set.use_ssl != CURLUSESSL_TRY) {
+ failf(data, "STARTTLS denied. %c", imapcode);
+ result = CURLE_USE_SSL_FAILED;
+ }
+ else
+ result = imap_state_login(conn);
}
else {
if(data->state.used_interface == Curl_if_multi) {