aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2020-02-07 19:57:15 +0000
committerSteve Holme <steve_holme@hotmail.com>2020-02-26 14:04:37 +0000
commit4754c55cd7c0f16f2d7bef76d55f09679933571c (patch)
treedbea763650336de2616b0f580b8fb64f5f052b59
parent2aa6c1735a84f6df11b5f5863a704034b820c925 (diff)
smtp: Detect server support for the UTF-8 extension as defined in RFC-6531
-rw-r--r--lib/smtp.c5
-rw-r--r--lib/smtp.h2
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 */
};