diff --git a/default.nix b/default.nix index fdfaee3..3abdfbc 100644 --- a/default.nix +++ b/default.nix @@ -955,6 +955,21 @@ in ''; }; + smtpdForbidBareNewline = mkOption { + type = types.bool; + default = true; + description = '' + With "smtpd_forbid_bare_newline = yes", the Postfix SMTP server + disconnects a remote SMTP client that sends a line ending in a 'bare + newline'. + + This feature was added in Postfix 3.8.4 against SMTP Smuggling and will + default to "yes" in Postfix 3.9. + + https://www.postfix.org/smtp-smuggling.html + ''; + }; + sendingFqdn = mkOption { type = types.str; default = cfg.fqdn; diff --git a/mail-server/postfix.nix b/mail-server/postfix.nix index 9362e2c..4967e2d 100644 --- a/mail-server/postfix.nix +++ b/mail-server/postfix.nix @@ -309,6 +309,7 @@ in milter_protocol = "6"; milter_mail_macros = "i {mail_addr} {client_addr} {client_name} {auth_type} {auth_authen} {auth_author} {mail_addr} {mail_host} {mail_mailer}"; + smtpd_forbid_bare_newline = cfg.smtpdForbidBareNewline; }; submissionOptions = submissionOptions;