diff options
-rw-r--r-- | lib/imap.c | 6 | ||||
-rw-r--r-- | lib/imap.h | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/imap.c b/lib/imap.c index 9310ee568..efc2f5c57 100644 --- a/lib/imap.c +++ b/lib/imap.c @@ -371,8 +371,12 @@ static int imap_endofresp(struct pingpong *pp, int *resp) line[wordlen] != '\n';) wordlen++; + /* Does the server support the STARTTLS capability? */ + if(len >= 8 && !memcmp(line, "STARTTLS", 8)) + imapc->tls_supported = TRUE; + /* Has the server explicitly disabled clear text authentication? */ - if(wordlen == 13 && !memcmp(line, "LOGINDISABLED", 13)) + else if(wordlen == 13 && !memcmp(line, "LOGINDISABLED", 13)) imapc->login_disabled = TRUE; /* Does the server support the SASL-IR capability? */ diff --git a/lib/imap.h b/lib/imap.h index eeedcff17..a8164c084 100644 --- a/lib/imap.h +++ b/lib/imap.h @@ -62,6 +62,7 @@ struct imap_conn { int cmdid; /* Last used command ID */ char resptag[5]; /* Response tag to wait for */ bool ssldone; /* Is connect() over SSL done? */ + bool tls_supported; /* StartTLS capability supported by server */ bool login_disabled; /* LOGIN command explicitly disabled by server */ bool ir_supported; /* Initial response supported by server */ }; |