From: Arnt Gulbrandsen Date: Mon, 12 Jun 2023 10:38:15 +0000 (+0200) Subject: lmtp: Add support for SMTPUTF8 X-Git-Tag: 2.4.0~1552 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8ea0933c8e4cbe8da2f47e91d47c72265037dfbb;p=thirdparty%2Fdovecot%2Fcore.git lmtp: Add support for SMTPUTF8 This is based on code from someone called 'vk'. It's incomplete (needs RFC8265 support at least), but works for him/her. --- diff --git a/src/lib-smtp/smtp-server-cmd-helo.c b/src/lib-smtp/smtp-server-cmd-helo.c index f915e7e0b1..8f3e9b58e4 100644 --- a/src/lib-smtp/smtp-server-cmd-helo.c +++ b/src/lib-smtp/smtp-server-cmd-helo.c @@ -143,6 +143,9 @@ smtp_server_cmd_ehlo_reply_create(struct smtp_server_cmd_ctx *cmd) smtp_server_reply_ehlo_add_enhancedstatuscodes }, { "PIPELINING", smtp_server_reply_ehlo_add_pipelining }, { "SIZE", smtp_server_reply_ehlo_add_size }, +#ifdef EXPERIMENTAL_MAIL_UTF8 + { "SMTPUTF8", smtp_server_reply_ehlo_add_smtputf8 }, +#endif { "STARTTLS", smtp_server_reply_ehlo_add_starttls }, { "VRFY", smtp_server_reply_ehlo_add_vrfy }, { "XCLIENT", smtp_server_reply_ehlo_add_xclient } diff --git a/src/lib-smtp/smtp-server-reply.c b/src/lib-smtp/smtp-server-reply.c index b5dd605bed..0fadc3b8d3 100644 --- a/src/lib-smtp/smtp-server-reply.c +++ b/src/lib-smtp/smtp-server-reply.c @@ -841,6 +841,11 @@ void smtp_server_reply_ehlo_add_size(struct smtp_server_reply *reply) } } +void smtp_server_reply_ehlo_add_smtputf8(struct smtp_server_reply *reply) +{ + smtp_server_reply_ehlo_add(reply, "SMTPUTF8"); +} + void smtp_server_reply_ehlo_add_starttls(struct smtp_server_reply *reply) { struct smtp_server_cmd_ctx *cmd = &reply->command->context; diff --git a/src/lib-smtp/smtp-server.h b/src/lib-smtp/smtp-server.h index fc869baed6..2c69fe5fbd 100644 --- a/src/lib-smtp/smtp-server.h +++ b/src/lib-smtp/smtp-server.h @@ -801,6 +801,7 @@ void smtp_server_reply_ehlo_add_enhancedstatuscodes( struct smtp_server_reply *reply); void smtp_server_reply_ehlo_add_pipelining(struct smtp_server_reply *reply); void smtp_server_reply_ehlo_add_size(struct smtp_server_reply *reply); +void smtp_server_reply_ehlo_add_smtputf8(struct smtp_server_reply *reply); void smtp_server_reply_ehlo_add_starttls(struct smtp_server_reply *reply); void smtp_server_reply_ehlo_add_vrfy(struct smtp_server_reply *reply); void smtp_server_reply_ehlo_add_xclient(struct smtp_server_reply *reply);