mirror of
https://github.com/moparisthebest/curl
synced 2024-11-15 22:15:13 -05:00
imap: Added support for the STARTTLS capability (Part One)
Introduced detection of the STARTTLS capability, in order to add support for TLS upgrades without unconditionally sending the STARTTLS command.
This commit is contained in:
parent
8170d1f828
commit
a1701eea28
@ -371,8 +371,12 @@ static int imap_endofresp(struct pingpong *pp, int *resp)
|
|||||||
line[wordlen] != '\n';)
|
line[wordlen] != '\n';)
|
||||||
wordlen++;
|
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? */
|
/* 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;
|
imapc->login_disabled = TRUE;
|
||||||
|
|
||||||
/* Does the server support the SASL-IR capability? */
|
/* Does the server support the SASL-IR capability? */
|
||||||
|
@ -62,6 +62,7 @@ struct imap_conn {
|
|||||||
int cmdid; /* Last used command ID */
|
int cmdid; /* Last used command ID */
|
||||||
char resptag[5]; /* Response tag to wait for */
|
char resptag[5]; /* Response tag to wait for */
|
||||||
bool ssldone; /* Is connect() over SSL done? */
|
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 login_disabled; /* LOGIN command explicitly disabled by server */
|
||||||
bool ir_supported; /* Initial response supported by server */
|
bool ir_supported; /* Initial response supported by server */
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user