mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
smtp: Added support for the STLS 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
2f66ca11c1
commit
c76cb3da04
@ -228,8 +228,12 @@ static int smtp_endofresp(struct pingpong *pp, int *resp)
|
||||
line += 4;
|
||||
len -= 4;
|
||||
|
||||
/* Does the server support the STARTTLS capability? */
|
||||
if(len >= 8 && !memcmp(line, "STARTTLS", 8))
|
||||
smtpc->tls_supported = TRUE;
|
||||
|
||||
/* Does the server support the SIZE capability? */
|
||||
if(len >= 4 && !memcmp(line, "SIZE", 4))
|
||||
else if(len >= 4 && !memcmp(line, "SIZE", 4))
|
||||
smtpc->size_supported = TRUE;
|
||||
|
||||
/* Do we have the authentication mechanism list? */
|
||||
@ -237,6 +241,7 @@ static int smtp_endofresp(struct pingpong *pp, int *resp)
|
||||
line += 5;
|
||||
len -= 5;
|
||||
|
||||
/* Loop through the data line */
|
||||
for(;;) {
|
||||
while(len &&
|
||||
(*line == ' ' || *line == '\t' ||
|
||||
|
@ -65,6 +65,7 @@ struct smtp_conn {
|
||||
smtpstate state; /* Always use smtp.c:state() to change state! */
|
||||
struct curl_slist *rcpt; /* Recipient list */
|
||||
bool ssldone; /* Is connect() over SSL done? */
|
||||
bool tls_supported; /* StartTLS capability supported by server */
|
||||
bool size_supported; /* If server supports SIZE extension according to
|
||||
RFC 1870 */
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user