diff options
author | Steve Holme <steve_holme@hotmail.com> | 2020-02-07 19:57:15 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2020-02-26 14:04:37 +0000 |
commit | 4754c55cd7c0f16f2d7bef76d55f09679933571c (patch) | |
tree | dbea763650336de2616b0f580b8fb64f5f052b59 | |
parent | 2aa6c1735a84f6df11b5f5863a704034b820c925 (diff) |
smtp: Detect server support for the UTF-8 extension as defined in RFC-6531
-rw-r--r-- | lib/smtp.c | 5 | ||||
-rw-r--r-- | lib/smtp.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/smtp.c b/lib/smtp.c index 3c3dfcbd9..6a87849bb 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -29,6 +29,7 @@ * RFC5321 SMTP protocol * RFC5890 Internationalized Domain Names for Applications (IDNA) * RFC6531 SMTP Extension for Internationalized Email + * RFC6532 Internationalized Email Headers * RFC6749 OAuth 2.0 Authorization Framework * RFC8314 Use of TLS for Email Submission and Access * Draft SMTP URL Interface <draft-earhart-url-smtp-00.txt> @@ -802,6 +803,10 @@ static CURLcode smtp_state_ehlo_resp(struct connectdata *conn, int smtpcode, else if(len >= 4 && !memcmp(line, "SIZE", 4)) smtpc->size_supported = TRUE; + /* Does the server support the UTF-8 capability? */ + else if(len >= 8 && !memcmp(line, "SMTPUTF8", 8)) + smtpc->utf8_supported = TRUE; + /* Does the server support authentication? */ else if(len >= 5 && !memcmp(line, "AUTH ", 5)) { smtpc->auth_supported = TRUE; diff --git a/lib/smtp.h b/lib/smtp.h index 0865d91e7..164a175d7 100644 --- a/lib/smtp.h +++ b/lib/smtp.h @@ -74,6 +74,8 @@ struct smtp_conn { bool tls_supported; /* StartTLS capability supported by server */ bool size_supported; /* If server supports SIZE extension according to RFC 1870 */ + bool utf8_supported; /* If server supports SMTPUTF8 extension according + to RFC 6531 */ bool auth_supported; /* AUTH capability supported by server */ }; |