postfix: ETRN discarded from EHLO silently
After the 2.14.4 rollout the test server's mail.log held "discarding EHLO keywords: ETRN" for every connection on every port: smtpd logs a discard unless the mask has EHLO_MASK_SILENT (Postfix 3.10.13, src/smtpd/smtpd.c:2016; src/global/ehlo_mask.c:88 "SILENT-DISCARD"; postconf(5) smtpd_discard_ehlo_keywords, "Specify the silent-discard pseudo keyword to prevent this action from being logged"). smtpd_discard_ehlo_keywords is now silent-discard,etrn; ETRN is still refused (smtpd_etrn_restrictions=reject) and still not offered. make e2e (64 passed; checkPostfixHardening reads the value back, testInboundRelay still sees no ETRN in EHLO and 554) and go vet + go test (26 packages) on the test server for this tree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -168,7 +168,7 @@ func checkPostfixHardening(s *stack) error {
|
||||
return fmt.Errorf("postconf: %v\n%s", err, out)
|
||||
}
|
||||
got := strings.Split(strings.TrimSpace(out), "\n")
|
||||
want := []string{">=TLSv1.2", ">=TLSv1.2", "yes", "$myhostname ESMTP", "reject", "etrn"}
|
||||
want := []string{">=TLSv1.2", ">=TLSv1.2", "yes", "$myhostname ESMTP", "reject", "silent-discard,etrn"}
|
||||
if strings.Join(got, "|") != strings.Join(want, "|") {
|
||||
return fmt.Errorf("postconf -h of the hardened settings = %q, want %q", got, want)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user