From: Steve Holme Date: Fri, 7 Feb 2020 19:57:15 +0000 (+0000) Subject: smtp: Detect server support for the UTF-8 extension as defined in RFC-6531 X-Git-Tag: curl-7_69_0~74 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4754c55cd7c0f16f2d7bef76d55f09679933571c;p=thirdparty%2Fcurl.git smtp: Detect server support for the UTF-8 extension as defined in RFC-6531 --- diff --git a/lib/smtp.c b/lib/smtp.c index 3c3dfcbd94..6a87849bbb 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 @@ -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 0865d91e7e..164a175d75 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 */ };